
did not have enough counts - Reduced polling frequency in emon - Fixed a scriptcontext bug which would cause it to dump core in SctTransact on interrupts - Fixed an issue with missing <nl> at the end of batch files - Added a feature which does not call halt when counting stops in hmcontrol.c This is necessary for the BOA CCD - Initalized doNotFree properly in hipadaba.c - Added the travelling salesman reflection measurement algorithm - Added another component to amorset - Removed old SicsWait from nserver.c - Added a means to nxscript to write 16 bit data for BOA - Modified tasub to accept a drivabel as a motor and not only a motor. This became necessary to make EIGER work as A2 on EIGER is a virtual motor
55 lines
1.7 KiB
C
55 lines
1.7 KiB
C
|
|
/*-------------------------------------------------------------------
|
|
AMORSET together with amorcomp and amordrive implement the position
|
|
control facility for the reflectometer AMOR. This uses the algorithm
|
|
with the beam height as the baseline.
|
|
|
|
copyright: see file COPYRIGHT
|
|
|
|
Mark Koennecke, October 2005
|
|
--------------------------------------------------------------------*/
|
|
#ifndef AMORSET
|
|
#define AMORSET
|
|
#include "amorcomp.h"
|
|
|
|
typedef struct {
|
|
pObjectDescriptor pDes;
|
|
pIDrivable pDriv;
|
|
pIDrivable listDrive;
|
|
amorComp chopper;
|
|
amorComp M;
|
|
amorComp DS;
|
|
amorComp D1;
|
|
amorComp D2;
|
|
amorComp D3;
|
|
amorComp EL;
|
|
amorComp S;
|
|
amorComp D4;
|
|
amorComp A;
|
|
amorComp D5;
|
|
amorComp D;
|
|
double targetm2t;
|
|
double targets2t;
|
|
double targetath;
|
|
double actualm2t;
|
|
double actuals2t;
|
|
double actualath;
|
|
int mustDrive;
|
|
int mustRecalculate;
|
|
int driveList;
|
|
double dspar;
|
|
double detectoroffset;
|
|
int verbose;
|
|
}amorSet, *pamorSet;
|
|
/*--------------------------------------------------------------------*/
|
|
int AmorSetFactory(SConnection *pCon, SicsInterp *pSics, void *pData,
|
|
int argc, char *argv[]);
|
|
int AmorSetAction(SConnection *pCon, SicsInterp *pSics, void *pData,
|
|
int argc, char *argv[]);
|
|
/*============ helper functions for the virtual motors ===============*/
|
|
void amorSetMotor(pamorSet amor, int type, double value);
|
|
double amorGetMotor(pamorSet amor, SConnection *pCon, int type);
|
|
|
|
#endif
|
|
|