]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/brymen-dmm/protocol.c
SR_DF_ANALOG_OLD and sr_datafeed_analog_old renames.
[libsigrok.git] / src / hardware / brymen-dmm / protocol.c
index dff7b985bfe071a8c6f90af6e14719c8aff81fbe..4db460afd63c255fcdcd7f0edeb72e5cedd27517 100644 (file)
@@ -17,6 +17,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <config.h>
 #include "protocol.h"
 
 static void handle_packet(const uint8_t *buf, struct sr_dev_inst *sdi)
@@ -24,7 +25,7 @@ static void handle_packet(const uint8_t *buf, struct sr_dev_inst *sdi)
        float floatval;
        struct dev_context *devc;
        struct sr_datafeed_packet packet;
-       struct sr_datafeed_analog analog;
+       struct sr_datafeed_analog_old analog;
 
        devc = sdi->priv;
 
@@ -39,7 +40,7 @@ static void handle_packet(const uint8_t *buf, struct sr_dev_inst *sdi)
 
        if (analog.mq != -1) {
                /* Got a measurement. */
-               packet.type = SR_DF_ANALOG;
+               packet.type = SR_DF_ANALOG_OLD;
                packet.payload = &analog;
                sr_session_send(devc->cb_data, &packet);
                devc->num_samples++;
@@ -57,7 +58,7 @@ static void handle_new_data(struct sr_dev_inst *sdi)
 
        /* Try to get as much data as the buffer can hold. */
        len = DMM_BUFSIZE - devc->buflen;
-       len = serial_read(serial, devc->buf + devc->buflen, len);
+       len = serial_read_nonblocking(serial, devc->buf + devc->buflen, len);
        if (len < 1) {
                sr_err("Serial port read error: %d.", len);
                return;
@@ -179,7 +180,9 @@ SR_PRIV int brymen_stream_detect(struct sr_serial_dev_inst *serial,
 {
        int64_t start, time, byte_delay_us;
        size_t ibuf, i, maxlen;
-       int status, len, packet_len, stream_len;
+       ssize_t len, stream_len;
+       int packet_len;
+       int status;
 
        maxlen = *buflen;
 
@@ -187,15 +190,15 @@ SR_PRIV int brymen_stream_detect(struct sr_serial_dev_inst *serial,
               "ms, baudrate = %d).", serial->port, timeout_ms, baudrate);
 
        /* Assume 8n1 transmission. That is 10 bits for every byte. */
-       byte_delay_us = 10 * (1000000 / baudrate);
+       byte_delay_us = 10 * ((1000 * 1000) / baudrate);
        start = g_get_monotonic_time();
 
        packet_len = i = ibuf = len = 0;
        while (ibuf < maxlen) {
-               len = serial_read(serial, &buf[ibuf], maxlen - ibuf);
+               len = serial_read_nonblocking(serial, &buf[ibuf], maxlen - ibuf);
                if (len > 0) {
                        ibuf += len;
-                       sr_spew("Read %d bytes.", len);
+                       sr_spew("Read %zd bytes.", len);
                }
 
                time = g_get_monotonic_time() - start;
@@ -206,7 +209,7 @@ SR_PRIV int brymen_stream_detect(struct sr_serial_dev_inst *serial,
                        /* How large of a packet are we expecting? */
                        packet_len = stream_len;
                        status = get_packet_size(&buf[i], &packet_len);
-                       switch(status) {
+                       switch (status) {
                        case PACKET_HEADER_OK:
                                /* We know how much data we need to wait for. */
                                break;
@@ -247,14 +250,14 @@ SR_PRIV int brymen_stream_detect(struct sr_serial_dev_inst *serial,
 
                if (time >= (int64_t)timeout_ms) {
                        /* Timeout */
-                       sr_dbg("Detection timed out after %dms.", time);
+                       sr_dbg("Detection timed out after %" PRIi64 "ms.", time);
                        break;
                }
                g_usleep(byte_delay_us);
        }
 
        *buflen = ibuf;
-       sr_err("Didn't find a valid packet (read %d bytes).", ibuf);
+       sr_err("Didn't find a valid packet (read %zu bytes).", ibuf);
 
        return SR_ERR;
 }