00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef AG_H
00027 #define AG_H
00028
00029 #include "ccdip.h"
00030 #include "agDefines.h"
00031
00032
00033
00034
00035
00036
00037
00038
00039 #define agCMD_OFFSAG "OFFSAG"
00040 #define agCMD_GETAGID "GETAGID"
00041
00042 #define agCMD_OFFSAG "OFFSAG"
00043
00044 static const char *agErrorVectorValues[] =
00045 {
00046 "LAST",
00047 "MEAN",
00048 };
00049
00050
00051
00052
00053 typedef struct
00054 {
00055 vltDOUBLE ipCenIntensity;
00056 ccdipAGBUF ipBuff;
00057 ccdIPEXPOSURE exposure;
00058 } agCcdipAGBUF;
00059
00060 typedef enum
00061 {
00062 agLAST,
00063 agMEAN,
00064 } agERROR_VECTOR_VALUES;
00065
00066
00067 typedef struct
00068 {
00069 vltDOUBLE ipXCen;
00070 vltDOUBLE ipYCen;
00071 vltDOUBLE ipCenIntensity;
00072 } agERROR_VECTOR;
00073
00074 typedef struct
00075 {
00076 vltDOUBLE alpha;
00077 vltDOUBLE delta;
00078 } agOFFSET;
00079
00080 typedef struct
00081 {
00082 ccsENVNAME envName;
00083 ccsPROCNAME procName;
00084 } agTRK_AXIS;
00085
00086 typedef struct
00087 {
00088 vltINT32 nbrAxisDefined;
00089 agTRK_AXIS axis[agMAX_DESTINATION];
00090 msgPROCESSID destId[agMAX_DESTINATION];
00091 ccsERROR errMsg;
00092 } agTRK_AXIS_LIST;
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103 typedef struct
00104 {
00105 vltDOUBLE Kp;
00106 vltDOUBLE Ki;
00107 vltDOUBLE Kii;
00108 vltDOUBLE MaxI;
00109 vltDOUBLE MaxII;
00110 vltINT32 freqDep;
00111 } agPII;
00112
00113
00114
00115
00116 typedef struct
00117 {
00118 vltDOUBLE Kp;
00119 vltDOUBLE Ki;
00120 vltDOUBLE Kii;
00121 vltDOUBLE MaxI;
00122 vltDOUBLE MaxII;
00123 } agPII_CMD;
00124
00125
00126
00127
00128
00129
00130 typedef struct
00131 {
00132 vltDOUBLE correction;
00133 vltDOUBLE I;
00134 vltDOUBLE II;
00135 } agPII_HISTORY;
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146 ccsCOMPL_STAT agInitAll(char *ccdName, char *dbRoot);
00147
00148 ccsCOMPL_STAT agDbReadTrkAxisList (
00149 OUT agTRK_AXIS_LIST *axisList,
00150 OUT ccsERROR *error);
00151
00152 ccsCOMPL_STAT agDbWriteTrkAxisList (
00153 IN agTRK_AXIS_LIST *axisList,
00154 OUT ccsERROR *error);
00155
00156 ccsCOMPL_STAT agNoticeErrorVector (
00157 OUT ccsERROR *error
00158 );
00159
00160
00161
00162 ccsCOMPL_STAT agStartAg (
00163 IN msgMSG *msg,
00164 IN vltDOUBLE rotAngle,
00165 IN vltDOUBLE repFrq,
00166 IN char *at,
00167 OUT ccsERROR *error);
00168
00169 ccsCOMPL_STAT agStopAg (OUT ccsERROR *error);
00170
00171 ccsCOMPL_STAT agSendOffsetMsgPublic (
00172 IN agOFFSET *offset,
00173 OUT ccsERROR *error
00174 );
00175
00176 ccsCOMPL_STAT agDbReadRotAngle (OUT vltDOUBLE *rotAngle,
00177 OUT ccsERROR *error);
00178
00179 ccsCOMPL_STAT agPixSize (
00180 OUT vltDOUBLE *pixSize,
00181 OUT ccsERROR *error
00182 );
00183
00184 ccsCOMPL_STAT agDbReadTrkAxisList (
00185 OUT agTRK_AXIS_LIST *axisList,
00186 OUT ccsERROR *error);
00187
00188
00189
00190
00191
00192 ccsCOMPL_STAT agGetAgId (IN agTRK_AXIS_LIST *trkAxisList,
00193 OUT ccsERROR *error);
00194
00195
00196
00197
00198 ccsCOMPL_STAT agRmsInit (OUT ccsERROR *error);
00199
00200
00201
00202
00203 ccsCOMPL_STAT agFindSymbol(
00204 IN char *symName,
00205 OUT FUNCPTR *sym,
00206 OUT ccsERROR *error);
00207
00208
00209
00210
00211 ccsCOMPL_STAT agUfBase (
00212 IN ccdIPIMAGE *img,
00213 IN void *notUsed,
00214 OUT ccsERROR *err);
00215
00216 ccsCOMPL_STAT agUf1 (
00217 IN ccdIPIMAGE *img,
00218 IN void *notUsed,
00219 OUT ccsERROR *err);
00220
00221
00222 #endif