# Teledyne T3AFG Arbitrary Waveform Generator

class pymeasure.instruments.teledyne.TeledyneT3AFG(adapter, name='Teledyne T3AFG', **kwargs)

  Bases: `SCPIMixin`, `Instrument`

  Represents the Teledyne T3AFG series of arbitrary waveform generator interface for interacting with the instrument.

  Initially targeting T3AFG80, some features may not be available on lower end models and features from higher end models are not included here yet.

  Future improvements (help welcomed):

  - Add other OUTPut related controls like Load and Polarity

  - Add other Basic Waveform related controls like Period

  - Add frequency ranges per model

  - Add channel coupling control

  ch_1
    Channel:

      `SignalChannel`

  ch_2
    Channel:

      `SignalChannel`

  check_errors()

    Read all errors from the instrument.

    Returns:

      List of error entries.

  check_get_errors()

    Check for errors after having gotten a property and log them.

    Called if `check_get_errors=True` is set for that property.

    If you override this method, you may choose to raise an Exception for certain errors.

    Returns:

      List of error entries.

  check_set_errors()

    Check for errors after having set a property and log them.

    Called if `check_set_errors=True` is set for that property.

    If you override this method, you may choose to raise an Exception for certain errors.

    Returns:

      List of error entries.

  clear()

    Clear the instrument status byte.

  property complete

    Get the synchronization bit.

    This property allows synchronization between a controller and a device. The Operation Complete query places an ASCII character 1 into the device’s Output Queue when all pending selected device operations have been finished.

  property id

    Get the identification of the instrument.

  property next_error

    Get the next error in the queue. If you want to read and log all errors, use `check_errors()` instead.

  property options

    Get the device options installed.

  read(**kwargs)

    Read up to (excluding) read_termination or the whole read buffer.

  read_binary_values(**kwargs)

    Read binary values from the device.

  read_bytes(count, **kwargs)

    Read a certain number of bytes from the instrument.

    Parameters:

      - count (int) – Number of bytes to read. A value of -1 indicates to read the whole read buffer.

      - kwargs – Keyword arguments for the adapter.

    Returns bytes:

      Bytes response of the instrument (including termination).

  reset()

    Reset the instrument.

  shutdown()

    Brings the instrument to a safe and stable state

  property status

    Get the status byte and Master Summary Status bit.

  wait_for(query_delay=None)

    Wait for some time. Used by ‘ask’ to wait before reading.

    Parameters:

      query_delay – Delay between writing and reading in seconds. None is default delay.

  write(command, **kwargs)

    Write a string command to the instrument appending write_termination.

    Parameters:

      - command – command string to be sent to the instrument

      - kwargs – Keyword arguments for the adapter.

  write_binary_values(command, values, *args, **kwargs)

    Write binary values to the device.

    Parameters:

      - command – Command to send.

      - values – The values to transmit.

      - **kwargs (*args,) – Further arguments to hand to the Adapter.

  write_bytes(content, **kwargs)

    Write the bytes content to the instrument.

class pymeasure.instruments.teledyne.teledyneT3AFG.SignalChannel(parent, id)

  Bases: `Channel`

  property amplitude

    Control the amplitude of waveform to be output in volts peak-to-peak. Has no effect when WVTP is NOISE or DC. Max amplitude depends on offset, frequency, and load. Amplitude is also limited by the channel max output amplitude.(dynamic)

  property frequency

    Control the frequency of waveform to be output in Hertz. Has no effect when WVTP is NOISE or DC.(dynamic)

  property max_output_amplitude

    Control the maximum output amplitude of the channel in volts peak to peak.(dynamic)

  property offset

    Control the offset of waveform to be output in volts. Has no effect when WVTP is NOISE. Max offset depends on amplitude, frequency, and load. Offset is also limited by the channel max output amplitude.(dynamic)

  property output_enabled

    Control whether the channel output is enabled (boolean).

  property wavetype

    Control the type of waveform to be output. Options are: {‘SINE’, ‘SQUARE’, ‘RAMP’, ‘PULSE’, ‘NOISE’, ‘ARB’, ‘DC’, ‘PRBS’, ‘IQ’}