Programmable digital load

From sigrok
Jump to navigation Jump to search

This page documents the config keys and various other info needed to write a libsigrok frontend for controlling programmable digital loads.

TODO

  • Rename keys SR_CONF_UNDER_VOLTAGE_CONDITION and SR_CONF_OVER_TEMPERATURE_PROTECTION for consistency?

Notes

  • All supported loads contain one channel group ("1") with two channels (actual measured voltage and current).
  • Each data packet containing one measurement of a voltage and a current is surrounded by a frame, if they were sent at the same time by the device.

Config keys

A libsigrok driver for a programmable electronic digital load implements all or some subset of the following config keys.

SR_CONF_ELECTRONIC_LOAD

Denotes a device that provides a power sink via one or more input channels, typically with a current set via the sigrok driver.

SR_CONF_ENABLED

  • boolean
  • get: Actual state of input.
  • set: Turn input on or off.
  • list: NA

SR_CONF_REGULATION

  • string ("CC", "CV", "UR", ...)
  • get: Actual mode of operation (e.g. constant current, constant voltage, constant power, ...)
  • set: Set the mode of operation.
  • list: NA, TODO?

SR_CONF_VOLTAGE

  • double, representing voltage.
  • get: Actual input voltage. This may not be the same as what was set -- the input may be disabled, or can change depending on the source.
  • set: NA
  • list: NA

SR_CONF_VOLTAGE_TARGET

  • double, representing voltage.
  • get: Current set input voltage for constant voltage mode.
  • set: Set the input voltage for constant voltage mode.
  • list: Supported voltage range as (low, high, step).

SR_CONF_CURRENT

  • double, representing current.
  • get: Actual input current. This may not be the same as what was set -- the input may be disabled, or can change depending on the source.
  • set: NA
  • list: NA

SR_CONF_CURRENT_LIMIT

  • double, representing current.
  • get: Actual set input current for constant current mode.
  • set: Set the input current for constant current mode.
  • list: Supported current range as (low, high, step).

SR_CONF_OVER_VOLTAGE_PROTECTION_ENABLED

  • boolean
  • get: TRUE, when the over voltage protection is enabled.
  • set: NA
  • list: NA

SR_CONF_OVER_VOLTAGE_PROTECTION_ACTIVE

  • boolean
  • get: TRUE, when the over voltage protection threshold was reached.
  • set: NA
  • list: NA

SR_CONF_OVER_VOLTAGE_PROTECTION_THRESHOLD

  • double, representing voltage.
  • get: Actual over voltage protection threshold.
  • set: Set over voltage protection threshold.
  • list: NA, TODO?

SR_CONF_OVER_CURRENT_PROTECTION_ENABLED

  • boolean
  • get: TRUE, when the over current protection is enabled.
  • set: NA
  • list: NA

SR_CONF_OVER_CURRENT_PROTECTION_ACTIVE

  • boolen
  • get: TRUE, when the over current protection threshold was reached.
  • set: NA
  • list: NA

SR_CONF_OVER_CURRENT_PROTECTION_THRESHOLD

  • double, representing current.
  • get: Actual over current protection threshold.
  • set: Set over current protection threshold.
  • list: NA, TODO?

SR_CONF_UNDER_VOLTAGE_CONDITION

TODO: Rename to SR_CONF_UNDER_VOLTAGE_CONDITION_ENABLED for consistency?

  • boolean
  • get: TRUE, when the under voltage protection is enabled.
  • set: NA
  • list: NA

SR_CONF_UNDER_VOLTAGE_CONDITION_ACTIVE

  • boolen
  • get: TRUE, when the under voltage protection threshold was reached.
  • set: NA
  • list: NA

SR_CONF_UNDER_VOLTAGE_CONDITION_THRESHOLD

TODO: Key is missing, but can be set for various loads (e.g Arachnid Labs Re:load Pro).

  • double, representing voltage.
  • get: Actual under voltage protection threshold.
  • set: Set under voltage protection threshold.
  • list: NA, TODO?

SR_CONF_OVER_TEMPERATURE_PROTECTION

TODO: Rename to SR_CONF_OVER_TEMPERATURE_PROTECTION_ENABLED for consistency?

  • boolean
  • get: TRUE, when the over temperature protection is enabled.
  • set: NA
  • list: NA

SR_CONF_OVER_TEMPERATURE_PROTECTION_ACTIVE

  • boolean
  • get: TRUE, when the over temperature protection threshold was reached.
  • set: NA
  • list: NA