Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

trkwsDefines.h

Go to the documentation of this file.
00001 #ifndef trkwsDefines_H
00002 #define trkwsDefines_H
00003 /*******************************************************************************
00004 * E.S.O. - VLT project
00005 *
00006 * "@(#) $Id: trkwsDefines.h,v 1.157 2003/10/17 14:00:41 vltsccm Exp $"
00007 *
00008 * who       when      what
00009 * --------  --------  ----------------------------------------------
00010 * rkarban 2001-08-13 add autoguiding correction
00011 * kwirenst  18/12/98  Added defines for _ALPHA_APP and _DELTA_APP
00012 * rkarban  03/03/98  add ROTONSKY define
00013 * rkarban  19/08/97  remove alias defines
00014 * kwirenst  29/05/97  Added ":times.utc"
00015 * rkarban   23/05/97  add setpolm definition
00016 * gchiozzi  17/04/97  Added define for focus check time
00017 * rkarban   15/03/97  add ALPHA_CURRENT_ATTRNAME & DELTA_CURRENT_NAME
00018 * rkarban   14/02/97  add definition for pc backup file handling
00019 * kwirenst  13/12/96  Added #define trkwsSETUP_ROTANGLE_ATTRNAME
00020 * kwirenst  13/12/96  Added commands OFFSROT and OBJROT
00021 * kwirenst  13/12/96  Added command SETROT
00022 * kwirenst  24/09/96  Re-arranged sequence of defines and modified comments.
00023 *                     No data changed!!
00024 * gchiozzi  20/08/96  Added defines for other LCU axis attributes used
00025 * gchiozzi  20/08/96  Added defines for actual RA/dec encoder position
00026 * gchiozzi  13/08/96  Added defines for limit range on alt and az
00027 * gchiozzi  29/05/96  Removed c++ style comments
00028 * nfiebig   25/03/96  SETUP attribute adcSeparation replaced by 
00029 *                     attribute imageShift in pointing branch
00030 * nfiebig   20/03/96  SETUP attribute names addVelAlpha/Delta added
00031 * kwirenst  07/06/95  created
00032 */
00033 
00034 /************************************************************************
00035  *
00036  *----------------------------------------------------------------------
00037  */
00038 
00039 #ifndef __cplusplus
00040 #error This is a C++ include file and cannot be used from plain C
00041 #endif
00042 
00043 
00044 #define VLT_TCS   1
00045 #define NTT_TCS   2
00046 
00047 #ifndef TARGET_TCS
00048 #define TARGET_TCS VLT_TCS
00049 #endif
00050 
00051 /* Module name */
00052 #define trkwsMOD "trkws"
00053 
00054 /*
00055  * maximum file line when reading files
00056  */
00057 #define trkwsMAX_FILE_LINE 256
00058 
00059 #define trkwsFOCUS_STRING_MAX_LEN 32
00060 
00061 #define trkwsALARM_WARNING 1
00062 #define trkwsALARM_NORMAL 0
00063 
00064 
00065 /* maximum msg len in msg.h */
00066 #define trkwsMAX_MSG_LEN (msgMAXLEN - sizeof(msgHEADER) - sizeof(msgHEADER2) - 1)
00067 
00068 /* Max counter for repeated error      */
00069 /* Some errors are not logged any more */
00070 /* is repeated mor than this times     */
00071 #define trkwsMAX_ERROR_COUNT 10
00072 
00073 /* Limits for alt and az values (in radians) */
00074 /* This should be checked with NTT           */   
00075 #define trkwsMIN_ALT    0.0
00076 #define trkwsMAX_ALT    M_PI_2
00077 #define trkwsMIN_AZ     -M_PI
00078 #define trkwsMAX_AZ     2*M_PI
00079 
00080 /*
00081  * Defines for states values and names
00082  * These enum and string vector are used in the whole module
00083  * to identify states and substates.
00084  * The values must be coordinated with the standard states defined in 
00085  * evhtates.h
00086  */
00087 
00088 #include "evhStates.h"
00089 
00090 /* Local remapping of some standard states (just for convenience) */
00091 #define trkwsSTATE_OFF             evhSTATE_OFF
00092 #define trkwsSTATE_LOADED          evhSTATE_LOADED
00093 #define trkwsSTATE_STANDBY         evhSTATE_STANDBY
00094 #define trkwsSTATE_ONLINE          evhSTATE_ONLINE
00095 #define trkwsSTATE_ERROR           evhSTATE_ERROR
00096 #define trkwsSTATE_READY           evhSTATE_READY
00097 #define trkwsSTATE_IDLE            evhSTATE_IDLE
00098 
00099 /* New states. I start from 100 to be shure not to clash */
00100 #define trkwsSTATE_STOPPING       101
00101 #define trkwsSTATE_PRESETTING     103
00102 #define trkwsSTATE_TRACKING       104
00103 
00104 /* Defines for name states */
00105 #define    trkwsSTATE_STR_OFF        evhSTATE_STR_OFF 
00106 #define    trkwsSTATE_STR_LOADED     evhSTATE_STR_LOADED 
00107 #define    trkwsSTATE_STR_STANDBY    evhSTATE_STR_STANDBY 
00108 #define    trkwsSTATE_STR_ONLINE     evhSTATE_STR_ONLINE 
00109 #define    trkwsSTATE_STR_READY      evhSTATE_STR_READY
00110 #define    trkwsSTATE_STR_ERROR      evhSTATE_STR_ERROR 
00111 #define    trkwsSTATE_STR_IDLE       evhSTATE_STR_IDLE
00112 
00113 #define    trkwsSTATE_STR_STOPPING   "STOPPING"
00114 #define    trkwsSTATE_STR_PRESETTING "PRESETTING"
00115 #define    trkwsSTATE_STR_TRACKING   "TRACKING"
00116 
00117 /* Error conditions for the position calculation routine */
00118 #define trkwsPOS_OK            0
00119 #define trkwsPOS_DB_ERROR      1
00120 #define trkwsPOS_SYNC_ERROR    2
00121 #define trkwsPOS_RANGE_ERROR   3
00122 #define trkwsPOS_EMPTY_BUFFER  4
00123 
00124 /*
00125  * Defines for command names
00126  */
00127 
00128 
00129 /* Commands accepted by trkwsControl process */
00130 #define trkwsSTOP_CMD      "STOP"
00131 #define trkwsSTOPTRK_CMD   "STOP"
00132 #define trkwsOFFSAD_CMD    "OFFSAD"
00133 #define trkwsOFFSAA_CMD    "OFFSAA"
00134 #define trkwsOFFSXY_CMD    "OFFSXY"
00135 #define trkwsOFFSDEF_CMD   "OFFSDEF"
00136 #define trkwsOFFSADG_CMD   "OFFSADG"
00137 #define trkwsOBJSTAR_CMD   "OBJSTAR"
00138 #define trkwsOBJFIX_CMD    "OBJFIX"
00139 #define trkwsOBJNAME_CMD   "OBJNAME"
00140 #define trkwsSETPMC_CMD    "SETPMC"
00141 #define trkwsSTRTMC_CMD    "STRTMC"
00142 #define trkwsSTOPMC_CMD    "STOPMC"
00143 #define trkwsSETAV_CMD     "SETAV"
00144 #define trkwsSETLAM_CMD    "SETLAM"
00145 #define trkwsSETADC_CMD    "SETADC"
00146 #define trkwsSETDUT_CMD    "SETDUT"
00147 #define trkwsSETTERM_CMD    "SETTERM"
00148 #define trkwsENATERM_CMD    "ENATERM"
00149 #define trkwsDISTERM_CMD    "DISTERM"
00150 #define trkwsNEWPCM_CMD     "NEWPCM"
00151 #define trkwsSETUP_CMD      "SETUP"
00152 #define trkwsMARK_CMD       "MARK"
00153 #define trkwsREADASM_CMD    "READASM"
00154 #define trkwsREADPOS_CMD    "READPOS"
00155 #define trkwsREADSID_CMD    "READSID"
00156 #define trkwsGETREM_CMD     "GETREM"
00157 #define trkwsSETRLIM_CMD    "SETRLIM"
00158 #define trkwsSETFOC_CMD     "SETFOC"
00159 #define trkwsSETOAX_CMD     "SETOAX"
00160 #define trkwsSETROT_CMD     "SETROT"
00161 #define trkwsOFFSROT_CMD    "OFFSROT"
00162 #define trkwsOBJROT_CMD     "OBJROT"
00163 #define trkwsSETPOLM_CMD    "SETPOLM"
00164 #define trkwsMKCIRC_CMD     "MKCIRC"
00165 
00166 /* Commands send to other modules     */
00167 /* (interface must be defined better) */
00168 
00169 /* To Autoguiding                   */
00170 #define agaPROBESTEP_CMD     "OFFSAD"
00171 
00172 /*
00173  *    Standard OK reply
00174  *    Othere replies to commands
00175  */
00176 
00177 #define trkwsOK_REPLY             "OK"
00178 #define trkwsABORT_REPLY          "aborted"
00179 #define trkwsREJECTED_REPLY       "rejected"
00180 #define trkwsPRS_OK_ABORT_REPLY   "OK, superseded by valid equivalent command"
00181 #define trkwsOFF_OK_ABORT_REPLY   "OK, superseded by valid equivalent command"
00182 #define trkwsINIT_OK_ABORT_REPLY   "OK, superseded by valid equivalent command"
00183 
00184 
00185 /*
00186 **************************************************************************
00187  *    Database attribute names and aliases.
00188  *    ------------------------------------
00189  */
00190 
00191 /*
00192  *     .... general
00193  */
00194 #define trkwsDB_ENTRY_POINT           "trk"
00195 #define trkwsDB_STATE                 "state"
00196 #define trkwsDB_SUBSTATE              "substate"
00197 #define trkwsDB_RTTLIMITALARM         "remTrkTimeAlarm"
00198 #define trkwsDB_TARGETS_ADDR_ATTRNAME "targetsAddr"
00199 
00200 #define trkwsDB_CONTROL_POINT         "control"
00201 #define trkwsDB_CONTROL_STATE         "state"
00202 
00203 
00204 #define trkwsDB_DATA_POINT      "data"
00205 
00206 /*
00207  *    NOTE:  the following attributes are relative to  trk:data:
00208  */
00209 
00210 /*
00211  *    .... reference position
00212  */
00213 #define trkwsMAX_TIME_DIFF_ATTRNAME  ":position.maxTimeDiff"
00214 
00215 #define trkwsREF_ALPHA_ATTRNAME  ":position:refPos.alpha"
00216 #define trkwsREF_DELTA_ATTRNAME  ":position:refPos.delta"
00217 #define trkwsREF_EPSYST_ATTRNAME  ":position:refPos.epochSystem"
00218 #define trkwsREF_EPOCH_ATTRNAME  ":position:refPos.epoch"
00219 #define trkwsREF_EQUINOX_ATTRNAME  ":position:refPos.equinox"
00220 #define trkwsREF_PMA_ATTRNAME  ":position:refPos.pma"
00221 #define trkwsREF_PMD_ATTRNAME  ":position:refPos.pmd"
00222 #define trkwsREF_RVEL_ATTRNAME  ":position:refPos.radvel"
00223 #define trkwsREF_PLX_ATTRNAME  ":position:refPos.parallax"
00224 #define trkwsREF_CTYPE_ATTRNAME  ":position:refPos.coordType"
00225 #define trkwsREF_ALT_ATTRNAME  ":position:refPos.alt"
00226 #define trkwsREF_AZ_ATTRNAME  ":position:refPos.az"
00227 #define trkwsREF_NAME_ATTRNAME  ":position:refPos.objName"
00228 
00229 
00230 #define trkwsACT_POS_STATUS_ATTRNAME  ":position:actPos.posStatus"
00231 #define trkwsACT_ALPHA_ATTRNAME  ":position:actPos.RA"
00232 #define trkwsACT_DELTA_ATTRNAME  ":position:actPos.dec"
00233 #define trkwsACT_ALPHA_ENC_ATTRNAME  ":position:actPos.RAEncoder"
00234 #define trkwsACT_DELTA_ENC_ATTRNAME  ":position:actPos.decEncoder"
00235 #define trkwsACT_ALPHA_LT2000_ATTRNAME  ":position:actPos.RALocalTel2000"
00236 #define trkwsACT_DELTA_LT2000_ATTRNAME  ":position:actPos.decLocalTel2000"
00237 #define trkwsACT_HA_ATTRNAME     ":position:actPos.HA"
00238 #define trkwsACT_ALPHA2000_ATTRNAME  ":position:actPos.RA2000"
00239 #define trkwsACT_DELTA2000_ATTRNAME  ":position:actPos.dec2000"
00240 #define trkwsACT_ALPHA2000DEG_ATTRNAME  ":position:actPos.RA2000Deg"
00241 #define trkwsACT_DELTA2000DEG_ATTRNAME  ":position:actPos.dec2000Deg"
00242 #define trkwsACT_ALPHA_CURRENT_ATTRNAME  ":position:actPos.RACurrent"
00243 #define trkwsACT_DELTA_CURRENT_ATTRNAME  ":position:actPos.decCurrent"
00244 #define trkwsACT_ALT_ATTRNAME  ":position:actPos.alt"
00245 #define trkwsACT_AZ_ATTRNAME  ":position:actPos.az"
00246 #define trkwsACT_ROTRAD_ATTRNAME  ":position:actPos.rotRad"
00247 #define trkwsACT_ROTDEG_ATTRNAME  ":position:actPos.rotDeg"
00248 #define trkwsACT_ADRAD_ATTRNAME  ":position:actPos.adRad"
00249 #define trkwsACT_ADDEG_ATTRNAME  ":position:actPos.adDeg"
00250 #define trkwsACT_TIMESTAMP_ATTRNAME  ":position:actPos.timestamp"
00251 #define trkwsACT_ALT_ADDRPTR  ":position:actPos.altAddr"
00252 #define trkwsACT_AZ_ADDRPTR  ":position:actPos.azAddr"
00253 #define trkwsACT_ROT_ADDRPTR  ":position:actPos.rotAddr"
00254 #define trkwsACT_AD_ADDRPTR  ":position:actPos.adAddr"
00255 #define trkwsACT_DEC_DEVIATION_ATTRNAME ":position:actPos.decDeviation"
00256 #define trkwsACT_RA_DEVIATION_ATTRNAME ":position:actPos.RADeviation"
00257 #define trkwsACT_ROTOFFSET_ATTRNAME ":position:actPos.rotOffset"
00258 #define trkwsACT_ROTONSKY_ATTRNAME ":position:actPos.rotOnSky"
00259 #define trkwsACT_POINTAXISOFFX_ATTRNAME ":position:actPos.pointAxisOffX"
00260 #define trkwsACT_POINTAXISOFFY_ATTRNAME ":position:actPos.pointAxisOffY"
00261 
00262 /* 
00263  * 
00264  */
00265 #define trkwsACT_REMTRKTIME_ATTRNAME  ":position:actPos.remTrack"
00266 
00267 /*
00268  *    ...... setup data
00269  */
00270 #define trkwsDB_SETUP_POINT                 "setup"
00271 #define trkwsDB_SETUP_LAMBDA_ATTRNAME          ":setup.wavelength"
00272 #define trkwsDB_SETUP_ADDVELALPHA_ATTRNAME     ":setup.addVelAlpha"
00273 #define trkwsDB_SETUP_ADDVELDELTA_ATTRNAME     ":setup.addVelDelta"
00274 #define trkwsDB_SETUP_REMTRKTIMELIMIT_ATTRNAME ":setup.remTrkTimeLimit"
00275 #define trkwsDB_SETUP_ROTANGLE_ATTRNAME        ":setup.rotDiffAngle"
00276 
00277 /*
00278  *    ...... pointing correction data
00279  */
00280 #define trkwsIMAGE_SHIFT_ATTRNAME ":pointing.imageShift"
00281 
00282 /*
00283  *    ...... times data
00284  */
00285 
00286 #define trkwsTIMES_DUT1_ATTRNAME ":times.dut1"
00287 #define trkwsTIMES_SID_ATTRNAME  ":times.lst"
00288 #define trkwsTIMES_UTC_ATTRNAME  ":times.utc"
00289 
00290 /*
00291  *    ...... site monitor data
00292  */
00293 
00294 #define trkwsENV_TEMP_ATTRNAME      ":environment.temperature"
00295 #define trkwsENV_PRES_ATTRNAME      ":environment.pressure"
00296 #define trkwsENV_HUM_ATTRNAME       ":environment.humidity"
00297 #define trkwsENV_LAPSERATE_ATTRNAME ":environment.lapseRate"
00298 
00299 /*
00300  *    ...... site constants data
00301  */
00302 
00303 #define trkwsSITE_LATITUDE_ATTRNAME  ":siteConstants.latitude"
00304 #define trkwsSITE_LONGITUDE_ATTRNAME ":siteConstants.longitude"
00305 #define trkwsSITE_HEIGHT_ATTRNAME    ":siteConstants.height"
00306 #define trkwsSITE_POLMX_ATTRNAME    ":siteConstants.xPolarMotion"
00307 #define trkwsSITE_POLMY_ATTRNAME    ":siteConstants.yPolarMotion"
00308 
00309 /*
00310  *    ...... rotator data
00311  */
00312 
00313 #define trkwsROTATORS_ROTPOS_ATTRNAME  ":focusData.rotPos"
00314 #define trkwsDB_LOAD_ON_INIT           ":focusData.loadOnInit"
00315 #define trkwsFOCUS_CHECK_TIME          ":focusData.checkTime"
00316 
00317 /*
00318  *    ...... file data
00319  */
00320 #define trkwsLCU_DUT_BACKUP_FILE       ":files.backupDutLCU"
00321 #define trkwsLCU_SETROT_BACKUP_FILE    ":files.backupSetrotLCU"
00322 
00323 #define trkwsLCU_PC_BACKUP_FILE        ":files.backupPcLCU"
00324 #define trkwsLCU_PC_BACKUP_BRANCH      ":files.backupPcLCUbranch"
00325 
00326 /*
00327  *    ...... alarm data
00328  */
00329 
00330 #define trkwsNEWPCM_ALARM        ":alarms.newpcmAlarm"
00331 #define trkwsSETFOC_ALARM        ":alarms.setfocAlarm"
00332 #define trkwsSETROT_ALARM        ":alarms.setrotAlarm"
00333 #define trkwsSETOAX_ALARM        ":alarms.setoaxAlarm"
00334 
00335 /*
00336  *    ...... limit data
00337  */
00338 
00339 #define trkwsLIMIT_CHECK_LIMIT  ":limits.checkLimit"
00340 #define trkwsLIMIT_ALT_ADDRPTR  ":limits.altLimitAddr"
00341 
00342 /*
00343  *    NOTE:  the following attributes are relative to  trk part of 
00344  *           LCU branch for each axis
00345  */
00346 
00347 
00348 #define trkwsAXIS_REMTRKTIME_ATTRNAME   ".remTrkTime"
00349 #define trkwsAXIS_LIMITFLAG_ATTRNAME    ".limitFlag"
00350 #define trkwsAXIS_SUBSTATE_ATTRNAME     ".substate"
00351 #define trkwsAXIS_TIMESTAMP_ATTRNAME    ".timestamp"
00352 #define trkwsAXIS_POSITION_ATTRNAME     ".position"
00353 #define trkwsAXIS_POSENCODER_ATTRNAME   ".posEncoder"
00354 #define trkwsAXIS_UPPER_LIMIT_ATTRNAME  ".upperLimit"
00355 #define trkwsAXIS_LOWER_LIMIT_ATTRNAME  ".lowerLimit"
00356 #define trkwsAXIS_ALPHA_AGC_ATTRNAME    ".alphaAGC"
00357 #define trkwsAXIS_DELTA_AGC_ATTRNAME    ".deltaAGC"
00358 #define trkwsAXIS_ROT_OFFSET_OBJ        ":intCoord.rotOffsetObj"
00359 #define trkwsAXIS_ROT_OFFSET_STEP_ACCU  ":intCoord.rotOffsetStepAccu"
00360 #define trkwsAXIS_ALPHA_APP  ":intCoord.alphaApp"
00361 #define trkwsAXIS_DELTA_APP  ":intCoord.deltaApp"
00362 
00363 /*
00364  *        end of database attribute names
00365  ****************************************************************
00366  */
00367 
00368 
00369 /********************/
00370 /* ASM data defines */
00371 /********************/
00372 
00373 /* Command sent to LCUs */
00374 #define trkwsSETASM_CMD  "SETASM"
00375 
00376 /* Contents of message buffer for standard commands used globally */
00377 /* and to be propagated to trkwsSetup                              */
00378 #define trkwsMSG_BUFF_ALL "ALL"
00379 
00380 #endif 

Generated on Wed Dec 3 14:52:23 2003 for ATCS API by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001