51 lines
1.6 KiB
C
51 lines
1.6 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 M;
|
|
amorComp DS;
|
|
amorComp D2;
|
|
amorComp D3;
|
|
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;
|
|
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
|
|
|