oscillate.c SICS-232

You can now run the oscillating collimator for a specified number of cycles.
A MOTEND event is now sent when the oscillator stops.
Also temporarily set status to eEager to allow changing the motor accesscode parameter while something else is running, (eg a counter)

motor.c
finishDriving is no longer static so we can call it from the oscilator and generate a MOTEND event.

west4100.c
Return 'success' from wrapper on "controlsensor" and "sensorlist" queries so we can test and capture their values in scripts.

Makefile
Compile the quokka beamstopaction object

site_ansto.c
Add the MakeActionObject command.  Currently only makes the hardcoded beamstopaction object

obpar.c
Report object name and parameter on an illegal attempt to set a parameter

hmm_configuration_common_1.tcl
Add oscillating collimator control flag for Wombat.  If true we use hmm to start the histogram server instead of hmc.  TODO remove hmc and always use hmm.

hipd/config/motors/motor_configuration.tcl
Don't load anticollider config twice.  Fix oct limits

wombat_configuration.tcl
Environment configuration must be loaded before running server_init.

hrpd/config/hmm/hmm_configuration.tcl
Fix default time-bin to match 10Hz frame frequency

hrpd/config/motors/motor_configuration.tcl
Added dummy motor for testing.

reflectometer/config/hmm/detector.tcl
Fill in dhv1 configuration parameters.

sans/config/hmm/detector.tcl
Enable detector voltage control

sans/config/hmm/hmm_configuration.tcl
SICS-227 set default resolution to 192x192

sans/config/motors/motor_configuration.tcl
Added dummy motor for testing

quokka parameters.tcl
Fix L2mm calculation, Fix SICS-228 users cannot set rotapdeg

beamstopaction.[ch]
NEW: Implements an action command to drive the quokka beamstops up and down.

r2670 | ffr | 2008-08-07 13:17:29 +1000 (Thu, 07 Aug 2008) | 53 lines
This commit is contained in:
Ferdi Franceschini
2008-08-07 13:17:29 +10:00
committed by Douglas Clowes
parent dd984f6327
commit d7cea6914c
19 changed files with 142 additions and 57 deletions

View File

@@ -241,38 +241,38 @@ int GetWorkingSetpointWEST4100(pEVDriver self);
iRet = EVCList(self,pCon);
sprintf(pBueffel,"%s.NumSensors = %d\n",self->pName,1);
sprintf(pBueffel,"%s.NumSensors = %d",self->pName,1);
SCWrite(pCon,pBueffel,eValue);
sprintf(pBueffel,"%s.ControlSensor = %s\n",self->pName,"SensorA");
sprintf(pBueffel,"%s.ControlSensor = %s",self->pName,"SensorA");
SCWrite(pCon,pBueffel,eValue);
sprintf(pBueffel,"%s.ModbusAddress = %d\n",self->pName,GetAddressWEST4100(self->pDriv));
sprintf(pBueffel,"%s.ModbusAddress = %d",self->pName,GetAddressWEST4100(self->pDriv));
SCWrite(pCon,pBueffel,eValue);
sprintf(pBueffel,"%s.TransactionNumber = %d\n",self->pName,GetTransactWEST4100(self->pDriv));
sprintf(pBueffel,"%s.TransactionNumber = %d",self->pName,GetTransactWEST4100(self->pDriv));
SCWrite(pCon,pBueffel,eValue);
sprintf(pBueffel,"%s.ProcessValue = %d\n",self->pName,GetProcessValueWEST4100(self->pDriv));
sprintf(pBueffel,"%s.ProcessValue = %d",self->pName,GetProcessValueWEST4100(self->pDriv));
SCWrite(pCon,pBueffel,eValue);
sprintf(pBueffel,"%s.Setpoint = %d\n",self->pName,GetSetpointWEST4100(self->pDriv));
sprintf(pBueffel,"%s.Setpoint = %d",self->pName,GetSetpointWEST4100(self->pDriv));
SCWrite(pCon,pBueffel,eValue);
sprintf(pBueffel,"%s.WorkingSetpoint = %d\n",self->pName,GetWorkingSetpointWEST4100(self->pDriv));
sprintf(pBueffel,"%s.WorkingSetpoint = %d",self->pName,GetWorkingSetpointWEST4100(self->pDriv));
SCWrite(pCon,pBueffel,eValue);
sprintf(pBueffel,"%s.Alarm1 = %d\n",self->pName,GetAlarm1WEST4100(self->pDriv));
sprintf(pBueffel,"%s.Alarm1 = %d",self->pName,GetAlarm1WEST4100(self->pDriv));
SCWrite(pCon,pBueffel,eValue);
sprintf(pBueffel,"%s.Alarm2 = %d\n",self->pName,GetAlarm2WEST4100(self->pDriv));
sprintf(pBueffel,"%s.Alarm2 = %d",self->pName,GetAlarm2WEST4100(self->pDriv));
SCWrite(pCon,pBueffel,eValue);
sprintf(pBueffel,"%s.PowerLimit = %d\n",self->pName,GetPowerLimitWEST4100(self->pDriv));
sprintf(pBueffel,"%s.PowerLimit = %d",self->pName,GetPowerLimitWEST4100(self->pDriv));
SCWrite(pCon,pBueffel,eValue);
sprintf(pBueffel,"%s.RampRate = %d\n",self->pName,GetRampRateWEST4100(self->pDriv));
sprintf(pBueffel,"%s.RampRate = %d",self->pName,GetRampRateWEST4100(self->pDriv));
SCWrite(pCon,pBueffel,eValue);
return iRet;
@@ -300,8 +300,9 @@ int GetWorkingSetpointWEST4100(pEVDriver self);
// Set or Get
strtolower(argv[1]);
if( (strcmp(argv[1],"controlsensor") == 0) || (strcmp(argv[1],"sensorlist") == 0)){
sprintf(pBueffel,"%s.%s = %s\n",self->pName,argv[1],"sensorA");
sprintf(pBueffel,"%s.%s = %s",self->pName,argv[1],"sensorA");
SCWrite(pCon,pBueffel,eValue);
return 1;
}
else if((strcmp(argv[1],"setpoint") == 0) || (strcmp(argv[1],"alarm1") == 0)
|| (strcmp(argv[1],"powerlimit") == 0) || (strcmp(argv[1],"alarm2") == 0)
@@ -322,7 +323,7 @@ int GetWorkingSetpointWEST4100(pEVDriver self);
else /* get case */
{
iRet = WEST4100GetPar(self,argv[1],&fVal);
sprintf(pBueffel,"%s.%s = %f\n",self->pName,argv[1],fVal);
sprintf(pBueffel,"%s.%s = %f",self->pName,argv[1],fVal);
SCWrite(pCon,pBueffel,eValue);
return 1;
}
@@ -337,7 +338,7 @@ int GetWorkingSetpointWEST4100(pEVDriver self);
else /* get case */
{
iRet = WEST4100Query(self->pDriv,atoi(argv[2]),&fValue);
sprintf(pBueffel,"%s.%s %s = %d\n",self->pName,argv[1],argv[2],fValue);
sprintf(pBueffel,"%s.%s %s = %d",self->pName,argv[1],argv[2],fValue);
SCWrite(pCon,pBueffel,eValue);
return 1;
}