Skip to content

Conversation

@EugenWiens
Copy link

Hi,
I added the library.json file. With this file platformio is able to control this library better during the build. Sorry for the MR based on master branch but I can't create MR based on a TAG.

This MR is based on the TAG 1.4.1

BR
Eugen

Lorenzo Cappelletti and others added 18 commits February 14, 2017 10:20
Internal CRC function consists of pure math formulas: it is compact but
slow. The user is allowed to provide a custom function which may use
a lookup table for computation speed-up.
Data are thus transparently transformed as it already happens for
ModbusSlave.
Quantity of register upper limit depends on the function being used.
A wrong number of bytes was transmitted.
When writing 1 register with function Write Multiple Registers, function
code was correctly set to 0x10, but number-of-registers fields were
missing because overwritten by CRC.
Modbus specifications detects a complete frame when there's no byte
reception for at least 3.5-byte time. If bytes are received via
interrupt and loop() is not part of it, delayed loop() calls causes
lagging responses. Now, a new frame is detected also when enough bytes
(according to function type) have been received.
It doesn't make sense to wait for long time when transmitting.
Why wait? The 3.5 pause is meant for detecting an end-of-frame.
In case master doesn't succeed in parsing the received frame, method
processing_error() is called. If it returns true (new default behavior),
the FSM goes to 'idle' instead of being trapped into 'processing_error'
state (old behavior).
@lorcap
Copy link
Owner

lorcap commented May 12, 2021

I'm going to push two more changes. Then I'll cherrypick your commits. Thanks for contributing.

@EugenWiens
Copy link
Author

Very cool.

Maybe you will like think about to move the LICENSE file to the root of the project, then GitHub detect the License automatically.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants