Many improvements to the MasterMACS motor driver. It is working but the hardware is shaky.

Added support for dose rate controlled Phytron motors. Not tested!
Small bug fixes
This commit is contained in:
2023-05-31 09:13:41 +02:00
parent f333a27482
commit 72afd02b4e
9 changed files with 394 additions and 183 deletions

View File

@@ -389,7 +389,7 @@ static asynStatus el737_transactCommand(EL737priv *priv,char command[COMLEN],cha
if(errno == EAGAIN){
errlogPrintf("Lost response to %s with EAGAIN\n", command);
} else {
strncpy(message,"Lost communication",sizeof(message));
snprintf(message,sizeof(message), "Lost communication with errno %d", errno);
}
}
if(priv->dbInit){
@@ -455,9 +455,7 @@ static void runEvents(EL737priv *priv)
if(priv->sendThreshold == 1) {
// fallback when we do not have the DB fields or threshCounter is invalid
if(priv->presets[THRESHMON] <= 0) {
errlogPrintf("Invalid threshold preset monitor %ld, no threshold sent\n", priv->presets[THRESHMON]);
} else {
if(priv->presets[THRESHMON] > 0) {
sprintf(command,"DL %d %d", (int)priv->presets[THRESHMON],
(int)priv->presets[THRESHVAL]);
errlogPrintf("Sending threshold from presets, command %s\n", command);
@@ -465,7 +463,7 @@ static void runEvents(EL737priv *priv)
sprintf(command,"DR %d", (int)priv->presets[THRESHMON]);
status = el737_transactCommand(priv, command,reply);
if(status == asynSuccess) {
priv->sendThreshold = 0;
priv->sendThreshold = 0;
}
}
}