new features for evcontroller Nov.2002 M.Z.
This commit is contained in:
32
tecsdriv.c
32
tecsdriv.c
@@ -148,7 +148,7 @@
|
||||
}
|
||||
return EVControlWrapper(pCon,pSics,pData,argc,argv);
|
||||
} else if (NULL!=strstr(
|
||||
" log send tolerance access errorhandler interrupt interest safevalue currentvalue "
|
||||
" log send tolerance access errorhandler interrupt interest safevalue currentvalue maxwait settle "
|
||||
, pBueffel)) {
|
||||
/* forward to standard handler */
|
||||
return EVControlWrapper(pCon,pSics,pData,argc,argv);
|
||||
@@ -207,6 +207,35 @@
|
||||
return 1;
|
||||
}
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
static int TecsGetX(pEVDriver self, float *fTarget, float *fPos, float *fDelta)
|
||||
{
|
||||
pTecsDriv pMe = NULL;
|
||||
int iRet;
|
||||
time_t now;
|
||||
|
||||
assert(self);
|
||||
pMe = (pTecsDriv)self->pPrivate;
|
||||
assert(pMe);
|
||||
|
||||
time(&now);
|
||||
if (now!=pMe->lastGet) { /* TecsGet was not yet called within this second */
|
||||
pMe->lastGet=now;
|
||||
} else {
|
||||
CocDelay(200); /* wait 0.2 sec. (seems that SICS has nothing else to do then reading temperatures) */
|
||||
}
|
||||
|
||||
/* get temperature */
|
||||
iRet = TeccGetX(pMe->pData, fTarget, fPos, fDelta);
|
||||
if(iRet < 0) {
|
||||
pMe->lastError = ErrMessage;
|
||||
pMe->iLastError=1; /* severe */
|
||||
return 0;
|
||||
}
|
||||
pMe->iLastError=0;
|
||||
return 1;
|
||||
}
|
||||
/*----------------------------------------------------------------------------*/
|
||||
static int TecsRun(pEVDriver self, float fVal)
|
||||
{
|
||||
pTecsDriv pMe = NULL;
|
||||
@@ -384,6 +413,7 @@
|
||||
pNew->TryFixIt = TecsFix;
|
||||
pNew->Init = TecsInit;
|
||||
pNew->Close = TecsClose;
|
||||
pNew->GetValues= TecsGetX;
|
||||
|
||||
return pNew;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user