Fixed moving after enable bug

When a MasterMacs motor is powered for the first time, it does not have
a target set. Therefore, the targetReached bit is 0, which the driver
used to interpret as "moving". This is solved now by an additional flag
which checks if the motor did a handshake.

Additionally, the communication module was simplified and new utility
scripts were added. It is now made sure that the communication timeout
for enabling and sending move commands is now at least equal to
PowerCycleTimeout defined in src/masterMacsAxis.cpp.
This commit is contained in:
2025-04-17 16:34:14 +02:00
parent 699b588ba5
commit 60053244a1
7 changed files with 292 additions and 132 deletions

View File

@ -14,6 +14,8 @@ This driver is a standard sinqMotor-derived driver and does not need any specifi
The folder "utils" contains utility scripts for working with masterMacs motor controllers:
- decodeStatus.py: Take the return message of a R10 (read status) command and print it in human-readable form.
- decodeError.py: Take the return message of a R11 (read error) command and print it in human-readable form.
- writeRead.py: Send messages to the controller and receive answers.
## Developer guide