From: Uwe Hermann Date: Wed, 20 Jun 2012 21:55:23 +0000 (+0200) Subject: sr: analog: Add MQ and UNIT enums. X-Git-Tag: dsupstream~909 X-Git-Url: https://sigrok.org/gitweb/?p=libsigrok.git;a=commitdiff_plain;h=9956f2851fb97a4b4090cedcde6f4b83cb08e971 sr: analog: Add MQ and UNIT enums. MQ is the measured quantity, e.g. voltage, current, temperature. UNIT is the unit in which these quantities are measured, e.g. volt, ampere, celsius, kelvin, etc. etc. The same MQ can be specified in different UNITs by the driver, depending on what the hardware reports. Conversion is left to the frontends. --- diff --git a/hardware/hantek-dso/api.c b/hardware/hantek-dso/api.c index e6b87f85..c9310336 100644 --- a/hardware/hantek-dso/api.c +++ b/hardware/hantek-dso/api.c @@ -573,7 +573,8 @@ static void receive_transfer(struct libusb_transfer *transfer) packet.payload = &analog; /* TODO: support for 5xxx series 9-bit samples */ analog.num_samples = transfer->actual_length / 2; - analog.unit = SR_UNIT_VOLTAGE; + analog.mq = SR_MQ_VOLTAGE; + analog.unit = SR_UNIT_VOLT; analog.data = g_try_malloc(analog.num_samples * sizeof(float) * num_probes); data_offset = 0; for (i = 0; i < analog.num_samples; i++) { diff --git a/sigrok.h.in b/sigrok.h.in index 3e6f24e8..1d1f8caf 100644 --- a/sigrok.h.in +++ b/sigrok.h.in @@ -167,9 +167,27 @@ enum { SR_DF_FRAME_END, }; +/* sr_datafeed_analog.mq values */ +enum { + SR_MQ_VOLTAGE, + SR_MQ_CURRENT, + SR_MQ_RESISTANCE, + SR_MQ_CAPACITANCE, + SR_MQ_TEMPERATURE, + SR_MQ_FREQUENCY, + SR_MQ_DUTY_CYCLE, +}; + /* sr_datafeed_analog.unit values */ enum { - SR_UNIT_VOLTAGE, + SR_UNIT_VOLT, + SR_UNIT_AMPERE, + SR_UNIT_OHM, + SR_UNIT_FARAD, + SR_UNIT_CELSIUS, + SR_UNIT_KELVIN, + SR_UNIT_HERTZ, + SR_UNIT_PERCENTAGE, }; struct sr_datafeed_packet { @@ -199,7 +217,8 @@ struct sr_datafeed_meta_analog { struct sr_datafeed_analog { int num_samples; - int unit; + int mq; /* Measured quantity (e.g. voltage, current, temperature) */ + int unit; /* Unit in which the MQ is measured. */ float *data; };