]> sigrok.org Git - libsigrok.git/blobdiff - include/libsigrok/libsigrok.h
Use UINT64_C instead of "ULL" number suffix.
[libsigrok.git] / include / libsigrok / libsigrok.h
index 511ab28c0f074ce25afb5fe121ed038dda9298e6..ad01ffc2a42ded4b1447aab8fcdc5a7015f83176 100644 (file)
@@ -84,11 +84,11 @@ enum sr_error_code {
 
 /* Handy little macros */
 #define SR_HZ(n)  (n)
-#define SR_KHZ(n) ((n) * (uint64_t)(1000ULL))
-#define SR_MHZ(n) ((n) * (uint64_t)(1000000ULL))
-#define SR_GHZ(n) ((n) * (uint64_t)(1000000000ULL))
+#define SR_KHZ(n) ((n) * UINT64_C(1000))
+#define SR_MHZ(n) ((n) * UINT64_C(1000000))
+#define SR_GHZ(n) ((n) * UINT64_C(1000000000))
 
-#define SR_HZ_TO_NS(n) ((uint64_t)(1000000000ULL) / (n))
+#define SR_HZ_TO_NS(n) (UINT64_C(1000000000) / (n))
 
 /** libsigrok loglevels. */
 enum sr_loglevel {
@@ -231,6 +231,8 @@ enum sr_mq {
        SR_MQ_APPARENT_POWER,
        /** Mass */
        SR_MQ_MASS,
+       /** Harmonic ratio */
+       SR_MQ_HARMONIC_RATIO,
 
        /* Update sr_key_info_mq[] (hwdriver.c) upon changes! */
 };
@@ -263,7 +265,7 @@ enum sr_unit {
        SR_UNIT_SIEMENS,
        /**
         * An absolute measurement of power, in decibels, referenced to
-        * 1 milliwatt (dBu).
+        * 1 milliwatt (dBm).
         */
        SR_UNIT_DECIBEL_MW,
        /** Voltage in decibel, referenced to 1 volt (dBV). */
@@ -508,7 +510,12 @@ struct sr_analog_encoding {
        gboolean is_signed;
        gboolean is_float;
        gboolean is_bigendian;
-       uint8_t digits;
+       /**
+        * Number of significant digits after the decimal point if positive,
+        * or number of non-significant digits before the decimal point if
+        * negative (refers to the value we actually read on the wire).
+        */
+       int8_t digits;
        gboolean is_digits_decimal;
        struct sr_rational scale;
        struct sr_rational offset;
@@ -522,7 +529,13 @@ struct sr_analog_meaning {
 };
 
 struct sr_analog_spec {
-       uint8_t spec_digits;
+       /**
+        * Number of significant digits after the decimal point if positive,
+        * or number of non-significant digits before the decimal point if
+        * negative (refers to vendor specifications/datasheet or actual
+        * device display).
+        */
+       int8_t spec_digits;
 };
 
 /** Generic option struct used by various subsystems. */
@@ -687,6 +700,12 @@ enum sr_configkey {
        /** The device can act as a scale. */
        SR_CONF_SCALE,
 
+       /** The device can act as a function generator. */
+       SR_CONF_SIGNAL_GENERATOR,
+
+       /** The device can measure power. */
+       SR_CONF_POWERMETER,
+
        /* Update sr_key_info_config[] (hwdriver.c) upon changes! */
 
        /*--- Driver scan options -------------------------------------------*/
@@ -781,7 +800,7 @@ enum sr_configkey {
        /** Coupling. */
        SR_CONF_COUPLING,
 
-       /** Trigger matches.  */
+       /** Trigger matches. */
        SR_CONF_TRIGGER_MATCH,
 
        /** The device supports setting its sample interval, in ms. */
@@ -790,16 +809,16 @@ enum sr_configkey {
        /** Number of horizontal divisions, as related to SR_CONF_TIMEBASE. */
        SR_CONF_NUM_HDIV,
 
-       /** Number of vertical divisions, as related to SR_CONF_VDIV.  */
+       /** Number of vertical divisions, as related to SR_CONF_VDIV. */
        SR_CONF_NUM_VDIV,
 
-       /** Sound pressure level frequency weighting.  */
+       /** Sound pressure level frequency weighting. */
        SR_CONF_SPL_WEIGHT_FREQ,
 
-       /** Sound pressure level time weighting.  */
+       /** Sound pressure level time weighting. */
        SR_CONF_SPL_WEIGHT_TIME,
 
-       /** Sound pressure level measurement range.  */
+       /** Sound pressure level measurement range. */
        SR_CONF_SPL_MEASUREMENT_RANGE,
 
        /** Max hold mode. */