]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/korad-kaxxxxp/protocol.c
Add sr_dev_acquisition_stop(), factor out SR_ERR_DEV_CLOSED check.
[libsigrok.git] / src / hardware / korad-kaxxxxp / protocol.c
index 04800257e3e131ce9bb54735b4a7d90f936989d3..4aacd7cd1868270b926dac075b5e7366aec14901 100644 (file)
@@ -348,6 +348,7 @@ SR_PRIV int korad_kaxxxxp_receive_data(int fd, int revents, void *cb_data)
                /* Get the value. */
                korad_kaxxxxp_get_reply(serial, devc);
 
+               /* Note: digits/spec_digits will be overridden later. */
                sr_analog_init(&analog, &encoding, &meaning, &spec, 0);
 
                /* Send the value forward. */
@@ -359,6 +360,8 @@ SR_PRIV int korad_kaxxxxp_receive_data(int fd, int revents, void *cb_data)
                        analog.meaning->mq = SR_MQ_CURRENT;
                        analog.meaning->unit = SR_UNIT_AMPERE;
                        analog.meaning->mqflags = 0;
+                       analog.encoding->digits = 3;
+                       analog.spec->spec_digits = 3;
                        analog.data = &devc->current;
                        sr_session_send(sdi, &packet);
                }
@@ -366,6 +369,8 @@ SR_PRIV int korad_kaxxxxp_receive_data(int fd, int revents, void *cb_data)
                        analog.meaning->mq = SR_MQ_VOLTAGE;
                        analog.meaning->unit = SR_UNIT_VOLT;
                        analog.meaning->mqflags = SR_MQFLAG_DC;
+                       analog.encoding->digits = 2;
+                       analog.spec->spec_digits = 2;
                        analog.data = &devc->voltage;
                        sr_session_send(sdi, &packet);
                        sr_sw_limits_update_samples_read(&devc->limits, 1);
@@ -382,7 +387,7 @@ SR_PRIV int korad_kaxxxxp_receive_data(int fd, int revents, void *cb_data)
        }
 
        if (sr_sw_limits_check(&devc->limits)) {
-               sdi->driver->dev_acquisition_stop(sdi);
+               sr_dev_acquisition_stop(sdi);
                return TRUE;
        }