X-Git-Url: https://sigrok.org/gitweb/?p=libsigrok.git;a=blobdiff_plain;f=include%2Flibsigrok%2Flibsigrok.h;h=5d3d23c9963f102bf0aac1b7127a412bf784829a;hp=bb0b4fe7666d8340b030ad6b8c8cce37b02ab0fa;hb=1a7adeac29d6331b53a2c78fc9c70429b32da0bd;hpb=43ff1110fb317fba796f942bbc73c37a95973b8b diff --git a/include/libsigrok/libsigrok.h b/include/libsigrok/libsigrok.h index bb0b4fe7..5d3d23c9 100644 --- a/include/libsigrok/libsigrok.h +++ b/include/libsigrok/libsigrok.h @@ -80,6 +80,13 @@ enum sr_error_code { /* Update sr_strerror()/sr_strerror_name() (error.c) upon changes! */ }; +/** Ternary return type for DMM/LCR/etc packet parser validity checks. */ +enum sr_valid_code { + SR_PACKET_INVALID = -1, /**< Certainly invalid. */ + SR_PACKET_VALID = 0, /**< Certainly valid. */ + SR_PACKET_NEED_RX = +1, /**< Need more RX data. */ +}; + #define SR_MAX_CHANNELNAME_LEN 32 /* Handy little macros */ @@ -233,6 +240,10 @@ enum sr_mq { SR_MQ_MASS, /** Harmonic ratio */ SR_MQ_HARMONIC_RATIO, + /** Energy. */ + SR_MQ_ENERGY, + /** Electric charge. */ + SR_MQ_ELECTRIC_CHARGE, /* Update sr_key_info_mq[] (hwdriver.c) upon changes! */ }; @@ -290,7 +301,7 @@ enum sr_unit { SR_UNIT_VOLT_AMPERE, /** Real power [W]. */ SR_UNIT_WATT, - /** Consumption [Wh]. */ + /** Energy (consumption) in watt hour [Wh]. */ SR_UNIT_WATT_HOUR, /** Wind speed in meters per second. */ SR_UNIT_METER_SECOND, @@ -324,6 +335,12 @@ enum sr_unit { SR_UNIT_TOLA, /** Pieces (number of items). */ SR_UNIT_PIECE, + /** Energy in joule. */ + SR_UNIT_JOULE, + /** Electric charge in coulomb. */ + SR_UNIT_COULOMB, + /** Electric charge in ampere hour [Ah]. */ + SR_UNIT_AMPERE_HOUR, /* * Update unit_strings[] (analog.c) and fancyprint() (output/analog.c) @@ -751,6 +768,16 @@ enum sr_configkey { */ SR_CONF_MODBUSADDR, + /** + * User specified forced driver attachment to unknown devices. + * + * By design the interpretation of the string depends on the + * specific driver. It typically would be either a replacement + * '*IDN?' response value, or a sub-driver name. But could also + * be anything else and totally arbitrary. + */ + SR_CONF_FORCE_DETECT, + /* Update sr_key_info_config[] (hwdriver.c) upon changes! */ /*--- Device (or channel group) configuration -----------------------*/ @@ -1000,6 +1027,56 @@ enum sr_configkey { /** Offset of a source without strictly-defined MQ. */ SR_CONF_OFFSET, + /** The device supports setting a pattern for the logic trigger. */ + SR_CONF_TRIGGER_PATTERN, + + /** High resolution mode. */ + SR_CONF_HIGH_RESOLUTION, + + /** Peak detection. */ + SR_CONF_PEAK_DETECTION, + + /** Logic threshold: predefined levels (TTL, ECL, CMOS, etc). */ + SR_CONF_LOGIC_THRESHOLD, + + /** Logic threshold: custom numerical value. */ + SR_CONF_LOGIC_THRESHOLD_CUSTOM, + + /** The measurement range of a DMM or the output range of a power supply. */ + SR_CONF_RANGE, + + /** The number of digits (e.g. for a DMM). */ + SR_CONF_DIGITS, + + /** Phase of a source signal. */ + SR_CONF_PHASE, + + /** Duty cycle of a source signal. */ + SR_CONF_DUTY_CYCLE, + + /** + * Current power. + * @arg type: double + * @arg get: get measured power + */ + SR_CONF_POWER, + + /** + * Power target. + * @arg type: double + * @arg get: get power target + * @arg set: change power target + */ + SR_CONF_POWER_TARGET, + + /** + * Resistance target. + * @arg type: double + * @arg get: get resistance target + * @arg set: change resistance target + */ + SR_CONF_RESISTANCE_TARGET, + /* Update sr_key_info_config[] (hwdriver.c) upon changes! */ /*--- Special stuff -------------------------------------------------*/