- 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:
koennecke
2010-03-25 10:02:47 +00:00
parent 40ff36d142
commit 7d30c4d352
13 changed files with 475 additions and 35 deletions

View File

@ -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;
}