- Extended sicshdbadapter to attach a node to the target of any
drivable. Required a new event in devexec.c - Fixed the phytron driver to handle speed well - Added a protocol driver for the TCP/IP bridge to the SLS magnets SKIPPED: psi/make_gen psi/phytron.c psi/psi.c psi/slsecho.c psi/sps.c
This commit is contained in:
23
devexec.c
23
devexec.c
@ -9,13 +9,13 @@
|
||||
revised for use with tasker: Mark Koennecke, September 1997
|
||||
Locking added: Mark Koennecke, August 2002
|
||||
|
||||
Refactored and instrumentation for instrument staticstics added.
|
||||
Refactored and instrumentation for instrument statistics added.
|
||||
Mark Koennecke, July 2006
|
||||
|
||||
Reworked to use copied connection objects instead of context pushes.
|
||||
Mark Koennecke, January 2009
|
||||
|
||||
Modified to accomodate run levels
|
||||
Modified to accommodate run levels
|
||||
Mark Koennecke, April 2009
|
||||
|
||||
Copyright:
|
||||
@ -278,7 +278,18 @@ void ExeInterest(pExeList self, pDevEntry pDev, char *text)
|
||||
InvokeCallBack(self->pCall, DRIVSTAT, buf);
|
||||
}
|
||||
}
|
||||
/*------------------------------------------------------------------------*/
|
||||
static void InvokeNewTarget(pExeList self, char *name, float target)
|
||||
{
|
||||
NewTarget targetEvent;
|
||||
|
||||
targetEvent.name = strdup(name);
|
||||
targetEvent.target = target;
|
||||
InvokeCallBack(self->pCall, NEWTARGET, &targetEvent);
|
||||
if(targetEvent.name != NULL){
|
||||
free(targetEvent.name);
|
||||
}
|
||||
}
|
||||
/*------------------------------------------------------------------------*/
|
||||
int StartDevice(pExeList self, char *name, pObjectDescriptor pDes,
|
||||
void *pData, SConnection * pCon, int level, float fNew)
|
||||
@ -342,6 +353,9 @@ int StartDevice(pExeList self, char *name, pObjectDescriptor pDes,
|
||||
name, oldVal, fNew);
|
||||
SCWrite(pCon, pBueffel, eValue);
|
||||
}
|
||||
if(iRet == OKOK){
|
||||
InvokeNewTarget(self,name,fNew);
|
||||
}
|
||||
} else if (pCountInt) {
|
||||
iRet = pCountInt->StartCount(pData, pCon);
|
||||
} else { /* this is a programmers error */
|
||||
@ -1322,3 +1336,8 @@ void DevExecInit(void)
|
||||
AddCommand(pServ->pSics, "continue", ContinueAction, NULL, pExe);
|
||||
AddCommand(pServ->pSics, "devexec", DevexecAction, NULL, pExe);
|
||||
}
|
||||
/*---------------------------------------------------------------------*/
|
||||
void *GetExecutorCallback(pExeList self)
|
||||
{
|
||||
return self->pCall;
|
||||
}
|
||||
|
Reference in New Issue
Block a user