Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IO_Modbus Hal driver #428

Closed
wants to merge 35 commits into from
Closed

Conversation

travis-farmer
Copy link
Member

I would like to include my Modbus driver for Hal into the available methods of I/O communication.
More info and usage can be found Here.
More info about Modbus can be found Here.
it has been tested on a STM32 F439ZI, and needs to be tested on other boards. I have it set to error out on unsupported boards, unless the flag MBEXPERIMENTAL is defined in config.h, and that is only to weed out use for untested boards, but the flag is there to allow beta testers to test other boards.
it requires no external libraries, as i have squashed them into one driver, and re-wrote it to be the least blocking i can.
in testing, when the test node is communicating, there is no noticeable lag in sending DCC commands. there is only a slight update lag between changing an input pin on a node, and JMRI updating the status. when the node is unplugged, there is also no lag in sending DCC commands noticed, but other nodes will be very lagged while it tried to make contact with the lost node. when the node is replaced, it takes a moment to boot, and Modbus spits out a CRC error due to the lost command, but recovers very quickly after that. again, with no lag in DCC commands noticed.
i have tested various baud rates, and in my tests, 115200 worked well, but may need to be slowed down in severe noise and distance.
please feel free to ask any questions. :-)

@travis-farmer
Copy link
Member Author

never-mind...

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.

1 participant