X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmodbus%2Fmodbus_serial_rtu.c;h=ae76e7cf769edf2e14c7dd3d8489ab44467c521a;hb=8f39d5698d613630599f28cd8a674d5679629dc1;hp=b723020ba257064d492dd0d111d5b27102645656;hpb=c1aae90038456a61d0f9313d34e6107c3440d3e7;p=libsigrok.git diff --git a/src/modbus/modbus_serial_rtu.c b/src/modbus/modbus_serial_rtu.c index b723020b..ae76e7cf 100644 --- a/src/modbus/modbus_serial_rtu.c +++ b/src/modbus/modbus_serial_rtu.c @@ -17,6 +17,7 @@ * along with this program. If not, see . */ +#include #include #include #include @@ -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)