X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=libsigrok.h;h=b6d2b64046ebbda6f2a438a91ea5bf5fea2c1854;hb=543d45c581658851b41af42ebdbc476ccf3d88d3;hp=9add374be9a24cdc3610b49b892309707a90451d;hpb=e4f2b2adc17bf0ab6dfa38b7511caf5a5dcfa7fd;p=libsigrok.git diff --git a/libsigrok.h b/libsigrok.h index 9add374b..b6d2b640 100644 --- a/libsigrok.h +++ b/libsigrok.h @@ -286,6 +286,7 @@ struct sr_datafeed_logic { }; struct sr_datafeed_analog { + /** The probes for which data is included in this packet. */ GSList *probes; int num_samples; /** Measured quantity (voltage, current, temperature, and so on). */ @@ -294,7 +295,8 @@ struct sr_datafeed_analog { int unit; /** Bitmap with extra information about the MQ. */ uint64_t mqflags; - /** The analog value. */ + /** The analog value(s). The data is interleaved according to + * the probes list. */ float *data; }; @@ -309,7 +311,7 @@ struct sr_input_format { char *id; char *description; int (*format_match) (const char *filename); - int (*init) (struct sr_input *in); + int (*init) (struct sr_input *in, const char *filename); int (*loadfile) (struct sr_input *in, const char *filename); }; @@ -388,7 +390,7 @@ enum { /** The device can measure humidity. */ SR_CONF_HYGROMETER, - /*--- Driver options ------------------------------------------------*/ + /*--- Driver scan options -------------------------------------------*/ /** * Specification on how to connect to a device. @@ -461,20 +463,26 @@ enum { /** Coupling. */ SR_CONF_COUPLING, + /** Trigger types. */ + SR_CONF_TRIGGER_TYPE, + /*--- Special stuff -------------------------------------------------*/ + /** Scan options supported by the driver. */ + SR_CONF_SCAN_OPTIONS = 40000, + + /** Device options for a particular device. */ + SR_CONF_DEVICE_OPTIONS, + /** Session filename. */ - SR_CONF_SESSIONFILE = 40000, + SR_CONF_SESSIONFILE, - /* TODO: Better description. */ /** The device supports specifying a capturefile to inject. */ SR_CONF_CAPTUREFILE, - /* TODO: Better description. */ /** The device supports specifying the capturefile unit size. */ SR_CONF_CAPTURE_UNITSIZE, - /* TODO: Better description. */ /** The device supports setting the number of probes. */ SR_CONF_CAPTURE_NUM_PROBES, @@ -540,27 +548,6 @@ enum { SR_ST_STOPPING, }; -/* - * TODO: This sucks, you just kinda have to "know" the returned type. - * TODO: Need a DI to return the number of trigger stages supported. - */ - -/** Device info IDs. */ -enum { - /** A list of options supported by the driver. */ - SR_DI_HWOPTS = 10000, - /** A list of capabilities supported by the device. */ - SR_DI_HWCAPS, - /** Types of logic trigger supported, out of "01crf" (char *). */ - SR_DI_TRIGGER_TYPES, - /** Supported time bases. */ - SR_DI_TIMEBASES, - /** Supported trigger sources. */ - SR_DI_TRIGGER_SOURCES, - /** Supported filter targets. */ - SR_DI_FILTERS, -}; - /* * A device supports either a range of samplerates with steps of a given * granularity, or is limited to a set of defined samplerates. Use either