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
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 #ifndef TRK_H
00043 #define TRK_H
00044
00045
00046
00047
00048
00049
00050
00051
00052 #include "stdio.h"
00053 #include "string.h"
00054 #include "ctype.h"
00055 #include "time.h"
00056 #include "math.h"
00057 #include "stdarg.h"
00058
00059 #ifndef MAKE_VXWORKS
00060 #include "malloc.h"
00061 #endif
00062
00063 #ifdef MAKE_VXWORKS
00064 #include "types.h"
00065
00066 #include "sysLib.h"
00067 #include "tickLib.h"
00068 #include "msgQLib.h"
00069 #include "memLib.h"
00070 #include "lstLib.h"
00071 #include "semLib.h"
00072 #include "wdLib.h"
00073 #include "taskLib.h"
00074 #include "taskVarLib.h"
00075 #include "rebootLib.h"
00076 #include "usrLib.h"
00077 #include "errnoLib.h"
00078 #include "vxLib.h"
00079 #include "logLib.h"
00080 #endif
00081
00082
00083
00084 #include "ccs.h"
00085 #include "db.h"
00086 #include "msg.h"
00087 #include "log.h"
00088 #include "err.h"
00089 #include "lccErrors.h"
00090 #include "too.h"
00091
00092 #ifdef MAKE_VXWORKS
00093 #include "lcc.h"
00094 #include "io.h"
00095 #include "cmd.h"
00096 #include "cai.h"
00097 #include "timer.h"
00098 #include "tims.h"
00099 #include "acm.h"
00100 #endif
00101
00102 #include "trkDefines.h"
00103
00104
00105
00106
00107
00108
00109
00110 #define trkLOG_ID 101
00111
00112
00113 #define trkSTATE lccDEV_MODE
00114 #define trkOFF_STATE lccDEV_OFF
00115 #define trkLOADED lccDEV_LOADED
00116 #define trkSTAND_BY lccDEV_STAND_BY
00117 #define trkON_LINE lccDEV_ON_LINE
00118
00119 #define MSEC_10 (sysClkRateGet()/100)
00120 #define MSEC_100 (sysClkRateGet()/10)
00121
00122 #define trkEPOCH_SYSTEM_B 1
00123 #define trkEPOCH_SYSTEM_J 2
00124 #define trkDB_ACM_TYPE "acmType"
00125
00126 #define trkDB_TRACKING_DEFAULT ":trackingAxis"
00127 #define trkDB_TRACKING trkDbRootTrackingAxis
00128 #define trkDB_AXES "axes"
00129 #define trkDB_VTA "vta"
00130 #define trkDB_POS_NAMES "posNames.posNames"
00131
00132 #define trkDB_AXIS_LASTPOS ":POSLOOP.pos"
00133 #define trkDB_AXIS_REMTRKFUNC ".acmRemTrkTime"
00134 #define trkDB_AXIS_SENDREFSFUNC ".acmSendRefs"
00135 #define trkDB_AXIS_READPOSFUNC ".acmReadPos"
00136 #define trkDB_AXIS_POSLIMS ".posLims(1:2)"
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151 typedef enum {
00152 trkPI_COORDINATES = 0,
00153 trkPI_INTERNCOORD,
00154 trkPI_ACTCOORD,
00155 trkPI_SITE_CONSTANTS,
00156 trkPI_POLAR_MOTION,
00157 trkPI_SITE_ENVIRONMENT,
00158 trkPI_LIMIT_ARRAY
00159 } trkPACK_INDEX;
00160
00161
00162
00163
00164
00165
00166 typedef enum {
00167 trkAXIS_altitude = 1,
00168 trkAXIS_azimuth,
00169 trkAXIS_rotator,
00170 trkAXIS_adapter,
00171 trkAXIS_etaTheta,
00172 trkAXIS_saltSaz,
00173 trkAXIS_probe,
00174 trkAXIS_unknown
00175 } trkAXIS_TYPE;
00176
00177 typedef enum {
00178 trkIDLE = 1,
00179 trkPRESETTING,
00180 trkTRACKING,
00181 trkERROR
00182 } trkSUBSTATE;
00183
00184 typedef enum {
00185 trkMANCOR_NONE = 1,
00186 trkMANCOR_AD,
00187 trkMANCOR_XY,
00188 trkMANCOR_AA
00189 } trkMANCOR;
00190
00191 typedef enum {
00192 trkOBJ_NONE = 1,
00193 trkOBJ_MEAN,
00194 trkOBJ_APPAR,
00195 trkOBJ_ALTAZ,
00196 trkOBJ_NAMED,
00197 trkOBJ_OFFSET_AD,
00198 trkOBJ_OFFSET_XY,
00199 trkOBJ_OFFSET_AA,
00200 trkOBJ_OFFSET_AG,
00201 trkOBJ_OFFSET_ROT_STEP,
00202 trkOBJ_OFFSET_ROT_OBJ,
00203 trkOBJ_STOP
00204 } trkOBJ;
00205
00206 typedef enum {
00207 trkSTOP_NONE,
00208 trkSTOP_INTERNAL,
00209 trkSTOP_TASK
00210 } trkSTOP_TYPE;
00211
00212
00213 typedef struct
00214 {
00215 vltDOUBLE amprms[21];
00216 vltDOUBLE aoprms[14];
00217 } trkSLALIB_PRMS;
00218
00219
00220 typedef struct
00221 {
00222 vltINT32 execTimeBg;
00223 vltINT32 execTimeMinBg;
00224 vltINT32 execTimeMaxBg;
00225 vltINT32 execTimeBgLT_100;
00226 vltINT32 execTimeBg100_200;
00227 vltINT32 execTimeBgGT_200;
00228
00229 vltINT32 execTimeFg;
00230 vltINT32 execTimeMinFg;
00231 vltINT32 execTimeMaxFg;
00232 vltINT32 execTimeFgLT_2;
00233 vltINT32 execTimeFg2_5;
00234 vltINT32 execTimeFg5_10;
00235 vltINT32 execTimeFg10_20;
00236 vltINT32 execTimeFg20_30;
00237 vltINT32 execTimeFg30_50;
00238 vltINT32 execTimeFg50_80;
00239 vltINT32 execTimeFgGT_80;
00240 } trkTIMING;
00241
00242 typedef struct
00243 {
00244 vltDOUBLE step;
00245 vltDOUBLE radius;
00246 vltINT32 active;
00247 } trkMKCIRC;
00248
00249 typedef struct
00250 {
00251 vltDOUBLE phase;
00252 vltDOUBLE radius;
00253 vltINT32 active;
00254 } trkOFF_AXIS;
00255
00256 typedef struct
00257 {
00258 vltINT32 currState;
00259 vltINT32 currSubState;
00260 vltINT32 initializedFlag;
00261 vltINT32 debugFlag;
00262 vltINT32 verboseFlag;
00263 vltINT32 simulationFlag;
00264 vltINT32 stopFlag;
00265 vltINT32 offFlag;
00266 vltINT32 logFileFlag;
00267 vltINT32 simPosFlag;
00268 vltINT32 refNumber;
00269 vltINT32 limitFlag;
00270 } trkSTATUS;
00271
00272 typedef vltDOUBLE trkLIMIT_ARRAY[2];
00273
00274 typedef struct
00275 {
00276 vltDOUBLE temperature;
00277 vltDOUBLE pressure;
00278 vltDOUBLE humidity;
00279 vltDOUBLE tempLapseRate;
00280 } trkSITE_ENVIRONMENT;
00281
00282 typedef struct
00283 {
00284 vltBYTES20 name;
00285 vltDOUBLE alt;
00286 vltDOUBLE az;
00287 } trkNAMED_POS;
00288
00289 typedef struct
00290 {
00291 vltDOUBLE longitude;
00292 vltDOUBLE latitude;
00293 vltDOUBLE height;
00294 } trkSITE_CONSTANTS ;
00295
00296 typedef struct
00297 {
00298 vltDOUBLE x;
00299 vltDOUBLE y;
00300 } trkPOLAR_MOTION;
00301
00302 typedef struct
00303 {
00304 vltINT32 coordType;
00305
00306
00307
00308 vltDOUBLE alphaMean;
00309 vltDOUBLE deltaMean;
00310 vltDOUBLE alphaApparent;
00311 vltDOUBLE deltaApparent;
00312 vltDOUBLE pma;
00313 vltDOUBLE pmd;
00314 vltDOUBLE parallax;
00315 vltDOUBLE radvel;
00316 vltINT32 epochSystem;
00317
00318
00319
00320 vltDOUBLE epoch;
00321 vltDOUBLE equinox;
00322 char objName[16];
00323 vltDOUBLE alphaAGCOffset;
00324 vltDOUBLE deltaAGCOffset;
00325 vltDOUBLE altOffset;
00326 vltDOUBLE azOffset;
00327 vltDOUBLE alphaOffset;
00328 vltDOUBLE deltaOffset;
00329 vltDOUBLE rotOffsetStep;
00330 vltDOUBLE rotOffsetObj;
00331 vltDOUBLE altFinal;
00332 vltDOUBLE azFinal;
00333 vltDOUBLE rotFinal;
00334 } trkCOORDINATES;
00335
00336 typedef struct
00337 {
00338 vltINT32 coordType;
00339
00340
00341
00342 vltDOUBLE alphaMean;
00343 vltDOUBLE deltaMean;
00344 vltDOUBLE alphaApparent;
00345 vltDOUBLE deltaApparent;
00346 vltDOUBLE alphaObserved;
00347 vltDOUBLE deltaObserved;
00348 vltDOUBLE alphaObservedNoAGC;
00349 vltDOUBLE deltaObservedNoAGC;
00350 vltDOUBLE altFinal;
00351 vltDOUBLE azFinal;
00352 vltDOUBLE rotFinal;
00353 vltDOUBLE zDist;
00354 vltDOUBLE hAngle;
00355 vltDOUBLE parallAngle;
00356 vltDOUBLE altRefract;
00357 vltDOUBLE azRefract;
00358 vltDOUBLE alphaAGCOffset;
00359 vltDOUBLE deltaAGCOffset;
00360 vltDOUBLE altOffset;
00361 vltDOUBLE azOffset;
00362 vltDOUBLE alphaOffset;
00363 vltDOUBLE deltaOffset;
00364 vltDOUBLE alphaVelAccu;
00365 vltDOUBLE deltaVelAccu;
00366 vltDOUBLE altVelAccu;
00367 vltDOUBLE azVelAccu;
00368 vltDOUBLE rotOffsetObj;
00369 vltDOUBLE rotOffsetStepAccu;
00370 vltDOUBLE altCorrAxis;
00371 vltDOUBLE azCorrAxis;
00372 vltDOUBLE altCorrGeneral;
00373 vltDOUBLE azCorrGeneral;
00374 vltDOUBLE pma;
00375 vltDOUBLE pmd;
00376 vltDOUBLE parallax;
00377 vltDOUBLE radvel;
00378 vltDOUBLE airMass;
00379 vltDOUBLE rotFix;
00380 vltDOUBLE mjd;
00381
00382 vltDOUBLE alphaAGCDirect;
00383 vltDOUBLE deltaAGCDirect;
00384 vltDOUBLE altAGCDirect;
00385 vltDOUBLE azAGCDirect;
00386 vltDOUBLE rotAGCDirect;
00387 } trkINTERN_COORD;
00388
00389 typedef struct
00390 {
00391 vltDOUBLE altReadback;
00392 vltDOUBLE azReadback;
00393 vltDOUBLE timeReadback;
00394 vltDOUBLE posReadback;
00395 vltDOUBLE posEncoder;
00396 vltDOUBLE altEncoder;
00397 vltDOUBLE azEncoder;
00398 vltDOUBLE rotEncoder;
00399 vltDOUBLE alphaAGCOffset;
00400 vltDOUBLE deltaAGCOffset;
00401 } trkACT_COORD;
00402
00403 typedef struct
00404 {
00405 vltDOUBLE alpha;
00406 vltDOUBLE delta;
00407 vltINT32 epochSystem;
00408
00409
00410
00411 vltDOUBLE epoch;
00412 vltDOUBLE equinox;
00413 vltDOUBLE pma;
00414 vltDOUBLE pmd;
00415 vltDOUBLE radvel;
00416 vltDOUBLE parallax;
00417 vltINT32 coordinateType;
00418 } prsSKY_COORDINATES;
00419
00420 typedef struct
00421 {
00422 vltDOUBLE alt;
00423 vltDOUBLE az;
00424 } prsABS_COORDINATES;
00425
00426 typedef struct
00427 {
00428 char name[16];
00429 } prsNAMED_COORDINATES;
00430
00431 typedef union
00432 {
00433 prsSKY_COORDINATES skyCoordinates;
00434 prsABS_COORDINATES absCoordinates;
00435 prsNAMED_COORDINATES namedCoordinates;
00436 } prsCOORD_UNION;
00437
00438 typedef struct
00439 {
00440 vltINT32 targetType;
00441
00442
00443
00444 prsCOORD_UNION coordinates;
00445 } prsCOORDINATES;
00446
00447 typedef struct
00448 {
00449 vltINT32 targetType;
00450
00451
00452
00453 vltDOUBLE firstOffset;
00454 vltDOUBLE secondOffset;
00455 } prsOFFSET;
00456
00457
00458 typedef struct
00459 {
00460
00461
00462
00463 char instanceName[10];
00464 ccsERROR trkServerError;
00465 ccsERROR fgError;
00466 ccsERROR bgError;
00467 ccsERROR agError;
00468
00469
00470
00471 vltINT32 fgTaskId;
00472 vltINT32 bgTaskId;
00473 vltINT32 agTaskId;
00474
00475
00476
00477 ccsENVNAME agEnvName;
00478 ccsPROCNUM agProcNum;
00479 ccsPROCNAME agProcName;
00480
00481
00482
00483 SEM_ID fgRestartSem;
00484 SEM_ID bgRestartSem;
00485 SEM_ID agRestartSem;
00486
00487
00488
00489
00490 SEM_ID acmMutexSem;
00491 SEM_ID agcMutexSem;
00492 SEM_ID slaMutexSem;
00493 SEM_ID setupMutexSem;
00494 SEM_ID newObjSem;
00495 SEM_ID pendingMsgOwnerSem;
00496
00497
00498
00499 vltINT32 bgValidFlag;
00500
00501
00502
00503 msgMSG *pendingMsg;
00504 vltINT16 pendingMsgErrorNumber;
00505 SEM_ID pendingMsgSem;
00506
00507
00508
00509 trkSLALIB_PRMS slalibPrms;
00510
00511
00512
00513
00514 trkINTERN_COORD trkInternCoord;
00515
00516
00517
00518
00519 char *axisAttrTable;
00520 char *globalAttrTable;
00521 char *vtaAttrTable;
00522
00523
00524
00525 trkTIMING timing;
00526 FILE *logFilePtr;
00527
00528
00529
00530 dbDIRADDRESS trkDbASimulation;
00531 dbDIRADDRESS trkDbAInitialised;
00532
00533 trkSTATUS status;
00534 acmREM_TRACK_F_P acmRemTrkFptr;
00535 acmSEND_REFS_P acmSendRefsFptr;
00536 acmREAD_POS_P acmReadPosFptr;
00537 trkLIMIT_ARRAY limitArray;
00538 vltINT32 acmType;
00539 trkAXIS_TYPE axisType;
00540 vltINT32 sendRefsMode;
00541 vltINT32 refType;
00542 trkMKCIRC mkCirc;
00543 trkOFF_AXIS offAxisTracking;
00544 vltINT32 focusStation;
00545 vltINT32 activeFocusStation;
00546 } trkGLOBAL_DATA;
00547
00548
00549
00550
00551
00552
00553
00554 #ifdef MAKE_VXWORKS
00555 #define IN
00556 #define OUT
00557
00558 ccsCOMPL_STAT trkBgTask (void);
00559 ccsCOMPL_STAT trkFgTask (void);
00560 ccsCOMPL_STAT trkAgTask(void);
00561 void trkKillHandler(void);
00562 void trkBreakHandler(void);
00563
00564
00565 ccsCOMPL_STAT trkEntryPoint (char *, char *, char *);
00566
00567
00568
00569
00570 ccsCOMPL_STAT trkStdSetInit(
00571 IN vltINT32 trkInit,
00572 OUT ccsERROR *error
00573 );
00574 ccsCOMPL_STAT trkStdGetInit(
00575 IN vltINT32 *trkInit,
00576 OUT ccsERROR *error
00577 );
00578 ccsCOMPL_STAT trkStdSetSimulation(
00579 IN vltINT32 trkSimulation,
00580 OUT ccsERROR *error
00581 );
00582 ccsCOMPL_STAT trkStdGetSimulation(
00583 IN vltINT32 *trkSimulation,
00584 OUT ccsERROR *error
00585 );
00586 ccsCOMPL_STAT trkStdSetState(
00587 OUT lccDEV_MODE state,
00588 OUT ccsERROR *error
00589 );
00590
00591
00592
00593
00594
00595
00596
00597
00598
00599 ccsCOMPL_STAT trkStdInit(
00600 IN const char *moduleId,
00601 OUT ccsERROR *error
00602 );
00603 ccsCOMPL_STAT trkStandAlone(
00604 IN const char *moduleId,
00605 OUT ccsERROR *error
00606 );
00607 ccsCOMPL_STAT trkStdStandby(
00608 IN const char *moduleId,
00609 OUT ccsERROR *error
00610 );
00611 ccsCOMPL_STAT trkStdOnline(
00612 IN const char *moduleId,
00613 OUT ccsERROR *error
00614 );
00615 ccsCOMPL_STAT trkStdOff(
00616 IN const char *moduleId,
00617 OUT ccsERROR *error
00618 );
00619 ccsCOMPL_STAT trkStdExit(
00620 IN const char *moduleId,
00621 OUT ccsERROR *error
00622 );
00623 ccsCOMPL_STAT trkStdStop(
00624 IN const char *moduleId,
00625 OUT ccsERROR *error
00626 );
00627 ccsCOMPL_STAT trkStdSelfTest(
00628 IN const char *moduleId,
00629 OUT ccsERROR *error
00630 );
00631 ccsCOMPL_STAT trkStdStartSim(
00632 IN const char *moduleId,
00633 OUT ccsERROR *error
00634 );
00635 ccsCOMPL_STAT trkStdStopSim(
00636 IN const char *moduleId,
00637 OUT ccsERROR *error
00638 );
00639 ccsCOMPL_STAT trkStdGetVersion(
00640 OUT char *version,
00641 OUT ccsERROR *error
00642 );
00643 ccsCOMPL_STAT trkStdGetState(
00644 OUT lccDEV_MODE *state,
00645 OUT ccsERROR *error
00646 );
00647 ccsCOMPL_STAT trkStdVerbose(
00648 IN vltINT32 verboseFlag,
00649 OUT ccsERROR *error
00650 );
00651 ccsCOMPL_STAT trkStdDebug(
00652 IN vltINT32 debugFlag,
00653 OUT ccsERROR *error
00654 );
00655 ccsCOMPL_STAT trkGetStatus(
00656 OUT trkSTATUS *trkStatus,
00657 OUT ccsERROR *error
00658 );
00659
00660 ccsCOMPL_STAT trkSimPos(
00661 IN vltINT32 simPosFlag,
00662 OUT ccsERROR *error
00663 );
00664
00665
00666
00667
00668
00669
00670 ccsCOMPL_STAT trkPACK (trkPACK_INDEX type, void *s, char *b, ccsERROR *error);
00671 ccsCOMPL_STAT trkUNPACK (trkPACK_INDEX type, char *b, void *s, ccsERROR *error);
00672
00673
00674 vltDOUBLE nttrotRemTrkTime(
00675 IN vltDOUBLE ra,
00676 IN vltDOUBLE decl,
00677 IN vltDOUBLE lowLim,
00678 IN vltDOUBLE highLim,
00679 IN vltDOUBLE siderealTime,
00680 IN vltDOUBLE lat,
00681 OUT vltDOUBLE *remTime,
00682 OUT ccsERROR *error
00683 );
00684
00685 ccsCOMPL_STAT trkTimeElapseTime (
00686 ccsTIMEVAL *ccsTime2,
00687 ccsTIMEVAL *ccsTime1,
00688 vltUINT32 *usecDiff,
00689 ccsERROR *error
00690 );
00691 ccsCOMPL_STAT trkTimeGetMJD(
00692 vltDOUBLE *mjd,
00693 ccsTIMEVAL *ccsTime,
00694 ccsERROR *error
00695 );
00696 ccsCOMPL_STAT trkTimeGetExactMJD(
00697 vltDOUBLE *mjd,
00698 ccsTIMEVAL *ccsTime,
00699 ccsERROR *error);
00700
00701 ccsCOMPL_STAT trkTimeResetMJD(
00702 ccsERROR *error
00703 );
00704 ccsCOMPL_STAT trkCleanUp(
00705 OUT ccsERROR *error
00706 );
00707 ccsCOMPL_STAT trkTestState(
00708 IN vltUINT32 requiredState,
00709 OUT ccsERROR *error
00710 );
00711 ccsCOMPL_STAT trkReadPos(
00712 IN vltDOUBLE *position,
00713 OUT ccsERROR *error
00714 );
00715 ccsCOMPL_STAT trkResolveNamedCoordinates(
00716 OUT vltDOUBLE *alt,
00717 OUT vltDOUBLE *az,
00718 OUT vltDOUBLE *rot,
00719 IN char *name,
00720 OUT ccsERROR *error
00721 );
00722 ccsCOMPL_STAT trkCopyObject(
00723 IN trkINTERN_COORD *trkInternCoord,
00724 OUT vltINT32 *coordType,
00725 OUT ccsERROR *error
00726 );
00727 ccsCOMPL_STAT trkCheckSingleTask(
00728 IN vltINT32 tid,
00729 IN char *taskName,
00730 OUT ccsERROR *error
00731 );
00732 ccsCOMPL_STAT trkInternalStop(
00733 IN const char* moduleId,
00734 OUT ccsERROR *error
00735 );
00736 void trkTaskExit(int);
00737
00738 void trkPrintf(
00739 IN char *format,...
00740 );
00741 void trkDbgPrintf(
00742 IN char *format,...
00743 );
00744 ccsCOMPL_STAT trkRegisterFgSem(
00745 IN SEM_ID trkFgSem
00746 );
00747 ccsCOMPL_STAT trkUnRegisterFgSem(
00748 IN SEM_ID trkFgSem
00749 );
00750 ccsCOMPL_STAT trkTaskVarGet(
00751 ccsERROR *error
00752 );
00753 int trkStricmp (
00754 IN char * string1,
00755 IN char * string2
00756 );
00757
00758
00759
00760
00761 ccsCOMPL_STAT trkSetSRM(
00762 IN vltINT32 srm,
00763 OUT ccsERROR *error
00764 );
00765 ccsCOMPL_STAT trkOffAxisSetup(
00766 IN vltDOUBLE offsetX,
00767 IN vltDOUBLE offsetY,
00768 OUT ccsERROR *error
00769 );
00770 ccsCOMPL_STAT trkMkCirc(
00771 IN vltDOUBLE interval,
00772 IN vltDOUBLE radius,
00773 OUT ccsERROR *error
00774 );
00775 ccsCOMPL_STAT trkStrtManCor(
00776 IN vltINT32 type,
00777 IN vltDOUBLE manOffsAlpha,
00778 IN vltDOUBLE manOffsDelta,
00779 OUT ccsERROR *error
00780 );
00781 ccsCOMPL_STAT trkStopManCor(
00782 OUT ccsERROR *error
00783 );
00784 ccsCOMPL_STAT trkSetDut(
00785 IN vltDOUBLE dut1,
00786 OUT ccsERROR *error
00787 );
00788 ccsCOMPL_STAT trkSetAddVel(
00789 IN vltDOUBLE alphaVel,
00790 IN vltDOUBLE deltaVel,
00791 OUT ccsERROR *error
00792 );
00793 ccsCOMPL_STAT trkSetLambda(
00794 IN vltDOUBLE lambda,
00795 OUT ccsERROR *error
00796 );
00797
00798 ccsCOMPL_STAT trkOffsRotStep(
00799 IN vltDOUBLE offset,
00800 IN msgMSG *msg,
00801 OUT ccsERROR *error
00802 );
00803 ccsCOMPL_STAT trkOffsRotObj(
00804 IN vltDOUBLE offset,
00805 IN msgMSG *msg,
00806 OUT ccsERROR *error
00807 );
00808
00809 ccsCOMPL_STAT trkSetRotOffset(
00810 IN vltDOUBLE rotOffset,
00811 OUT ccsERROR *error
00812 );
00813 ccsCOMPL_STAT trkGetRotOffset(
00814 IN vltDOUBLE *rotOffset,
00815 OUT ccsERROR *error
00816 );
00817 ccsCOMPL_STAT trkSetFocus(
00818 IN vltINT32 focus,
00819 OUT ccsERROR *error
00820 );
00821 ccsCOMPL_STAT trkSetWeather(
00822 IN trkSITE_ENVIRONMENT *env,
00823 OUT ccsERROR *error
00824 );
00825 ccsCOMPL_STAT trkSetSiteConstants(
00826 IN trkSITE_CONSTANTS *site,
00827 OUT ccsERROR *error
00828 );
00829 ccsCOMPL_STAT trkSetPolarMotion(
00830 IN trkPOLAR_MOTION *polarMotion,
00831 OUT ccsERROR *error
00832 );
00833 ccsCOMPL_STAT trkSetADCPos(
00834 IN vltDOUBLE ADCValue,
00835 OUT ccsERROR *error
00836 );
00837 ccsCOMPL_STAT trkSetMCPars(
00838 IN vltDOUBLE defOffsAlpha,
00839 IN vltDOUBLE defOffsDelta,
00840 OUT ccsERROR *error
00841 );
00842 ccsCOMPL_STAT trkGetDut(
00843 OUT vltDOUBLE *dut1,
00844 OUT ccsERROR *error
00845 );
00846 ccsCOMPL_STAT trkGetManAddVel(
00847 OUT vltDOUBLE *firstVel,
00848 OUT vltDOUBLE *secondVel,
00849 IN vltINT32 velDbIndex,
00850 OUT ccsERROR *error
00851 );
00852 ccsCOMPL_STAT trkGetAddVel(
00853 OUT vltDOUBLE *alphaVel,
00854 OUT vltDOUBLE *deltaVel,
00855 OUT ccsERROR *error
00856 );
00857 ccsCOMPL_STAT trkGetLambda(
00858 OUT vltDOUBLE *lambda,
00859 OUT ccsERROR *error
00860 );
00861 ccsCOMPL_STAT trkGetFocus(
00862 OUT vltINT32 *focus,
00863 OUT ccsERROR *error
00864 );
00865 ccsCOMPL_STAT trkGetWeather(
00866 OUT trkSITE_ENVIRONMENT *env,
00867 OUT ccsERROR *error
00868 );
00869 ccsCOMPL_STAT trkGetSiderealTime(
00870 IN vltDOUBLE *siderealTime,
00871 OUT ccsERROR *error
00872 );
00873 ccsCOMPL_STAT trkGetSiteConstants(
00874 OUT trkSITE_CONSTANTS *site,
00875 OUT ccsERROR *error
00876 );
00877 ccsCOMPL_STAT trkGetPolarMotion(
00878 OUT trkPOLAR_MOTION *polarMotion,
00879 OUT ccsERROR *error
00880 );
00881 ccsCOMPL_STAT trkGetADCPos(
00882 OUT vltDOUBLE *ADCValue,
00883 OUT ccsERROR *error
00884 );
00885 ccsCOMPL_STAT trkGetMCPars(
00886 OUT vltDOUBLE *manOffsAlpha,
00887 OUT vltDOUBLE *manOffsDelta,
00888 OUT vltDOUBLE *defOffsAlpha,
00889 OUT vltDOUBLE *defOffsDelta,
00890 OUT ccsERROR *error
00891 );
00892 ccsCOMPL_STAT trkAxisEntry (
00893 IN char * instanceName
00894 );
00895
00896
00897
00898
00899 ccsCOMPL_STAT trkObjStop(
00900 IN msgMSG *msg,
00901 OUT ccsERROR *error
00902 );
00903 ccsCOMPL_STAT trkObjAltAz(
00904 IN prsABS_COORDINATES *coord,
00905 IN msgMSG *msg,
00906 OUT ccsERROR *error
00907 );
00908 ccsCOMPL_STAT trkObjNamed(
00909 IN prsNAMED_COORDINATES *coord,
00910 IN msgMSG *msg,
00911 OUT ccsERROR *error
00912 );
00913 ccsCOMPL_STAT trkObjStar(
00914 IN prsSKY_COORDINATES *coord,
00915 IN msgMSG *msg,
00916 OUT ccsERROR *error
00917 );
00918
00919
00920
00921 ccsCOMPL_STAT trkOffsXYLocal(
00922 IN vltDOUBLE dbRotationAngle,
00923 IN prsOFFSET *offset,
00924 IN msgMSG *msg,
00925 OUT ccsERROR *error
00926 );
00927
00928 ccsCOMPL_STAT trkOffsAA(
00929 IN prsOFFSET *offset,
00930 IN msgMSG *msg,
00931 OUT ccsERROR *error
00932 );
00933 ccsCOMPL_STAT trkOffsAD(
00934 IN prsOFFSET *offset,
00935 IN msgMSG *msg,
00936 OUT ccsERROR *error
00937 );
00938 ccsCOMPL_STAT trkOffsAG(
00939 IN prsOFFSET *offset,
00940 IN msgMSG *msg,
00941 OUT ccsERROR *error
00942 );
00943 ccsCOMPL_STAT trkOffsXY(
00944 IN prsOFFSET *offset,
00945 IN msgMSG *msg,
00946 OUT ccsERROR *error
00947 );
00948 ccsCOMPL_STAT trkOffsDef(
00949 IN char *typeString,
00950 IN msgMSG *msg,
00951 OUT ccsERROR *error
00952 );
00953
00954
00955 ccsCOMPL_STAT trkRemTrkTime(
00956 IN prsSKY_COORDINATES *coord,
00957 IN vltDOUBLE mjd,
00958 OUT vltDOUBLE *remTime,
00959 OUT ccsERROR *error
00960 );
00961
00962
00963 ccsCOMPL_STAT ItrkUpdate(
00964 IN const char *parameters,
00965 IN msgMSG *msg,
00966 OUT char **replyBuffer,
00967 OUT msgLENGTH *replyBufferSize,
00968 OUT ccsERROR *error
00969 );
00970
00971 ccsCOMPL_STAT ItrkGetAGProcId(
00972 IN const char *parameters,
00973 IN msgMSG *msg,
00974 OUT char **replyBuffer,
00975 OUT msgLENGTH *replyBufferSize,
00976 OUT ccsERROR *error
00977 );
00978
00979 ccsCOMPL_STAT ItrkSetSiteConstants(
00980 IN const char *parameters,
00981 IN msgMSG *msg,
00982 OUT char **replyBuffer,
00983 OUT msgLENGTH *replyBufferSize,
00984 OUT ccsERROR *error
00985 );
00986
00987 ccsCOMPL_STAT ItrkGetSiteConstants(
00988 IN const char *parameters,
00989 IN msgMSG *msg,
00990 OUT char **replyBuffer,
00991 OUT msgLENGTH *replyBufferSize,
00992 OUT ccsERROR *error
00993 );
00994
00995 ccsCOMPL_STAT ItrkSetPolarMotion(
00996 IN const char *parameters,
00997 IN msgMSG *msg,
00998 OUT char **replyBuffer,
00999 OUT msgLENGTH *replyBufferSize,
01000 OUT ccsERROR *error
01001 );
01002
01003 ccsCOMPL_STAT ItrkGetPolarMotion(
01004 IN const char *parameters,
01005 IN msgMSG *msg,
01006 OUT char **replyBuffer,
01007 OUT msgLENGTH *replyBufferSize,
01008 OUT ccsERROR *error
01009 );
01010
01011 ccsCOMPL_STAT ItrkSetWeather(
01012 IN const char *parameters,
01013 IN msgMSG *msg,
01014 OUT char **replyBuffer,
01015 OUT msgLENGTH *replyBufferSize,
01016 OUT ccsERROR *error
01017 );
01018
01019 ccsCOMPL_STAT ItrkGetWeather(
01020 IN const char *parameters,
01021 IN msgMSG *msg,
01022 OUT char **replyBuffer,
01023 OUT msgLENGTH *replyBufferSize,
01024 OUT ccsERROR *error
01025 );
01026
01027 ccsCOMPL_STAT ItrkSetAddVel(
01028 IN const char *parameters,
01029 IN msgMSG *msg,
01030 OUT char **replyBuffer,
01031 OUT msgLENGTH *replyBufferSize,
01032 OUT ccsERROR *error
01033 );
01034
01035 ccsCOMPL_STAT ItrkMkCirc(
01036 IN const char *parameters,
01037 IN msgMSG *msg,
01038 OUT char **replyBuffer,
01039 OUT msgLENGTH *replyBufferSize,
01040 OUT ccsERROR *error
01041 );
01042
01043 ccsCOMPL_STAT ItrkOffAxis(
01044 IN const char *parameters,
01045 IN msgMSG *msg,
01046 OUT char **replyBuffer,
01047 OUT msgLENGTH *replyBufferSize,
01048 OUT ccsERROR *error
01049 );
01050
01051 ccsCOMPL_STAT ItrkSetSRM(
01052 IN const char *parameters,
01053 IN msgMSG *msg,
01054 OUT char **replyBuffer,
01055 OUT msgLENGTH *replyBufferSize,
01056 OUT ccsERROR *error
01057 );
01058
01059 ccsCOMPL_STAT ItrkGetAddVel(
01060 IN const char *parameters,
01061 IN msgMSG *msg,
01062 OUT char **replyBuffer,
01063 OUT msgLENGTH *replyBufferSize,
01064 OUT ccsERROR *error
01065 );
01066
01067 ccsCOMPL_STAT ItrkGetSiderealTime(
01068 IN const char *parameters,
01069 IN msgMSG *msg,
01070 OUT char **replyBuffer,
01071 OUT msgLENGTH *replyBufferSize,
01072 OUT ccsERROR *error
01073 );
01074
01075 ccsCOMPL_STAT ItrkSetDut(
01076 IN const char *parameters,
01077 IN msgMSG *msg,
01078 OUT char **replyBuffer,
01079 OUT msgLENGTH *replyBufferSize,
01080 OUT ccsERROR *error
01081 );
01082
01083 ccsCOMPL_STAT ItrkGetDut(
01084 IN const char *parameters,
01085 IN msgMSG *msg,
01086 OUT char **replyBuffer,
01087 OUT msgLENGTH *replyBufferSize,
01088 OUT ccsERROR *error
01089 );
01090
01091 ccsCOMPL_STAT ItrkSetADCPos(
01092 IN const char *parameters,
01093 IN msgMSG *msg,
01094 OUT char **replyBuffer,
01095 OUT msgLENGTH *replyBufferSize,
01096 OUT ccsERROR *error
01097 );
01098
01099 ccsCOMPL_STAT ItrkGetADCPos(
01100 IN const char *parameters,
01101 IN msgMSG *msg,
01102 OUT char **replyBuffer,
01103 OUT msgLENGTH *replyBufferSize,
01104 OUT ccsERROR *error
01105 );
01106
01107 ccsCOMPL_STAT ItrkSetLambda(
01108 IN const char *parameters,
01109 IN msgMSG *msg,
01110 OUT char **replyBuffer,
01111 OUT msgLENGTH *replyBufferSize,
01112 OUT ccsERROR *error
01113 );
01114
01115 ccsCOMPL_STAT ItrkGetLambda(
01116 IN const char *parameters,
01117 IN msgMSG *msg,
01118 OUT char **replyBuffer,
01119 OUT msgLENGTH *replyBufferSize,
01120 OUT ccsERROR *error
01121 );
01122
01123 ccsCOMPL_STAT ItrkSetFocus(
01124 IN const char *parameters,
01125 IN msgMSG *msg,
01126 OUT char **replyBuffer,
01127 OUT msgLENGTH *replyBufferSize,
01128 OUT ccsERROR *error
01129 );
01130
01131 ccsCOMPL_STAT ItrkGetFocus(
01132 IN const char *parameters,
01133 IN msgMSG *msg,
01134 OUT char **replyBuffer,
01135 OUT msgLENGTH *replyBufferSize,
01136 OUT ccsERROR *error
01137 );
01138
01139 ccsCOMPL_STAT ItrkOffsRotStep(
01140 IN const char *parameters,
01141 IN msgMSG *msg,
01142 OUT char **replyBuffer,
01143 OUT msgLENGTH *replyBufferSize,
01144 OUT ccsERROR *error
01145 );
01146 ccsCOMPL_STAT ItrkObjRotator(
01147 IN const char *parameters,
01148 IN msgMSG *msg,
01149 OUT char **replyBuffer,
01150 OUT msgLENGTH *replyBufferSize,
01151 OUT ccsERROR *error
01152 );
01153
01154 ccsCOMPL_STAT ItrkSetRotOffset(
01155 IN const char *parameters,
01156 IN msgMSG *msg,
01157 OUT char **replyBuffer,
01158 OUT msgLENGTH *replyBufferSize,
01159 OUT ccsERROR *error
01160 );
01161
01162 ccsCOMPL_STAT ItrkSetMCPars(
01163 IN const char *parameters,
01164 IN msgMSG *msg,
01165 OUT char **replyBuffer,
01166 OUT msgLENGTH *replyBufferSize,
01167 OUT ccsERROR *error
01168 );
01169
01170 ccsCOMPL_STAT ItrkGetMCPars(
01171 IN const char *parameters,
01172 IN msgMSG *msg,
01173 OUT char **replyBuffer,
01174 OUT msgLENGTH *replyBufferSize,
01175 OUT ccsERROR *error
01176 );
01177
01178 ccsCOMPL_STAT ItrkStopManCor(
01179 IN const char *parameters,
01180 IN msgMSG *msg,
01181 OUT char **replyBuffer,
01182 OUT msgLENGTH *replyBufferSize,
01183 OUT ccsERROR *error
01184 );
01185
01186 ccsCOMPL_STAT ItrkStrtManCor(
01187 IN const char *parameters,
01188 IN msgMSG *msg,
01189 OUT char **replyBuffer,
01190 OUT msgLENGTH *replyBufferSize,
01191 OUT ccsERROR *error
01192 );
01193 ccsCOMPL_STAT ItrkStdGetVersion(
01194 IN const char *parameters,
01195 IN msgMSG *msg,
01196 OUT char **replyBuffer,
01197 OUT msgLENGTH *replyBufferSize,
01198 OUT ccsERROR *error
01199 );
01200
01201 ccsCOMPL_STAT ItrkStdPing(
01202 IN const char *parameters,
01203 IN msgMSG *msg,
01204 OUT char **replyBuffer,
01205 OUT msgLENGTH *replyBufferSize,
01206 OUT ccsERROR *error
01207 );
01208
01209 ccsCOMPL_STAT ItrkStdGetState(
01210 IN const char *parameters,
01211 IN msgMSG *msg,
01212 OUT char **replyBuffer,
01213 OUT msgLENGTH *replyBufferSize,
01214 OUT ccsERROR *error
01215 );
01216
01217
01218 ccsCOMPL_STAT ItrkStdVerbose(
01219 IN const char *parameters,
01220 IN msgMSG *msg,
01221 OUT char **replyBuffer,
01222 OUT msgLENGTH *replyBufferSize,
01223 OUT ccsERROR *error
01224 );
01225
01226 ccsCOMPL_STAT ItrkStdDebug(
01227 IN const char *parameters,
01228 IN msgMSG *msg,
01229 OUT char **replyBuffer,
01230 OUT msgLENGTH *replyBufferSize,
01231 OUT ccsERROR *error
01232 );
01233
01234 ccsCOMPL_STAT ItrkStdExit(
01235 IN const char *parameters,
01236 IN msgMSG *msg,
01237 OUT char **replyBuffer,
01238 OUT msgLENGTH *replyBufferSize,
01239 OUT ccsERROR *error
01240 );
01241
01242 ccsCOMPL_STAT ItrkStdInit(
01243 IN const char *parameters,
01244 IN msgMSG *msg,
01245 OUT char **replyBuffer,
01246 OUT msgLENGTH *replyBufferSize,
01247 OUT ccsERROR *error
01248 );
01249
01250 ccsCOMPL_STAT ItrkStdOff(
01251 IN const char *parameters,
01252 IN msgMSG *msg,
01253 OUT char **replyBuffer,
01254 OUT msgLENGTH *replyBufferSize,
01255 OUT ccsERROR *error
01256 );
01257
01258 ccsCOMPL_STAT ItrkStdOnline(
01259 IN const char *parameters,
01260 IN msgMSG *msg,
01261 OUT char **replyBuffer,
01262 OUT msgLENGTH *replyBufferSize,
01263 OUT ccsERROR *error
01264 );
01265
01266 ccsCOMPL_STAT ItrkStdSelfTest(
01267 IN const char *parameters,
01268 IN msgMSG *msg,
01269 OUT char **replyBuffer,
01270 OUT msgLENGTH *replyBufferSize,
01271 OUT ccsERROR *error
01272 );
01273 ccsCOMPL_STAT ItrkStdStartSim(
01274 IN const char *parameters,
01275 IN msgMSG *msg,
01276 OUT char **replyBuffer,
01277 OUT msgLENGTH *replyBufferSize,
01278 OUT ccsERROR *error
01279 );
01280
01281 ccsCOMPL_STAT ItrkStdStandalone(
01282 IN const char *parameters,
01283 IN msgMSG *msg,
01284 OUT char **replyBuffer,
01285 OUT msgLENGTH *replyBufferSize,
01286 OUT ccsERROR *error
01287 );
01288
01289 ccsCOMPL_STAT ItrkStdStandby(
01290 IN const char *parameters,
01291 IN msgMSG *msg,
01292 OUT char **replyBuffer,
01293 OUT msgLENGTH *replyBufferSize,
01294 OUT ccsERROR *error
01295 );
01296
01297 ccsCOMPL_STAT ItrkStdStopSim(
01298 IN const char *parameters,
01299 IN msgMSG *msg,
01300 OUT char **replyBuffer,
01301 OUT msgLENGTH *replyBufferSize,
01302 OUT ccsERROR *error
01303 );
01304
01305 ccsCOMPL_STAT ItrkStdStop(
01306 IN const char *parameters,
01307 IN msgMSG *msg,
01308 OUT char **replyBuffer,
01309 OUT msgLENGTH *replyBufferSize,
01310 OUT ccsERROR *error
01311 );
01312
01313 ccsCOMPL_STAT ItrkObjStar(
01314 IN const char *parameters,
01315 IN msgMSG *msg,
01316 OUT char **replyBuffer,
01317 OUT msgLENGTH *replyBufferSize,
01318 OUT ccsERROR *error
01319 );
01320
01321 ccsCOMPL_STAT ItrkObjAltAz(
01322 IN const char *parameters,
01323 IN msgMSG *msg,
01324 OUT char **replyBuffer,
01325 OUT msgLENGTH *replyBufferSize,
01326 OUT ccsERROR *error
01327 );
01328
01329
01330 ccsCOMPL_STAT ItrkObjNamed(
01331 IN const char *parameters,
01332 IN msgMSG *msg,
01333 OUT char **replyBuffer,
01334 OUT msgLENGTH *replyBufferSize,
01335 OUT ccsERROR *error
01336 );
01337
01338 ccsCOMPL_STAT ItrkOffsDef(
01339 IN const char *parameters,
01340 IN msgMSG *msg,
01341 OUT char **replyBuffer,
01342 OUT msgLENGTH *replyBufferSize,
01343 OUT ccsERROR *error
01344 );
01345
01346 ccsCOMPL_STAT ItrkOffsXY(
01347 IN const char *parameters,
01348 IN msgMSG *msg,
01349 OUT char **replyBuffer,
01350 OUT msgLENGTH *replyBufferSize,
01351 OUT ccsERROR *error
01352 );
01353 ccsCOMPL_STAT ItrkOffsAltAz(
01354 IN const char *parameters,
01355 IN msgMSG *msg,
01356 OUT char **replyBuffer,
01357 OUT msgLENGTH *replyBufferSize,
01358 OUT ccsERROR *error
01359 );
01360
01361 ccsCOMPL_STAT ItrkOffsAGCorrect(
01362 IN const char *parameters,
01363 IN msgMSG *msg,
01364 OUT char **replyBuffer,
01365 OUT msgLENGTH *replyBufferSize,
01366 OUT ccsERROR *error
01367 );
01368 ccsCOMPL_STAT ItrkOffsAD(
01369 IN const char *parameters,
01370 IN msgMSG *msg,
01371 OUT char **replyBuffer,
01372 OUT msgLENGTH *replyBufferSize,
01373 OUT ccsERROR *error
01374 );
01375
01376 ccsCOMPL_STAT ItrkGetStatus(
01377 IN const char *parameters,
01378 IN msgMSG *msg,
01379 OUT char **replyBuffer,
01380 OUT msgLENGTH *replyBufferSize,
01381 OUT ccsERROR *error
01382 );
01383
01384 ccsCOMPL_STAT ItrkGetRemTTime(
01385 IN const char *parameters,
01386 IN msgMSG *msg,
01387 OUT char **replyBuffer,
01388 OUT msgLENGTH *replyBufferSize,
01389 OUT ccsERROR *error
01390 );
01391
01392
01393 ccsCOMPL_STAT ItrkSetLogFile(
01394 IN const char *parameters,
01395 IN msgMSG *msg,
01396 OUT char **replyBuffer,
01397 OUT msgLENGTH *replyBufferSize,
01398 OUT ccsERROR *error
01399 );
01400
01401 ccsCOMPL_STAT ItrkGetMJD(
01402 IN const char *parameters,
01403 IN msgMSG *msg,
01404 OUT char **replyBuffer,
01405 OUT msgLENGTH *replyBufferSize,
01406 OUT ccsERROR *error
01407 );
01408
01409 ccsCOMPL_STAT ItrkReadPos(
01410 IN const char *parameters,
01411 IN msgMSG *msg,
01412 OUT char **replyBuffer,
01413 OUT msgLENGTH *replyBufferSize,
01414 OUT ccsERROR *error
01415 );
01416
01417 ccsCOMPL_STAT ItrkSimPos(
01418 IN const char *parameters,
01419 IN msgMSG *msg,
01420 OUT char **replyBuffer,
01421 OUT msgLENGTH *replyBufferSize,
01422 OUT ccsERROR *error
01423 );
01424
01425 ccsCOMPL_STAT ItrkSetup(
01426 IN const char *parameters,
01427 IN msgMSG *msg,
01428 OUT char **replyBuffer,
01429 OUT msgLENGTH *replyBufferSize,
01430 OUT ccsERROR *error
01431 );
01432
01433 ccsCOMPL_STAT ItrkAGCorrect(
01434 IN const char *parameters,
01435 IN msgMSG *msg,
01436 OUT char **replyBuffer,
01437 OUT msgLENGTH *replyBufferSize,
01438 OUT ccsERROR *error
01439 );
01440
01441 ccsCOMPL_STAT ItrkGetAgProcid(
01442 IN const char *parameters,
01443 IN msgMSG *msg,
01444 OUT char **replyBuffer,
01445 OUT msgLENGTH *replyBufferSize,
01446 OUT ccsERROR *error
01447 );
01448
01449
01450
01451
01452
01453 ccsCOMPL_STAT trkNewObjCmdBegin (
01454 IN trkCOORDINATES *trkCurCoordinates,
01455 IN msgMSG *msg,
01456 OUT ccsERROR *error
01457 );
01458
01459 ccsCOMPL_STAT trkNewObjCmdEnd (
01460 IN trkCOORDINATES *trkCurCoordinates,
01461 IN msgMSG *msg,
01462 OUT ccsERROR *error
01463 );
01464
01465
01466
01467 ccsCOMPL_STAT trkTimTaskExit (void);
01468 ccsCOMPL_STAT trkTimTask (void);
01469
01470
01471 #endif
01472
01473
01474 #endif