/* Slip the request in now, before the main
* timer loop asks for metadata again. */
n = sprintf(cmd, "QM %d\r", devc->meas_type);
- if (serial_write(serial, cmd, n) == -1)
- sr_err("Unable to send QM (measurement): %s.",
- strerror(errno));
+ if (serial_write_blocking(serial, cmd, n, SERIAL_WRITE_TIMEOUT_MS) < 0)
+ sr_err("Unable to send QM (measurement).");
}
} else {
/* Response to QM <n> measurement request. */
if (revents == G_IO_IN) {
/* Serial data arrived. */
while(FLUKEDMM_BUFSIZE - devc->buflen - 1 > 0) {
- len = serial_read(serial, devc->buf + devc->buflen, 1);
+ len = serial_read_nonblocking(serial, devc->buf + devc->buflen, 1);
if (len < 1)
break;
devc->buflen++;
* out-of-sync or temporary disconnect issues. */
if ((devc->expect_response == FALSE && elapsed > devc->profile->poll_period)
|| elapsed > devc->profile->timeout) {
- if (serial_write(serial, "QM\r", 3) == -1)
- sr_err("Unable to send QM: %s.", strerror(errno));
+ if (serial_write_blocking(serial, "QM\r", 3, SERIAL_WRITE_TIMEOUT_MS) < 0)
+ sr_err("Unable to send QM.");
devc->cmd_sent_at = now;
devc->expect_response = TRUE;
}