|
@@ -0,0 +1,66 @@
|
|
|
|
+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
|
|
|
|
+
|