X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=sigrok.h.in;h=5fc1e1871524d2497e28674d1a06c70ec4dc371f;hb=a533743dd1680bb53f29b6a01cccbc5380027e77;hp=2b57bcfceeccc7574847d997582983f8d88022d9;hpb=6ea7669c9dc3dd59ad88869e29f5411114196f34;p=libsigrok.git diff --git a/sigrok.h.in b/sigrok.h.in index 2b57bcfc..5fc1e187 100644 --- a/sigrok.h.in +++ b/sigrok.h.in @@ -142,6 +142,16 @@ enum { SR_T_UINT64, SR_T_CHAR, SR_T_BOOL, + SR_T_FLOAT, + SR_T_RATIONAL_PERIOD, + SR_T_RATIONAL_VOLT, +}; + +struct sr_rational { + /* numerator */ + uint64_t p; + /* denominator */ + uint64_t q; }; /* sr_datafeed_packet.type values */ @@ -293,7 +303,28 @@ enum { SR_HWCAP_RLE, /** The device supports setting trigger slope. */ - SR_HWCAP_TRIGGERSLOPE, + SR_HWCAP_TRIGGER_SLOPE, + + /** Trigger source. */ + SR_HWCAP_TRIGGER_SOURCE, + + /** Horizontal trigger position */ + SR_HWCAP_HORIZ_TRIGGERPOS, + + /** Buffer size. */ + SR_HWCAP_BUFFERSIZE, + + /** Time base. */ + SR_HWCAP_TIMEBASE, + + /** Filter. */ + SR_HWCAP_FILTER, + + /** Volts/div. */ + SR_HWCAP_VDIV, + + /** Coupling. */ + SR_HWCAP_COUPLING, /*--- Special stuff -------------------------------------------------*/ @@ -389,12 +420,24 @@ enum { SR_DI_PROBE_NAMES, /* Samplerates supported by this device, (struct sr_samplerates) */ SR_DI_SAMPLERATES, - /* Types of trigger supported, out of "01crf" (char *) */ + /* Types of logic trigger supported, out of "01crf" (char *) */ SR_DI_TRIGGER_TYPES, /* The currently set samplerate in Hz (uint64_t) */ SR_DI_CUR_SAMPLERATE, /* Supported patterns (in pattern generator mode) */ SR_DI_PATTERNS, + /* Supported buffer sizes */ + SR_DI_BUFFERSIZES, + /* Supported time bases */ + SR_DI_TIMEBASES, + /* Supported trigger sources */ + SR_DI_TRIGGER_SOURCES, + /* Supported filter targets */ + SR_DI_FILTERS, + /* Valid volts/div values */ + SR_DI_VDIVS, + /* Coupling options */ + SR_DI_COUPLING, }; /* @@ -406,7 +449,7 @@ struct sr_samplerates { uint64_t low; uint64_t high; uint64_t step; - uint64_t *list; + const uint64_t *list; }; struct sr_dev_driver { @@ -420,10 +463,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); };