X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=include%2Flibsigrok%2Flibsigrok.h;h=cf8f9b20ed6dda7042c17dfa2cf7d24044e22fee;hb=18ea6b76fdc77c4b1c1cc08bea4cd42d465787e6;hp=ccb8602fca64a680e1dc1e7bbbdb94def13a9692;hpb=2fb60e23299037456a626ad65d15b89a78393917;p=libsigrok.git diff --git a/include/libsigrok/libsigrok.h b/include/libsigrok/libsigrok.h index ccb8602f..cf8f9b20 100644 --- a/include/libsigrok/libsigrok.h +++ b/include/libsigrok/libsigrok.h @@ -64,7 +64,6 @@ extern "C" { /** Status/error codes returned by libsigrok functions. */ enum sr_error_code { - SR_OK_CONTINUE = 1, /**< Keep going. */ SR_OK = 0, /**< No error. */ SR_ERR = -1, /**< Generic/unspecified error. */ SR_ERR_MALLOC = -2, /**< Malloc/calloc/realloc error. */ @@ -78,10 +77,7 @@ enum sr_error_code { SR_ERR_DATA =-10, /**< Data is invalid. */ SR_ERR_IO =-11, /**< Input/output error. */ - /* - * Note: When adding entries here, don't forget to also update the - * sr_strerror() and sr_strerror_name() functions in error.c. - */ + /* Update sr_strerror()/sr_strerror_name() (error.c) upon changes! */ }; #define SR_MAX_CHANNELNAME_LEN 32 @@ -149,6 +145,9 @@ enum sr_datatype { SR_T_UINT64_RANGE, SR_T_DOUBLE_RANGE, SR_T_INT32, + SR_T_MQ, + + /* Update sr_variant_type_get() (hwdriver.c) upon changes! */ }; /** Value for sr_datafeed_packet.type. */ @@ -171,6 +170,8 @@ enum sr_packettype { SR_DF_FRAME_END, /** Payload is struct sr_datafeed_analog2. */ SR_DF_ANALOG2, + + /* Update datafeed_dump() (session.c) upon changes! */ }; /** Measured quantity, sr_datafeed_analog.mq. */ @@ -230,6 +231,10 @@ enum sr_mq { SR_MQ_POWER_FACTOR, /** Apparent power */ SR_MQ_APPARENT_POWER, + /** Mass */ + SR_MQ_MASS, + + /* Update sr_key_info_mq[] (hwdriver.c) upon changes! */ }; /** Unit of measured quantity, sr_datafeed_analog.unit. */ @@ -297,6 +302,33 @@ enum sr_unit { SR_UNIT_DEGREE, /** Henry (inductance). */ SR_UNIT_HENRY, + /** Mass in gram [g]. */ + SR_UNIT_GRAM, + /** Mass in carat [ct]. */ + SR_UNIT_CARAT, + /** Mass in ounce [oz]. */ + SR_UNIT_OUNCE, + /** Mass in troy ounce [oz t]. */ + SR_UNIT_TROY_OUNCE, + /** Mass in pound [lb]. */ + SR_UNIT_POUND, + /** Mass in pennyweight [dwt]. */ + SR_UNIT_PENNYWEIGHT, + /** Mass in grain [gr]. */ + SR_UNIT_GRAIN, + /** Mass in tael (variants: Hong Kong, Singapore/Malaysia, Taiwan) */ + SR_UNIT_TAEL, + /** Mass in momme. */ + SR_UNIT_MOMME, + /** Mass in tola. */ + SR_UNIT_TOLA, + /** Pieces (number of items). */ + SR_UNIT_PIECE, + + /* + * Update unit_strings[] (analog.c) and fancyprint() (output/analog.c) + * upon changes! + */ }; /** Values for sr_datafeed_analog.flags. */ @@ -349,6 +381,13 @@ enum sr_mqflag { SR_MQFLAG_AVG = 0x40000, /** Reference value shown. */ SR_MQFLAG_REFERENCE = 0x80000, + /** Unstable value (hasn't settled yet). */ + SR_MQFLAG_UNSTABLE = 0x100000, + + /* + * Update mq_strings[] (analog.c) and fancyprint() (output/analog.c) + * upon changes! + */ }; enum sr_trigger_matches { @@ -426,7 +465,7 @@ struct sr_session; struct sr_rational { /** Numerator of the rational number. */ - uint64_t p; + int64_t p; /** Denominator of the rational number. */ uint64_t q; }; @@ -576,6 +615,8 @@ struct sr_config { enum sr_keytype { SR_KEY_CONFIG, + SR_KEY_MQ, + SR_KEY_MQFLAGS, }; /** Information about a key. */ @@ -637,6 +678,11 @@ enum sr_configkey { /** The device can act as an electronic load. */ SR_CONF_ELECTRONIC_LOAD, + /** The device can act as a scale. */ + SR_CONF_SCALE, + + /* Update sr_key_info_config[] (hwdriver.c) upon changes! */ + /*--- Driver scan options -------------------------------------------*/ /** @@ -680,6 +726,8 @@ enum sr_configkey { */ SR_CONF_MODBUSADDR, + /* Update sr_key_info_config[] (hwdriver.c) upon changes! */ + /*--- Device (or channel group) configuration -----------------------*/ /** The device supports setting its samplerate, in Hz. */ @@ -892,21 +940,20 @@ enum sr_configkey { /** Output frequency in Hz. */ SR_CONF_OUTPUT_FREQUENCY, + /** Output frequency target in Hz. */ + SR_CONF_OUTPUT_FREQUENCY_TARGET, + /** Measured quantity. */ SR_CONF_MEASURED_QUANTITY, - /** Measured secondary quantity. */ - SR_CONF_MEASURED_2ND_QUANTITY, - /** Equivalent circuit model. */ SR_CONF_EQUIV_CIRCUIT_MODEL, - /* Output frequency target in Hz. */ - SR_CONF_OUTPUT_FREQUENCY_TARGET, - /** Over-temperature protection (OTP) active. */ SR_CONF_OVER_TEMPERATURE_PROTECTION_ACTIVE, + /* Update sr_key_info_config[] (hwdriver.c) upon changes! */ + /*--- Special stuff -------------------------------------------------*/ /** Scan options supported by the driver. */ @@ -944,6 +991,8 @@ enum sr_configkey { /** The device supports setting a probe factor. */ SR_CONF_PROBE_FACTOR, + /* Update sr_key_info_config[] (hwdriver.c) upon changes! */ + /*--- Acquisition modes, sample limiting ----------------------------*/ /** @@ -980,6 +1029,8 @@ enum sr_configkey { /** Self test mode. */ SR_CONF_TEST_MODE, + + /* Update sr_key_info_config[] (hwdriver.c) upon changes! */ }; /**