speedup controller communication, allow brake on digital output #7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The default settings behave like the previous version of the support module, but message CRC is generated and checked. It uses the serial poll method (one command, one reply), no brake, no stage output en-/disabling.
It is worth using a parallel poll method if your controller has the firmware v1.1.12 or later: the normal round trip time is 10ms, the old serial method uses four commands, which is about 40ms multiplied with the number of motors. For a 10 motor phyMOTION it takes 400ms for a single poll, the old polling method took even longer with more axes. The parallel method uses mostly one round trip time with a longer command line and reply (up to 1000 bytes for a command line as suggested by Phytron, up to 2000 bytes per reply).
Tested at two beam lines at Helmholtz-Zentrum Berlin (Bessy-II).