]> sigrok.org Git - libsigrok.git/blobdiff - sigrok.h.in
sr: add unit field to sr_df_analog packet
[libsigrok.git] / sigrok.h.in
index 8ff1b092dbf23508affe1177cc44f9f181ad3da9..304f1d8f4f4f217e90a0da038a7c3044c86e4b2c 100644 (file)
@@ -144,6 +144,7 @@ enum {
        SR_T_BOOL,
        SR_T_FLOAT,
        SR_T_RATIONAL_PERIOD,
+       SR_T_RATIONAL_VOLT,
 };
 
 struct sr_rational {
@@ -166,6 +167,12 @@ enum {
        SR_DF_FRAME_END,
 };
 
+/* sr_datafeed_analog.unit values */
+enum {
+       SR_UNIT_VOLTAGE,
+       SR_UNIT_CURRENT,
+};
+
 struct sr_datafeed_packet {
        uint16_t type;
        void *payload;
@@ -193,6 +200,7 @@ struct sr_datafeed_meta_analog {
 
 struct sr_datafeed_analog {
        int num_samples;
+       int unit;
        float *data;
 };
 
@@ -319,6 +327,12 @@ enum {
        /** Filter. */
        SR_HWCAP_FILTER,
 
+       /** Volts/div. */
+       SR_HWCAP_VDIV,
+
+       /** Coupling. */
+       SR_HWCAP_COUPLING,
+
        /*--- Special stuff -------------------------------------------------*/
 
        /* TODO: Better description. */
@@ -427,6 +441,10 @@ enum {
        SR_DI_TRIGGER_SOURCES,
        /* Supported filter targets */
        SR_DI_FILTERS,
+       /* Valid volts/div values */
+       SR_DI_VDIVS,
+       /* Coupling options */
+       SR_DI_COUPLING,
 };
 
 /*
@@ -438,7 +456,7 @@ struct sr_samplerates {
        uint64_t low;
        uint64_t high;
        uint64_t step;
-       uint64_t *list;
+       const uint64_t *list;
 };
 
 struct sr_dev_driver {
@@ -452,10 +470,10 @@ struct sr_dev_driver {
        /* Device-specific */
        int (*dev_open) (int dev_index);
        int (*dev_close) (int dev_index);
-       void *(*dev_info_get) (int dev_index, int dev_info_id);
+       const void *(*dev_info_get) (int dev_index, int dev_info_id);
        int (*dev_status_get) (int dev_index);
-       int *(*hwcap_get_all) (void);
-       int (*dev_config_set) (int dev_index, int hwcap, void *value);
+       const int *(*hwcap_get_all) (void);
+       int (*dev_config_set) (int dev_index, int hwcap, const void *value);
        int (*dev_acquisition_start) (int dev_index, void *session_dev_id);
        int (*dev_acquisition_stop) (int dev_index, void *session_dev_id);
 };