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.
This commit is contained in:
parent
c13536fa9c
commit
9956f2851f
|
@ -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++) {
|
||||
|
|
23
sigrok.h.in
23
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;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue