Added doReset wrapper around reset and added two functions to set and

retrieve the motor position which handle the conversion via
motorRecResolution.
This commit is contained in:
2025-03-28 14:51:09 +01:00
parent 828e9bc59c
commit 7729eceb28
6 changed files with 198 additions and 94 deletions

View File

@@ -55,8 +55,13 @@ sinqController::sinqController(const char *portName,
// Initial values for the average timeout mechanism, can be overwritten
// later by a FFI function
comTimeoutWindow_ = 3600;
comTimeoutWindow_ = 3600; // seconds
// Number of timeouts which may occur before an error is forwarded to the
// user
maxNumberTimeouts_ = 60;
// Queue holding the timeout event timestamps
timeoutEvents_ = {};
// Inform the user after 10 timeouts in a row (default value)
@@ -341,11 +346,11 @@ asynStatus sinqController::readInt32(asynUser *pasynUser, epicsInt32 *value) {
}
}
asynStatus sinqController::errMsgCouldNotParseResponse(const char *command,
const char *response,
int axisNo,
const char *functionName,
int line) {
asynStatus sinqController::couldNotParseResponse(const char *command,
const char *response,
int axisNo,
const char *functionName,
int line) {
asynStatus pl_status = asynSuccess;
asynPrint(ipPortUser_, ASYN_TRACE_ERROR,
@@ -591,8 +596,8 @@ extern "C" {
* implementation)
*
* @param comTimeoutWindow Size of the time window used to calculate
* the moving average of timeout events. Set this value to 0 to deactivate
* the watchdog.
* the moving average of timeout events in seconds. Set this value to 0 to
* deactivate the watchdog.
* @param maxNumberTimeouts Maximum number of timeouts which may occur
* within the time window before the watchdog is triggered.
* @return asynStatus