X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=libsigrok.h;h=f371c944fd6ff85ac6b699ec1cba06f40f272836;hb=35e199da505f5b8fadffa58875aaca70a8fde4f2;hp=d7d31a33f131d9a46fa0e572945e5bd7e1c4824f;hpb=2244356d1069c5b13fe3b728a421750900deaafe;p=libsigrok.git diff --git a/libsigrok.h b/libsigrok.h index d7d31a33..f371c944 100644 --- a/libsigrok.h +++ b/libsigrok.h @@ -176,6 +176,8 @@ enum { /** Logarithmic representation of sound pressure relative to a * reference value. */ SR_MQ_SOUND_PRESSURE_LEVEL, + SR_MQ_CARBON_MONOXIDE, + SR_MQ_RELATIVE_HUMIDITY, }; /** Values for sr_datafeed_analog.unit. */ @@ -208,6 +210,12 @@ enum { SR_UNIT_UNITLESS, /** Sound pressure level relative so 20 micropascals. */ SR_UNIT_DECIBEL_SPL, + /** + * Normalized (0 to 1) concentration of a substance or compound with 0 + * representing a concentration of 0%, and 1 being 100%. This is + * represented as the fraction of number of particles of the substance. + */ + SR_UNIT_CONCENTRATION, }; /** Values for sr_datafeed_analog.flags. */ @@ -260,7 +268,7 @@ struct sr_context; struct sr_datafeed_packet { uint16_t type; - void *payload; + const void *payload; }; struct sr_datafeed_header { @@ -328,7 +336,7 @@ struct sr_output_format { int (*event) (struct sr_output *o, int event_type, uint8_t **data_out, uint64_t *length_out); GString *(*recv) (struct sr_output *o, const struct sr_dev_inst *sdi, - struct sr_datafeed_packet *packet); + const struct sr_datafeed_packet *packet); int (*cleanup) (struct sr_output *o); }; @@ -426,6 +434,12 @@ enum { /** The device can act as a sound level meter. */ SR_HWCAP_SOUNDLEVELMETER, + /** The device can measure temperature. */ + SR_HWCAP_THERMOMETER, + + /** The device can measure humidity. */ + SR_HWCAP_HYGROMETER, + /*--- Device configuration ------------------------------------------*/ /** The device supports setting/changing its samplerate. */ @@ -605,7 +619,7 @@ struct sr_dev_driver { char *name; char *longname; int api_version; - int (*init) (void); + int (*init) (struct sr_context *sr_ctx); int (*cleanup) (void); GSList *(*scan) (GSList *options); GSList *(*dev_list) (void);