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; };