# devices.keysight:Agilent8114A


Driver for Agilent 8114A High Power Pulse Generator.


Usage

``` python
devices.keysight:Agilent8114A(
    interface,
    **kwargs,
)
```


Manual can be found here: https://www.keysight.com/us/en/assets/9018-05116/user-manuals/9018-05116.pdf


## Methods

| Name | Description |
|----|----|
| [__init__()](#__init__) | Initialize the Agilent 8114A High Power Pulse Generator. |
| [configure()](#configure) | Configure the Agilent 8114A with common settings. |
| [control()](#control) | Set control state to local or remote. |
| [display_state()](#display_state) | Set display state on or off. |
| [last_button()](#last_button) | Return the last pressed button. |
| [reset()](#reset) | Reset instrument to factory details. |
| [set_duty()](#set_duty) | Set duty cycle. |
| [set_duty_lim()](#set_duty_lim) | Specify maximum duty cycle. |
| [set_imp_ext()](#set_imp_ext) | Set impedance of output. |
| [set_imp_int()](#set_imp_int) | Set impedance of input, can be 50 Ohm or 100 Ohm. |
| [set_num()](#set_num) | Specify number of pulses to be sent. |
| [set_output()](#set_output) | Enable or disable output. |
| [set_period()](#set_period) | Set pulse period. |
| [set_polarity()](#set_polarity) | Set pulse voltage polarity. |
| [set_trigger()](#set_trigger) | Set trigger mode for the pulse generator. |
| [set_voltage()](#set_voltage) | Set peak pulse voltage. |
| [set_voltage_offset()](#set_voltage_offset) | Set voltage offset in volt. |
| [set_width()](#set_width) | Set pulse width. |
| [start_pulsing()](#start_pulsing) | Start pulsing operation. |

------------------------------------------------------------------------


### \_\_init\_\_()


Initialize the Agilent 8114A High Power Pulse Generator.


Usage

``` python
__init__(
    interface,
    **kwargs,
)
```


#### Parameters


`interface: str`  
VISA resource name or interface identifier

`**kwargs: dict`  
Additional keyword arguments to pass to the VisaDevice constructor


------------------------------------------------------------------------


### configure()


Configure the Agilent 8114A with common settings.


Usage

``` python
configure(
    p_amp,
    p_offset,
    p_width,
    p_period,
    p_count,
    dut_imp,
)
```


This is a utility function to quickly set up the most common parameters.


#### Parameters


`p_amp: float`  
Pulse amplitude in volts

`p_offset: float`  
Pulse offset in volts

`p_width: float`  
Pulse width in nanoseconds

`p_period: float`  
Pulse period in nanoseconds

`p_count: int`  
Number of pulses to generate

`dut_imp: float`  
Impedance of device under test in ohms


------------------------------------------------------------------------


### control()


Set control state to local or remote.


Usage

``` python
control(state)
```


#### Parameters


`state: str`  
Either "loc" for local control or "rem" for remote control


------------------------------------------------------------------------


### display_state()


Set display state on or off.


Usage

``` python
display_state(display)
```


#### Parameters


`display: bool`  
True to turn display on, False to turn it off


------------------------------------------------------------------------


### last_button()


Return the last pressed button.


Usage

``` python
last_button()
```


#### Returns


`str`  
Identifier of the last pressed button


------------------------------------------------------------------------


### reset()


Reset instrument to factory details.


Usage

``` python
reset()
```


------------------------------------------------------------------------


### set_duty()


Set duty cycle.


Usage

``` python
set_duty(duty)
```


The pulse width is calculated as width = duty/100\*period.


#### Parameters


`duty: float`  
Duty cycle in percent, valid range is 0.1% to 99.9%


------------------------------------------------------------------------


### set_duty_lim()


Specify maximum duty cycle.


Usage

``` python
set_duty_lim(lim)
```


#### Parameters


`lim: float`  
Maximum duty cycle in percent


------------------------------------------------------------------------


### set_imp_ext()


Set impedance of output.


Usage

``` python
set_imp_ext(imp)
```


Disables the output for the setting and reenables if output was on before command was called.


#### Parameters


`imp: float`  
Output impedance in Ohm, valid range is 0.1 to 999e3 Ohm


------------------------------------------------------------------------


### set_imp_int()


Set impedance of input, can be 50 Ohm or 100 Ohm.


Usage

``` python
set_imp_int(imp)
```


#### Parameters


`imp: bool`  
True for 50 Ohm, False for 100 Ohm


------------------------------------------------------------------------


### set_num()


Specify number of pulses to be sent.


Usage

``` python
set_num(count)
```


#### Parameters


`count: int`  
Number of pulses to be sent


------------------------------------------------------------------------


### set_output()


Enable or disable output.


Usage

``` python
set_output(output)
```


#### Parameters


`output: bool`  
True to enable output, False to disable


------------------------------------------------------------------------


### set_period()


Set pulse period.


Usage

``` python
set_period(period)
```


#### Parameters


`period: float`  
Pulse period in nanoseconds, valid range is 66.7 ns to 999 ms


------------------------------------------------------------------------


### set_polarity()


Set pulse voltage polarity.


Usage

``` python
set_polarity(polarity)
```


#### Parameters


`polarity: float`  
Should not be 0. Positive polarity for values larger than 0, negative polarity for values smaller than 0


------------------------------------------------------------------------


### set_trigger()


Set trigger mode for the pulse generator.


Usage

``` python
set_trigger(trig)
```


Different trigger modes are available: - continuous: Start with output = 1 - external/edge/positive slope - manual trigger: Will be used with the start_pulsing() function. It replaces MAN Key button.


#### Parameters


`trig: str`  
One of "continuous", "triggered external", "triggered edge", "triggered positive", "triggered manually"


------------------------------------------------------------------------


### set_voltage()


Set peak pulse voltage.


Usage

``` python
set_voltage(voltage)
```


#### Parameters


`voltage: float`  
Peak voltage in volts, valid range is 1 to 100 V


------------------------------------------------------------------------


### set_voltage_offset()


Set voltage offset in volt.


Usage

``` python
set_voltage_offset(voltage)
```


#### Parameters


`voltage: float`  
Voltage offset in volts, valid range is -25 to 25 V


------------------------------------------------------------------------


### set_width()


Set pulse width.


Usage

``` python
set_width(width)
```


#### Parameters


`width: float`  
Pulse width in nanoseconds, valid range is 10 ns to 949 ms


------------------------------------------------------------------------


### start_pulsing()


Start pulsing operation.


Usage

``` python
start_pulsing()
```


Initiates the pulse generation according to the configured settings.
