]> sigrok.org Git - libsigrok.git/commitdiff
cem-dt-885x: Convert to SR_DF_ANALOG.
authorUwe Hermann <redacted>
Fri, 27 May 2016 15:33:46 +0000 (17:33 +0200)
committerUwe Hermann <redacted>
Thu, 16 Jun 2016 13:05:04 +0000 (15:05 +0200)
src/hardware/cem-dt-885x/protocol.c
src/hardware/cem-dt-885x/protocol.h

index 2509818505f3c19935b2f4a59a55da88ba64e7cc..65642775558c8c27a5fa69ba44e78e61ac5d559a 100644 (file)
@@ -66,7 +66,10 @@ static void process_mset(const struct sr_dev_inst *sdi)
 {
        struct dev_context *devc;
        struct sr_datafeed_packet packet;
-       struct sr_datafeed_analog_old analog;
+       struct sr_datafeed_analog analog;
+       struct sr_analog_encoding encoding;
+       struct sr_analog_meaning meaning;
+       struct sr_analog_spec spec;
        GString *dbg;
        float fvalue;
        int i;
@@ -131,14 +134,14 @@ static void process_mset(const struct sr_dev_inst *sdi)
                                break;
                        }
                }
-               memset(&analog, 0, sizeof(struct sr_datafeed_analog_old));
-               analog.mq = SR_MQ_SOUND_PRESSURE_LEVEL;
-               analog.mqflags = devc->cur_mqflags;
-               analog.unit = SR_UNIT_DECIBEL_SPL;
-               analog.channels = sdi->channels;
+               sr_analog_init(&analog, &encoding, &meaning, &spec, 0);
+               analog.meaning->mq = SR_MQ_SOUND_PRESSURE_LEVEL;
+               analog.meaning->mqflags = devc->cur_mqflags;
+               analog.meaning->unit = SR_UNIT_DECIBEL_SPL;
+               analog.meaning->channels = sdi->channels;
                analog.num_samples = 1;
                analog.data = &devc->last_spl;
-               packet.type = SR_DF_ANALOG_OLD;
+               packet.type = SR_DF_ANALOG;
                packet.payload = &analog;
                sr_session_send(sdi, &packet);
 
@@ -177,7 +180,10 @@ static void send_data(const struct sr_dev_inst *sdi, unsigned char *data,
 {
        struct dev_context *devc;
        struct sr_datafeed_packet packet;
-       struct sr_datafeed_analog_old analog;
+       struct sr_datafeed_analog analog;
+       struct sr_analog_encoding encoding;
+       struct sr_analog_meaning meaning;
+       struct sr_analog_spec spec;
        float fbuf[SAMPLES_PER_PACKET];
        unsigned int i;
 
@@ -189,14 +195,14 @@ static void send_data(const struct sr_dev_inst *sdi, unsigned char *data,
                fbuf[i] += ((data[i * 2 + 1] & 0xf0) >> 4);
                fbuf[i] += (data[i * 2 + 1] & 0x0f) / 10.0;
        }
-       memset(&analog, 0, sizeof(struct sr_datafeed_analog_old));
-       analog.mq = SR_MQ_SOUND_PRESSURE_LEVEL;
-       analog.mqflags = devc->cur_mqflags;
-       analog.unit = SR_UNIT_DECIBEL_SPL;
-       analog.channels = sdi->channels;
+       sr_analog_init(&analog, &encoding, &meaning, &spec, 0);
+       analog.meaning->mq = SR_MQ_SOUND_PRESSURE_LEVEL;
+       analog.meaning->mqflags = devc->cur_mqflags;
+       analog.meaning->unit = SR_UNIT_DECIBEL_SPL;
+       analog.meaning->channels = sdi->channels;
        analog.num_samples = num_samples;
        analog.data = fbuf;
-       packet.type = SR_DF_ANALOG_OLD;
+       packet.type = SR_DF_ANALOG;
        packet.payload = &analog;
        sr_session_send(sdi, &packet);
 
index d6a9466175dae456c72cf4a5974ba9ebbacf386b..bb0984225e0dc5de2dfa5a3a5951aa2778f0c627 100644 (file)
@@ -90,7 +90,7 @@ enum {
 /** Private, per-device-instance driver context. */
 struct dev_context {
        /* Device state */
-       uint64_t cur_mqflags;
+       enum sr_mqflag cur_mqflags;
        int recording;
        int cur_meas_range;
        int cur_data_source;