|
@@ -269,7 +269,7 @@ static void _modbus_rtu_ioctl_rts(modbus_t *ctx, int on)
|
|
|
|
|
|
ssize_t _modbus_rtu_write_n_read(modbus_t *ctx, const uint8_t *req, int req_length) {
|
|
|
ssize_t w, r, i;
|
|
|
- uint8_t rb[req_length];
|
|
|
+ uint8_t rb[512];
|
|
|
|
|
|
// Transmit
|
|
|
w = write(ctx->s, req, req_length);
|
|
@@ -282,6 +282,7 @@ ssize_t _modbus_rtu_write_n_read(modbus_t *ctx, const uint8_t *req, int req_leng
|
|
|
for (i = 0; i < r; ++i)
|
|
|
fprintf(stderr, "|%02X|", rb[i]);
|
|
|
fprintf(stderr, "\n");
|
|
|
+ fflush(stderr);
|
|
|
}
|
|
|
|
|
|
return w;
|
|
@@ -413,6 +414,7 @@ static int _modbus_rtu_check_integrity(modbus_t *ctx, uint8_t *msg,
|
|
|
if (ctx->debug) {
|
|
|
fprintf(stderr, "ERROR CRC received 0x%0X != CRC calculated 0x%0X\n",
|
|
|
crc_received, crc_calculated);
|
|
|
+ fflush(stderr);
|
|
|
}
|
|
|
|
|
|
if (ctx->error_recovery & MODBUS_ERROR_RECOVERY_PROTOCOL) {
|