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

@@ -118,6 +118,13 @@ class masterMacsController : public sinqController {
// responses from it.
static const uint32_t MAXBUF_ = 200;
/**
* @brief Get the communication timeout used in the writeRead command
*
* @return double Timeout in seconds
*/
double comTimeout() { return comTimeout_; }
private:
/*
Stores the constructor input comTimeout