Commit ccb56bf
Issue#3849 fix backported to 2.9 (#3857)
* Issue#3849 fix backported to 2.9
Fixes calc_ifdelay() for baud > 19200 that was setting bit timing delays incorrectly leading to a variety of communication problems.
Fixes ENOMSG error handling that was locking up modbus communication.
* Back to original voodoo caused by conflating modbus timing calculation with pktuart hardware implementation.
(175u * baudrate + 99999u) / 100000u; could be implemented as (7u * baudrate + 3999(/4000; which would improve the calculation range but doesn't matter because already screening out large baud rates.
* Fix msg and reverse (baudrate > 19200).
---------
Co-authored-by: JTrantow <jerry.trantow@cumuluspd.com>1 parent 7b019a6 commit ccb56bf
1 file changed
+3
-5
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
387 | 387 | | |
388 | 388 | | |
389 | 389 | | |
390 | | - | |
| 390 | + | |
391 | 391 | | |
392 | 392 | | |
393 | | - | |
| 393 | + | |
394 | 394 | | |
395 | 395 | | |
396 | 396 | | |
| |||
1049 | 1049 | | |
1050 | 1050 | | |
1051 | 1051 | | |
1052 | | - | |
| 1052 | + | |
1053 | 1053 | | |
1054 | 1054 | | |
1055 | 1055 | | |
1056 | | - | |
1057 | | - | |
1058 | 1056 | | |
1059 | 1057 | | |
1060 | 1058 | | |
| |||
0 commit comments