# ROD-4 MFC Controller

class pymeasure.instruments.proterial.ROD4(adapter, name='ROD-4 MFC Controller', **kwargs)

  Bases: `Instrument`

  Represents the Proterial ROD-4(A) operator for mass flow controllers and provides a high-level interface for interacting with the instrument. User must specify which channel to control (1-4).

      rod4 = ROD4("ASRL1::INSTR")

      print(rod4.version)             # Print version and series number
      rod4.ch_1.mfc_range = 500       # Sets Channel 1 MFC range to 500 sccm
      rod4.ch_2.valve_mode = 'flow'   # Sets Channel 2 MFC to flow control
      rod4.ch_3.setpoint = 50         # Sets Channel 3 MFC to flow at 50% of full range
      print(rod4.ch_4.actual_flow)    # Prints Channel 4 actual MFC flow in %

  ch_1
    Channel:

      `ROD4Channel`

  ch_2
    Channel:

      `ROD4Channel`

  ch_3
    Channel:

      `ROD4Channel`

  ch_4
    Channel:

      `ROD4Channel`

  check_errors()

    Read all errors from the instrument and log them.

    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()

    Read ‘OK’ from ROD-4 after setting.

  clear()

    Clears 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 keyboard_locked

    Set the front keyboard lock status.

  property next_error

    Get the next error of the instrument (tuple of code and message).

  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()

    Resets the instrument.

  shutdown()

    Brings the instrument to a safe and stable state

  property status

    Get the status byte and Master Summary Status bit.

  property version

    Get the version and series number. Returns x.xx<TAB>S/N

  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.proterial.rod4.ROD4Channel(parent, id)

  Bases: `Channel`

  Implementation of a ROD-4 MFC channel.

  property actual_flow

    Measure the actual flow in %.

  property flow_unit_display

    Set the flow units on the front display. Valid options are %, sccm, or slm. Display in absolute units is in sccm for control range < 10 slm.

  property mfc_range

    Control the MFC range in sccm. Upper limit is 200 slm.

  property ramp_time

    Control the MFC setpoint ramping time in seconds.

  property setpoint

    Control the setpoint in % of MFC range.

  property valve_mode

    Control the MFC valve mode. Valid options are flow, close, and open.