- Adding first working version of new AMOR settings module

- Improved sls magnet driver
This commit is contained in:
koennecke
2005-10-05 07:36:37 +00:00
parent c7280ec25d
commit 544dd37279
21 changed files with 2521 additions and 12 deletions

50
amorset.h Normal file
View File

@ -0,0 +1,50 @@
/*-------------------------------------------------------------------
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