# HP 3478A Multimeter

class pymeasure.instruments.hp.HP3478A(adapter, name='Hewlett-Packard HP3478A', **kwargs)

  Bases: `HPLegacyInstrument`

  Represents the Hewlett Packard 3478A 5 1/2 digit multimeter and provides a high-level interface for interacting with the instrument.

  class ERRORS(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

    Bases: `IntFlag`

    Enum element for errror bit decoding

  property SRQ_mask

    Return current SRQ mask, this property can be set,

    bit assigment for SRQ:

    Bit (dec) | Description
    --- | ---
    1 | SRQ when Data ready
    4 | SRQ when Syntax error
    8 | SRQ when internal error
    16 | front panel SQR button
    32 | SRQ by invalid calibration

  property active_connectors

    Return selected connectors (“front”/”back”), based on front-panel selector switch

  property auto_range_enabled

    Property describing the auto-ranging status

    Value | Status
    --- | ---
    True | auto-range function activated
    False | manual range selection / auto-range disabled

    The range can be set with the `range` property

  property auto_zero_enabled

    Return auto-zero status, this property can be set

    Value | Status
    --- | ---
    True | auto-zero active
    False | auto-zero disabled

  property calibration_data

    Read or write the calibration data as an array of 256 values between 0 and 15.

    The calibration data of an HP 3478A is stored in a 256x4 SRAM that is permanently powered by a 3v Lithium battery. When the battery runs out, the calibration data is lost, and recalibration is required.

    When read, this property fetches and returns the calibration data so that it can be backed up.

    When assigned a value, it similarly expects an array of 256 values between 0 and 15, and writes the values back to the instrument.

    When writing, exceptions are raised for the following conditions:

    - The CAL ENABLE switch at the front of the instrument is not set to ON.

    - The array with values does not contain exactly 256 elements.

    - The array with values does not pass a verification check.

    IMPORTANT: changing the calibration data results in permanent loss of the previous data. Use with care!

  property calibration_enabled

    Return calibration enable switch setting, based on front-panel selector switch

    Value | Status
    --- | ---
    True | calbration possible
    False | calibration locked

  check_errors()

    Method to read the error status register

    Return error_status:

      one byte with the error status register content

    Rtype error_status:

      int

  display_reset()

    Reset the display of the instrument.

  property display_text

    Displays up to 12 upper-case ASCII characters on the display.

  property display_text_no_symbol

    Displays up to 12 upper-case ASCII characters on the display and disables all symbols on the display.

  property error_status

    Checks the error status register

  property measure_ACI

    Returns the measured value for AC current as a float in A.

  property measure_ACV

    Returns the measured value for AC Voltage as a float in V.

  property measure_DCI

    Returns the measured value for DC current as a float in A.

  property measure_DCV

    Returns the measured value for DC Voltage as a float in V.

  property measure_R2W

    Returns the measured value for 2-wire resistance as a float in Ohm.

  property measure_R4W

    Returns the measured value for 4-wire resistance as a float in Ohm.

  property measure_Rext

    Returns the measured value for extended resistance mode (>30M, 2-wire) resistance as a float in Ohm.

  property mode

    Return current selected measurement mode, this propery can be set. Allowed values are

    Mode | Function
    --- | ---
    ACI | AC current
    ACV | AC voltage
    DCI | DC current
    DCV | DC voltage
    R2W | 2-wire resistance
    R4W | 4-wire resistance
    Rext | extended resistance method (requires additional 10 M resistor)

  property range

    Returns the current measurement range, this property can be set.

    Valid values are :

    Mode | Range
    --- | ---
    ACI | 0.3, 3, auto
    ACV | 0.3, 3, 30, 300, auto
    DCI | 0.3, 3, auto
    DCV | 0.03, 0.3, 3, 30, 300, auto
    R2W | 30, 300, 3000, 3E4, 3E5, 3E6, 3E7, auto
    R4W | 30, 300, 3000, 3E4, 3E5, 3E6, 3E7, auto
    Rext | 3E7, auto

  property resolution

    Returns current selected resolution, this property can be set.

    Possible values are 3,4 or 5 (for 3 1/2, 4 1/2 or 5 1/2 digits of resolution)

  status_desc

    alias of `Status`

  property trigger

    Return current selected trigger mode, this property can be set

    Possibe values are:

    Value | Meaning
    --- | ---
    auto | automatic trigger (internal)
    internal | automatic trigger (internal)
    external | external trigger (connector on back or GET)
    hold | holds the measurement
    fast | fast trigger for AC measurements

  verify_calibration_data(cal_data)

    Verify the checksums of all calibration entries.

    Expects an array of 256 values with calibration data.

    Return calibration_correct:

      True when all checksums are correct.

    Rtype calibration_correct:

      boolean

  verify_calibration_entry(cal_data, entry_nr)

    Verify the checksum of one calibration entry.

    Expects an array of 256 values with calibration data, and an entry number from 0 to 18.

    Returns True when the checksum of the specified calibration entry is correct.

  write_calibration_data(cal_data, verify_calibration_data=True)

    Method to write calibration data.

    The cal_data parameter format is the same as the `calibration_data` property.

    Verification of the cal_data array can be bypassed by setting `verify_calibration_data` to `False`.