diff --git a/oicom.c b/oicom.c deleted file mode 100644 index cdc3026..0000000 --- a/oicom.c +++ /dev/null @@ -1,131 +0,0 @@ -/*--------------------------------------------------------------------------- -oicom.c - -Communication routines for Oxford Instruments equipment - -Markus Zolliker, Aug 2004 ----------------------------------------------------------------------------- - -there is no error return value, eve->errCode is used. On success, eve->errCode -is not changed, i.e. an existing errCode is not overwritten. -*/ - -#include -#include -#include -#include -#include -#include "sics.h" -#include "rs232controller.h" -#include "oicom.h" - - -/*----------------------------------------------------------------------------*/ -int OiHandler(Eve * eve) -{ - int iret, l; - - if (availableNetRS232(eve->ser)) { - l = sizeof(eve->ans); - iret = readRS232TillTerm(eve->ser, eve->ans, &l); - if (eve->state < expectState) { - if (iret == 1) { - EvePrintf(eve, eError, "unexpected answer: %s", eve->ans); - } - goto quit; - } - if (iret == 1) { - EvePrintf(eve, -2, "ans: %s", eve->ans); - if (strcmp(eve->ans, "?ck") == 0) { - if (eve->state == lostState) { - EveWrite(eve, "V"); - goto quit; - } - } else if (eve->state == lostState) { - goto quit; - } else if (eve->cmd[0] == 'V') { - if (strcmp(eve->ans, eve->version) == 0) { - /* we are still connected with the same device */ - } else if (*eve->version == '\0') { - strlcat(eve->version, eve->ans, sizeof(eve->version) - 1); - } else { /* version (and therefore device) changed */ - eve->errCode = EVE_DEV_CHANGED; - eve->state = idleState; - goto error; - } - eve->state = idleState; - goto quit; - } else if (eve->cmd[1] == 'k') { /* ck */ - } else if (eve->cmd[0] != eve->ans[0]) { - iret = EVE_ILL_ANS; - } - } - if (iret != 1) { - eve->errCode = iret; - eve->state = idleState; - goto error; - } - eve->state = readState; - } else if (eve->state == expectState) { - if (time(NULL) > eve->cmdtime + 60) { - eve->errCode = TIMEOUT; - eve->state = lostState; - } - } else if (eve->state == lostState) { - if (time(NULL) > eve->cmdtime) { - EveWrite(eve, "ck"); - eve->state = lostState; - } - } - goto quit; -error: - EveWriteError(eve); -quit: - return EveHandler(eve); -} - -double OiGetFlt(Eve * eve, int dig, int *pdig) -{ - char *endp, *p; - double val; - - if (eve->state != readState) { - /* eve->errCode = EVE_ILL_ANS; */ - return 0.0; - } - p = strchr(eve->ans, '.'); - if (p) { - if (pdig != NULL) { - *pdig = strlen(eve->ans) - (p - eve->ans) - 1; - } - val = strtod(eve->ans + 1, &endp); - if (*endp != '\0') { - eve->errCode = EVE_ILL_ANS; - return 0.0; - } - } else { - val = strtol(eve->ans + 1, &endp, 10); - if (*endp != '\0') { - eve->errCode = EVE_ILL_ANS; - return 0.0; - } - if (eve->syntax == 0) { /* old style format */ - for (; dig > 0; dig--) - val = val * 0.1; - } - } - return val; -} - -void OiSet(Eve * eve, char *cmd, double val, int dig) -{ - char buf[64]; - long lval; - - if (eve->syntax == 0) { - snprintf(buf, sizeof(buf), "%s%.*f", cmd, dig, val); - } else { - snprintf(buf, sizeof(buf), "%s%f", cmd, val); - } - EveWrite(eve, buf); -}