X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fmodbus%2Fmodbus_serial_rtu.c;h=ae76e7cf769edf2e14c7dd3d8489ab44467c521a;hb=aa0979482f6e7c269609bb2c22d7d75a2845ac75;hp=d8cb046d797917510ba5c01f45c26b8a9732cbd3;hpb=f54ebe0c066447e547d1d57d4bc612981b7d679d;p=libsigrok.git
diff --git a/src/modbus/modbus_serial_rtu.c b/src/modbus/modbus_serial_rtu.c
index d8cb046d..ae76e7cf 100644
--- a/src/modbus/modbus_serial_rtu.c
+++ b/src/modbus/modbus_serial_rtu.c
@@ -17,10 +17,11 @@
* along with this program. If not, see .
*/
+#include
#include
#include
#include
-#include "libsigrok.h"
+#include
#include "libsigrok-internal.h"
#define LOG_PREFIX "modbus_serial"
@@ -108,18 +109,18 @@ static int modbus_serial_rtu_send(void *priv,
uint8_t slave_addr = modbus->slave_addr;
uint16_t crc;
- result = serial_write_nonblocking(serial, &slave_addr, sizeof(slave_addr));
+ result = serial_write_blocking(serial, &slave_addr, sizeof(slave_addr), 0);
if (result < 0)
return result;
- result = serial_write_nonblocking(serial, buffer, buffer_size);
+ result = serial_write_blocking(serial, buffer, buffer_size, 0);
if (result < 0)
return result;
crc = modbus_serial_rtu_crc(0xFFFF, &slave_addr, sizeof(slave_addr));
crc = modbus_serial_rtu_crc(crc, buffer, buffer_size);
- result = serial_write_nonblocking(serial, &crc, sizeof(crc));
+ result = serial_write_blocking(serial, &crc, sizeof(crc), 0);
if (result < 0)
return result;
@@ -151,11 +152,11 @@ static int modbus_serial_rtu_read_data(void *priv, uint8_t *buf, int maxlen)
struct modbus_serial_rtu *modbus = priv;
int ret;
- ret = serial_read_nonblocking(modbus->serial, buf, maxlen);
+ ret = serial_read_nonblocking(modbus->serial, buf, maxlen);
if (ret < 0)
return ret;
- modbus->crc = modbus_serial_rtu_crc(modbus->crc, buf, ret);
- return ret;
+ modbus->crc = modbus_serial_rtu_crc(modbus->crc, buf, ret);
+ return ret;
}
static int modbus_serial_rtu_read_end(void *priv)