123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- From 4e7a6c3d241f1da3da89d384e84c0c1547d17451 Mon Sep 17 00:00:00 2001
- From: Reinhard Russinger <reinhard@russinger.at>
- Date: Mon, 18 Jun 2018 18:39:18 +0200
- Subject: [PATCH] libmodbus GfA fflush for debug
- ---
- package/libmodbus/002-GfA-fflush-for-debug.patch | 47 ++++++++++++++++++++++++
- 1 file changed, 47 insertions(+)
- create mode 100644 package/libmodbus/002-GfA-fflush-for-debug.patch
- diff --git a/package/libmodbus/002-GfA-fflush-for-debug.patch b/package/libmodbus/002-GfA-fflush-for-debug.patch
- new file mode 100644
- index 0000000..93eaa9a
- --- /dev/null
- +++ b/package/libmodbus/002-GfA-fflush-for-debug.patch
- @@ -0,0 +1,47 @@
- +diff '--exclude=.libs*' -Naurp libmodbus-3.0.6/src/modbus.c b/src/modbus.c
- +--- libmodbus-3.0.6/src/modbus.c 2014-04-02 23:34:00.000000000 +0200
- ++++ b/src/modbus.c 2018-06-15 08:36:32.657047324 +0200
- +@@ -170,6 +170,7 @@ static int send_msg(modbus_t *ctx, uint8
- + for (i = 0; i < msg_length; i++)
- + printf("[%.2X]", msg[i]);
- + printf("\n");
- ++ fflush(stdout);
- + }
- +
- + /* In recovery mode, the write command will be issued until to be
- +@@ -407,6 +408,7 @@ static int receive_msg(modbus_t *ctx, ui
- + int i;
- + for (i=0; i < rc; i++)
- + printf("<%.2X>", msg[msg_length + i]);
- ++ fflush(stdout);
- + }
- +
- + /* Sums bytes received */
- +diff '--exclude=.libs*' -Naurp libmodbus-3.0.6/src/modbus-rtu.c b/src/modbus-rtu.c
- +--- libmodbus-3.0.6/src/modbus-rtu.c 2018-06-16 17:44:19.011371930 +0200
- ++++ b/src/modbus-rtu.c 2018-06-15 08:34:34.544888427 +0200
- +@@ -260,7 +260,7 @@ static int win32_ser_read(struct win32_s
- +
- + 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);
- +@@ -273,6 +273,7 @@ ssize_t _modbus_rtu_write_n_read(modbus_
- + for (i = 0; i < r; ++i)
- + fprintf(stderr, "|%02X|", rb[i]);
- + fprintf(stderr, "\n");
- ++ fflush(stderr);
- + }
- +
- + return w;
- +@@ -325,6 +326,7 @@ int _modbus_rtu_check_integrity(modbus_t
- + if (ctx->debug) {
- + fprintf(stderr, "ERROR CRC received %0X != CRC calculated %0X\n",
- + crc_received, crc_calculated);
- ++ fflush(stderr);
- + }
- + if (ctx->error_recovery & MODBUS_ERROR_RECOVERY_PROTOCOL) {
- + _modbus_rtu_flush(ctx);
- --
- 2.7.4
|