X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fnorma-dmm%2Fprotocol.c;h=a077cf983b05ef392a642f322ebe9991fab0852e;hb=a078d3ec527c0a8180f59086e62a8905ae79aa65;hp=2c700ad5702eb8b42a392aa0ec8ba4ec17fd623c;hpb=07ffa5b315caab0d6d703e04f09035bc0f2b3ee4;p=libsigrok.git diff --git a/src/hardware/norma-dmm/protocol.c b/src/hardware/norma-dmm/protocol.c index 2c700ad5..a077cf98 100644 --- a/src/hardware/norma-dmm/protocol.c +++ b/src/hardware/norma-dmm/protocol.c @@ -22,6 +22,7 @@ * @internal */ +#include #include "protocol.h" #define LINE_LENGTH 20 @@ -50,7 +51,8 @@ static int nma_send_req(const struct sr_dev_inst *sdi, int req, char *params) devc->last_req = req; devc->last_req_pending = TRUE; - if (serial_write_blocking(serial, buf, len, 0) < 0) { + if (serial_write_blocking(serial, buf, len, + serial_timeout(serial, len)) < 0) { sr_err("Unable to send request."); devc->last_req_pending = FALSE; return SR_ERR; @@ -89,7 +91,7 @@ static void nma_process_line(const struct sr_dev_inst *sdi) int mmode, devstat; /* Measuring mode, device status */ float value; /* Measured value */ float scale; /* Scaling factor depending on range and function */ - struct sr_datafeed_analog analog; + struct sr_datafeed_analog_old analog; struct sr_datafeed_packet packet; devc = sdi->priv; @@ -118,7 +120,7 @@ static void nma_process_line(const struct sr_dev_inst *sdi) /* Start decoding. */ value = 0.0; scale = 1.0; - memset(&analog, 0, sizeof(struct sr_datafeed_analog)); + memset(&analog, 0, sizeof(struct sr_datafeed_analog_old)); /* * The numbers are hex digits, starting from 0. @@ -362,7 +364,7 @@ static void nma_process_line(const struct sr_dev_inst *sdi) analog.data = &value; memset(&packet, 0, sizeof(struct sr_datafeed_packet)); - packet.type = SR_DF_ANALOG; + packet.type = SR_DF_ANALOG_OLD; packet.payload = &analog; sr_session_send(devc->cb_data, &packet);