Custom timeout for enable and position methods

Added a custom timeout for the enable command, as it takes quite a bit
of time for the motor controller to answer and we don't want to show a
premature communication timeout error. Also changed the code in order to
use the motorPosition() and setMotorPosition() methods instead of
directly accessing the paramLib.
This commit is contained in:
2025-03-31 10:43:37 +02:00
parent a3e849f386
commit fe52245e38
4 changed files with 59 additions and 35 deletions

View File

@@ -57,7 +57,8 @@ class masterMacsController : public sinqController {
* @param payload Value send to MasterMACS.
* @return asynStatus
*/
asynStatus write(int axisNo, int tcpCmd, const char *payload);
asynStatus write(int axisNo, int tcpCmd, const char *payload,
double comTimeout = -1.0);
/**
* @brief Send a command to the hardware and receive a response (R mode)
@@ -68,7 +69,8 @@ class masterMacsController : public sinqController {
* expected to have the size MAXBUF_.
* @return asynStatus
*/
asynStatus read(int axisNo, int tcpCmd, char *response);
asynStatus read(int axisNo, int tcpCmd, char *response,
double comTimeout = -1.0);
/**
* @brief Send a command to the hardware (R or S mode) and receive a
@@ -85,7 +87,7 @@ class masterMacsController : public sinqController {
* @return asynStatus
*/
asynStatus writeRead(int axisNo, int tcpCmd, const char *payload,
char *response);
char *response, double comTimeout = -1.0);
/**
* @brief Parse "fullResponse" received upon sending "fullCommand".