0004-libmodbus-GfA-fflush-for-debug.patch 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. From 4e7a6c3d241f1da3da89d384e84c0c1547d17451 Mon Sep 17 00:00:00 2001
  2. From: Reinhard Russinger <reinhard@russinger.at>
  3. Date: Mon, 18 Jun 2018 18:39:18 +0200
  4. Subject: [PATCH] libmodbus GfA fflush for debug
  5. ---
  6. package/libmodbus/002-GfA-fflush-for-debug.patch | 47 ++++++++++++++++++++++++
  7. 1 file changed, 47 insertions(+)
  8. create mode 100644 package/libmodbus/002-GfA-fflush-for-debug.patch
  9. diff --git a/package/libmodbus/002-GfA-fflush-for-debug.patch b/package/libmodbus/002-GfA-fflush-for-debug.patch
  10. new file mode 100644
  11. index 0000000..93eaa9a
  12. --- /dev/null
  13. +++ b/package/libmodbus/002-GfA-fflush-for-debug.patch
  14. @@ -0,0 +1,47 @@
  15. +diff '--exclude=.libs*' -Naurp libmodbus-3.0.6/src/modbus.c b/src/modbus.c
  16. +--- libmodbus-3.0.6/src/modbus.c 2014-04-02 23:34:00.000000000 +0200
  17. ++++ b/src/modbus.c 2018-06-15 08:36:32.657047324 +0200
  18. +@@ -170,6 +170,7 @@ static int send_msg(modbus_t *ctx, uint8
  19. + for (i = 0; i < msg_length; i++)
  20. + printf("[%.2X]", msg[i]);
  21. + printf("\n");
  22. ++ fflush(stdout);
  23. + }
  24. +
  25. + /* In recovery mode, the write command will be issued until to be
  26. +@@ -407,6 +408,7 @@ static int receive_msg(modbus_t *ctx, ui
  27. + int i;
  28. + for (i=0; i < rc; i++)
  29. + printf("<%.2X>", msg[msg_length + i]);
  30. ++ fflush(stdout);
  31. + }
  32. +
  33. + /* Sums bytes received */
  34. +diff '--exclude=.libs*' -Naurp libmodbus-3.0.6/src/modbus-rtu.c b/src/modbus-rtu.c
  35. +--- libmodbus-3.0.6/src/modbus-rtu.c 2018-06-16 17:44:19.011371930 +0200
  36. ++++ b/src/modbus-rtu.c 2018-06-15 08:34:34.544888427 +0200
  37. +@@ -260,7 +260,7 @@ static int win32_ser_read(struct win32_s
  38. +
  39. + ssize_t _modbus_rtu_write_n_read(modbus_t *ctx, const uint8_t *req, int req_length) {
  40. + ssize_t w, r, i;
  41. +- uint8_t rb[req_length];
  42. ++ uint8_t rb[512];
  43. +
  44. + // Transmit
  45. + w = write(ctx->s, req, req_length);
  46. +@@ -273,6 +273,7 @@ ssize_t _modbus_rtu_write_n_read(modbus_
  47. + for (i = 0; i < r; ++i)
  48. + fprintf(stderr, "|%02X|", rb[i]);
  49. + fprintf(stderr, "\n");
  50. ++ fflush(stderr);
  51. + }
  52. +
  53. + return w;
  54. +@@ -325,6 +326,7 @@ int _modbus_rtu_check_integrity(modbus_t
  55. + if (ctx->debug) {
  56. + fprintf(stderr, "ERROR CRC received %0X != CRC calculated %0X\n",
  57. + crc_received, crc_calculated);
  58. ++ fflush(stderr);
  59. + }
  60. + if (ctx->error_recovery & MODBUS_ERROR_RECOVERY_PROTOCOL) {
  61. + _modbus_rtu_flush(ctx);
  62. --
  63. 2.7.4