X-Git-Url: https://sigrok.org/gitweb/?p=libsigrok.git;a=blobdiff_plain;f=src%2Fhardware%2Fgmc-mh-1x-2x%2Fprotocol.c;h=68a409b4321b0ef72281388eb1c3ef251b97623f;hp=6cd8694fb55603547da9d6a62549e04b87abb1e1;hb=e57057aee778e723da572a6b5e2bd01526cc7beb;hpb=6433156c3275df933e4bf6dcfb020c91fca0ae86 diff --git a/src/hardware/gmc-mh-1x-2x/protocol.c b/src/hardware/gmc-mh-1x-2x/protocol.c index 6cd8694f..68a409b4 100644 --- a/src/hardware/gmc-mh-1x-2x/protocol.c +++ b/src/hardware/gmc-mh-1x-2x/protocol.c @@ -22,6 +22,7 @@ * @internal */ +#include #include #include #include "protocol.h" @@ -937,7 +938,6 @@ static int chk_msg14(struct sr_dev_inst *sdi) } if (devc->buf[1] == 0) { /* Error msg from device! */ - retc = SR_ERR_ARG; switch (devc->buf[2]) { case 1: /* Not used */ sr_err("Device: Illegal error code!"); @@ -1311,7 +1311,8 @@ int req_meas14(const struct sr_dev_inst *sdi) devc->cmd_idx = 0; create_cmd_14(devc->addr, 8, params, msg); devc->req_sent_at = g_get_monotonic_time(); - if (serial_write_blocking(serial, msg, sizeof(msg), 0) < (int)sizeof(msg)) { + if (serial_write_blocking(serial, msg, sizeof(msg), + serial_timeout(serial, sizeof(msg))) < (int)sizeof(msg)) { return SR_ERR; } @@ -1340,13 +1341,16 @@ int req_stat14(const struct sr_dev_inst *sdi, gboolean power_on) if (power_on) { sr_info("Write some data and wait 3s to turn on powered off device..."); - if (serial_write_blocking(serial, msg, sizeof(msg), 0) < 0) + if (serial_write_blocking(serial, msg, sizeof(msg), + serial_timeout(serial, sizeof(msg))) < 0) return SR_ERR; g_usleep(1 * 1000 * 1000); - if (serial_write_blocking(serial, msg, sizeof(msg), 0) < 0) + if (serial_write_blocking(serial, msg, sizeof(msg), + serial_timeout(serial, sizeof(msg))) < 0) return SR_ERR; g_usleep(1 * 1000 * 1000); - if (serial_write_blocking(serial, msg, sizeof(msg), 0) < 0) + if (serial_write_blocking(serial, msg, sizeof(msg), + serial_timeout(serial, sizeof(msg))) < 0) return SR_ERR; g_usleep(1 * 1000 * 1000); serial_flush(serial); @@ -1354,7 +1358,8 @@ int req_stat14(const struct sr_dev_inst *sdi, gboolean power_on) /* Write message and wait for reply */ devc->req_sent_at = g_get_monotonic_time(); - if (serial_write_blocking(serial, msg, sizeof(msg), 0) < (int)sizeof(msg)) { + if (serial_write_blocking(serial, msg, sizeof(msg), + serial_timeout(serial, sizeof(msg))) < (int)sizeof(msg)) { return SR_ERR; } @@ -1531,7 +1536,8 @@ SR_PRIV int config_set(uint32_t key, GVariant *data, const struct sr_dev_inst *s params[0] = 5; params[1] = 5; create_cmd_14(devc->addr, 6, params, msg); - if (serial_write_blocking(sdi->conn, msg, sizeof(msg), 0) < 0) + if (serial_write_blocking(sdi->conn, msg, sizeof(msg), + serial_timeout(sdi->conn, sizeof(msg))) < 0) return SR_ERR; else g_usleep(2 * 1000 * 1000); /* Wait to ensure transfer before interface switched off. */