Difference between revisions of "Programmable digital load"

From sigrok
Jump to navigation Jump to search
(Initial version)
 
m (Format fix)
Line 1: Line 1:
This page documents the config keys and various other info needed to write a libsigrok frontend for controlling programmable digital loads.
This page documents the config keys and various other info needed to write a libsigrok frontend for controlling programmable digital loads.


== TODO ==
== TODO ==
Line 6: Line 5:
* Missing key/function SR_CONF_UNDER_VOLTAGE_CONDITION_THRESHOLD.
* Missing key/function SR_CONF_UNDER_VOLTAGE_CONDITION_THRESHOLD.
* Rename keys SR_CONF_UNDER_VOLTAGE_CONDITION and SR_CONF_OVER_TEMPERATURE_PROTECTION for consistency?
* Rename keys SR_CONF_UNDER_VOLTAGE_CONDITION and SR_CONF_OVER_TEMPERATURE_PROTECTION for consistency?


== Notes ==
== Notes ==
Line 12: Line 10:
* All supported loads contain one channel group ("1") with two channels (actual measured voltage and current).
* All supported loads contain one channel group ("1") with two channels (actual measured voltage and current).
* Each data packet of one measurement of a voltage and a current is surrounded by a frame.
* Each data packet of one measurement of a voltage and a current is surrounded by a frame.


== Config keys ==
== Config keys ==


A libsigrok driver for a programmable electronic digital load implements all or some subset of the following 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 ===
=== 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.
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 ===
=== SR_CONF_ENABLED ===
Line 30: Line 25:
* set: Turn input on or off.
* set: Turn input on or off.
* list: NA
* list: NA


=== SR_CONF_REGULATION ===
=== SR_CONF_REGULATION ===
Line 38: Line 32:
* set: Set the mode of operation.
* set: Set the mode of operation.
* list: NA, TODO?
* list: NA, TODO?


=== SR_CONF_VOLTAGE ===
=== SR_CONF_VOLTAGE ===
Line 46: Line 39:
* set: NA
* set: NA
* list: NA
* list: NA


=== SR_CONF_VOLTAGE_TARGET ===
=== SR_CONF_VOLTAGE_TARGET ===
Line 54: Line 46:
* set: Set the input voltage for constant voltage mode.
* set: Set the input voltage for constant voltage mode.
* list: Supported voltage range as (low, high, step).
* list: Supported voltage range as (low, high, step).


=== SR_CONF_CURRENT ===
=== SR_CONF_CURRENT ===
Line 62: Line 53:
* set: NA
* set: NA
* list: NA
* list: NA


=== SR_CONF_CURRENT_LIMIT ===
=== SR_CONF_CURRENT_LIMIT ===
Line 70: Line 60:
* set: Set the input current for constant current mode.
* set: Set the input current for constant current mode.
* list: Supported current range as (low, high, step).
* list: Supported current range as (low, high, step).


=== SR_CONF_OVER_VOLTAGE_PROTECTION_ENABLED ===
=== SR_CONF_OVER_VOLTAGE_PROTECTION_ENABLED ===
Line 78: Line 67:
* set: NA
* set: NA
* list: NA
* list: NA


=== SR_CONF_OVER_VOLTAGE_PROTECTION_ACTIVE ===
=== SR_CONF_OVER_VOLTAGE_PROTECTION_ACTIVE ===
Line 86: Line 74:
* set: NA
* set: NA
* list: NA
* list: NA


=== SR_CONF_OVER_VOLTAGE_PROTECTION_THRESHOLD ===
=== SR_CONF_OVER_VOLTAGE_PROTECTION_THRESHOLD ===
Line 94: Line 81:
* set: Set over voltage protection threshold.
* set: Set over voltage protection threshold.
* list: NA, TODO?
* list: NA, TODO?


=== SR_CONF_OVER_CURRENT_PROTECTION_ENABLED ===
=== SR_CONF_OVER_CURRENT_PROTECTION_ENABLED ===
Line 102: Line 88:
* set: NA
* set: NA
* list: NA
* list: NA


=== SR_CONF_OVER_CURRENT_PROTECTION_ACTIVE ===
=== SR_CONF_OVER_CURRENT_PROTECTION_ACTIVE ===
Line 110: Line 95:
* set: NA
* set: NA
* list: NA
* list: NA


=== SR_CONF_OVER_CURRENT_PROTECTION_THRESHOLD ===
=== SR_CONF_OVER_CURRENT_PROTECTION_THRESHOLD ===
Line 118: Line 102:
* set: Set over current protection threshold.
* set: Set over current protection threshold.
* list: NA, TODO?
* list: NA, TODO?


=== SR_CONF_UNDER_VOLTAGE_CONDITION ===
=== SR_CONF_UNDER_VOLTAGE_CONDITION ===
Line 128: Line 111:
* set: NA
* set: NA
* list: NA
* list: NA


=== SR_CONF_UNDER_VOLTAGE_CONDITION_ACTIVE ===
=== SR_CONF_UNDER_VOLTAGE_CONDITION_ACTIVE ===
Line 136: Line 118:
* set: NA
* set: NA
* list: NA
* list: NA


=== SR_CONF_UNDER_VOLTAGE_CONDITION_THRESHOLD ===
=== SR_CONF_UNDER_VOLTAGE_CONDITION_THRESHOLD ===
Line 146: Line 127:
* set: Set under voltage protection threshold.
* set: Set under voltage protection threshold.
* list: NA, TODO?
* list: NA, TODO?


=== SR_CONF_OVER_TEMPERATURE_PROTECTION ===
=== SR_CONF_OVER_TEMPERATURE_PROTECTION ===
Line 156: Line 136:
* set: NA
* set: NA
* list: NA
* list: NA


=== SR_CONF_OVER_TEMPERATURE_PROTECTION_ACTIVE ===
=== SR_CONF_OVER_TEMPERATURE_PROTECTION_ACTIVE ===
Line 164: Line 143:
* set: NA
* set: NA
* list: NA
* list: NA


[[Category:Digital load]]
[[Category:Digital load]]
[[Category:Developer documentation]]
[[Category:Developer documentation]]
[[Category:Configuration keys]]
[[Category:Configuration keys]]

Revision as of 14:54, 18 October 2017

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

TODO

  • Missing key/function SR_CONF_UNDER_VOLTAGE_CONDITION_THRESHOLD.
  • 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 of one measurement of a voltage and a current is surrounded by a frame.

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