X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=sigrok.h.in;h=8ff1b092dbf23508affe1177cc44f9f181ad3da9;hb=79afc8cac4912f5e1025c608a10b05506a191be9;hp=7b3f122e72b765bb6541f3413dab4db9d1a41e3c;hpb=69e70c233ef6186131369ad596a96a2632bdcf85;p=libsigrok.git diff --git a/sigrok.h.in b/sigrok.h.in index 7b3f122e..8ff1b092 100644 --- a/sigrok.h.in +++ b/sigrok.h.in @@ -142,6 +142,15 @@ enum { SR_T_UINT64, SR_T_CHAR, SR_T_BOOL, + SR_T_FLOAT, + SR_T_RATIONAL_PERIOD, +}; + +struct sr_rational { + /* numerator */ + uint64_t p; + /* denominator */ + uint64_t q; }; /* sr_datafeed_packet.type values */ @@ -150,7 +159,11 @@ enum { SR_DF_END, SR_DF_TRIGGER, SR_DF_LOGIC, - SR_DF_PD, + SR_DF_META_LOGIC, + SR_DF_ANALOG, + SR_DF_META_ANALOG, + SR_DF_FRAME_BEGIN, + SR_DF_FRAME_END, }; struct sr_datafeed_packet { @@ -161,8 +174,11 @@ struct sr_datafeed_packet { struct sr_datafeed_header { int feed_version; struct timeval starttime; +}; + +struct sr_datafeed_meta_logic { + int num_probes; uint64_t samplerate; - int num_logic_probes; }; struct sr_datafeed_logic { @@ -171,6 +187,15 @@ struct sr_datafeed_logic { void *data; }; +struct sr_datafeed_meta_analog { + int num_probes; +}; + +struct sr_datafeed_analog { + int num_samples; + float *data; +}; + struct sr_input { struct sr_input_format *format; char *param; @@ -249,7 +274,8 @@ enum { /** The device can act as logic analyzer. */ SR_HWCAP_LOGIC_ANALYZER, - /* TODO: SR_HWCAP_SCOPE, SW_HWCAP_PATTERN_GENERATOR, etc.? */ + /** The device can act as an oscilloscope. */ + SR_HWCAP_OSCILLOSCOPE, /*--- Device types --------------------------------------------------*/ @@ -275,6 +301,24 @@ enum { /** The device supports Run Length Encoding. */ SR_HWCAP_RLE, + /** The device supports setting trigger slope. */ + 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, + /*--- Special stuff -------------------------------------------------*/ /* TODO: Better description. */ @@ -303,6 +347,12 @@ enum { */ SR_HWCAP_LIMIT_SAMPLES, + /** + * The device supports setting a frame limit, i.e. how many + * frames should be acquired. + */ + SR_HWCAP_LIMIT_FRAMES, + /** * The device supports continuous sampling, i.e. neither a time limit * nor a sample number limit has to be supplied, it will just acquire @@ -310,7 +360,6 @@ enum { */ SR_HWCAP_CONTINUOUS, - /* TODO: SR_HWCAP_JUST_SAMPLE or similar. */ }; struct sr_hwcap_option { @@ -364,12 +413,20 @@ 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, }; /*