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

tif.h

Go to the documentation of this file.
00001 #ifndef TIF_H
00002 #define TIF_H
00003 
00004 /*******************************************************************************
00005 * E.S.O. - VLT project
00006 *
00007 * "@(#) $Id: tif.h,v 1.143 2003/11/12 08:56:57 vltsccm Exp $"
00008 *
00009 * who       when      what
00010 * --------  --------  ----------------------------------------------
00011 * jargomed 2002-09-05 added new asm data (by name)
00012 * rkarban 2001-11-20 add data item OBSWAVELEN
00013 * gchiozzi 2000-06-26 Added defines for new entries
00014 * gchiozzi  14/10/99  Added tifDATA_ASM_PRESSURE
00015 * rkarban  04/02/99  align with tcsPUBLIC db
00016 * rabuter  13/12/98  Added windspeed and winddir
00017 * gchiozzi  27/04/98  Added handling of angle on sky for guide probe technical CCD.
00018 * gchiozzi  16/04/98  Added RA2000 and dec2000 in degrees (spr. 970502)
00019 * gchiozzi  16/04/98  Added define for tifDATA_ADA_ANGLE
00020 * awalland  03/11/97  Added foculen, focuscale and installed (SPR970397)
00021 * gchiozzi  10/09/97  Changed the prototype of tifGetByName() and tifAttachEvent()
00022 * gchiozzi  10/09/97  Replaced structures with named data with string defines
00023 
00024 * tphan     31/05/97  Added new items: ADA_POSANG
00025 *                     Use measured status value, not setup (awa)
00026 * gchiozzi  23/04/97  Updated units in comments
00027 * gchiozzi  09/04/97  Added new items: ROT_ANGLE, PROBE_X and PROBE_Y
00028 * awalland  13/03/97  Added NAMED data values required for FITS header
00029 * awalland  12/03/97  Added inclusion of tcs and msw conversion functions
00030 * awalland  11/03/97  Added tifGetFitsStart and tifGetFitsEnd prototypes
00031 * gchiozzi  16/01/97  Moved here from tifEventLib definition of values for tifEventInfo array
00032 * gchiozzi  16/01/97  Moved here from tifDataQueryLib definition of values for tifDataInfo array
00033 * gchiozzi  06/11/96  Added tifDATA_FOCUS to retrieve current focus station
00034 * gchiozzi  05/11/96  Error stack made optional. Added check for multiple calls.
00035 * nfiebig   11/01/96  changed comments for RA and dec "... for J2000"
00036 * gchiozzi  06/12/95  Added some comments
00037 * gchiozzi  01/12/95  Added inclusion of new file tifDefines.h
00038 * nfiebig   07/08/95  created
00039 */
00040 
00041 /************************************************************************
00042  * Public interface definition of the TCS Interface (tif)
00043  *----------------------------------------------------------------------
00044  */
00045 
00046 #ifndef __cplusplus
00047 #error This is a C++ include file and cannot be used from plain C
00048 #endif
00049 
00050 #include <ccs.h>
00051 #include <evt.h>
00052 
00053 #include "eccsTestTools.h"
00054 #include "tcs.h"
00055 #include "tcsVcc.h"
00056 #include "msw.h"
00057 #include "tifDefines.h"
00058 
00059 /*
00060  * Typedes with the definition of storage type
00061  * for data and event identification names
00062  */
00063 typedef vltBYTES32  tifNAME;
00064 typedef vltBYTES256 tifDB_ADDR;
00065 
00066 /*
00067  * Defines for named data items (see tifGetByName)
00068  * These defines allow to select data items to be read by name.
00069  * A database table contains the mapping from names to database
00070  * symbolic address and data types.
00071  */
00072 #define tifDATA_LST            "tifDATA_LST"
00073 #define tifDATA_UTC            "tifDATA_UTC"
00074 #define tifDATA_HA             "tifDATA_HA"
00075 #define tifDATA_RA             "tifDATA_RA"
00076 #define tifDATA_DEC            "tifDATA_DEC"
00077 #define tifDATA_RA2000         "tifDATA_RA2000"
00078 #define tifDATA_DEC2000        "tifDATA_DEC2000"
00079 #define tifDATA_RA2000DEG      "tifDATA_RA2000DEG"
00080 #define tifDATA_DEC2000DEG     "tifDATA_DEC2000DEG"
00081 #define tifDATA_OBSWAVELEN     "tifDATA_OBSWAVELEN"
00082 #define tifDATA_ALT            "tifDATA_ALT"
00083 #define tifDATA_AZ             "tifDATA_AZ"
00084 #define tifDATA_ALT_REF        "tifDATA_ALT_REF"
00085 #define tifDATA_AZ_REF         "tifDATA_AZ_REF"
00086 #define tifDATA_AIRMASS        "tifDATA_AIRMASS"
00087 #define tifDATA_PRLTIC         "tifDATA_PRLTIC"
00088 #define tifDATA_DVELRA         "tifDATA_DVELRA"
00089 #define tifDATA_DVELDEC        "tifDATA_DVELDEC"
00090 #define tifDATA_LONGI          "tifDATA_LONGI"
00091 #define tifDATA_LATI           "tifDATA_LATI"
00092 #define tifDATA_LEVEL          "tifDATA_LEVEL"
00093 #define tifDATA_REMTIME        "tifDATA_REMTIME"
00094 #define tifDATA_REMLIMIT       "tifDATA_REMLIMIT"
00095 #define tifDATA_TRACK          "tifDATA_TRACK"
00096 #define tifDATA_FOCUS          "tifDATA_FOCUS"
00097 #define tifDATA_TELESCOP       "tifDATA_TELESCOP"
00098 #define tifDATA_VERSION        "tifDATA_VERSION"
00099 #define tifDATA_INSTALLED      "tifDATA_INSTALLED"
00100 #define tifDATA_OPER           "tifDATA_OPER"
00101 #define tifDATA_FOCULEN_NA     "tifDATA_FOCULEN_NA"
00102 #define tifDATA_FOCULEN_CA     "tifDATA_FOCULEN_CA"
00103 #define tifDATA_FOCULEN_CO     "tifDATA_FOCULEN_CO"
00104 #define tifDATA_FOCUSCALE_NA   "tifDATA_FOCUSCALE_NA"
00105 #define tifDATA_FOCUSCALE_CA   "tifDATA_FOCUSCALE_CA"
00106 #define tifDATA_FOCUSCALE_CO   "tifDATA_FOCUSCALE_CO"
00107 #define tifDATA_FOCU_VALUE     "tifDATA_FOCU_VALUE"
00108 #define tifDATA_DOME_STATUS    "tifDATA_DOME_STATUS"
00109 #define tifDATA_AG_STATUS      "tifDATA_AG_STATUS"
00110 #define tifDATA_AG_RA          "tifDATA_AG_RA"
00111 #define tifDATA_AG_DEC         "tifDATA_AG_DEC"
00112 #define tifDATA_ROT_ANGLE      "tifDATA_ROT_ANGLE"
00113 #define tifDATA_PROBE_X        "tifDATA_PROBE_X"
00114 #define tifDATA_PROBE_Y        "tifDATA_PROBE_Y"
00115 #define tifDATA_PROBE_RA       "tifDATA_PROBE_RA"
00116 #define tifDATA_PROBE_DEC      "tifDATA_PROBE_DEC"
00117 #define tifDATA_PROBE_IN_POS   "tifDATA_PROBE_IN_POS"
00118 #define tifDATA_PROBE_PPOS     "tifDATA_PROBE_PPOS"
00119 #define tifDATA_ADA_POSANG     "tifDATA_ADA_POSANG"
00120 #define tifDATA_ADA_ANGLE      "tifDATA_ADA_ANGLE"
00121 #define tifDATA_CCD_ON_SKY     "tifDATA_CCD_ON_SKY"
00122 #define tifDATA_ASM_SEEING     "tifDATA_ASM_SEEING"
00123 #define tifDATA_ASM_TAU0       "tifDATA_ASM_TAU0"
00124 #define tifDATA_ASM_THETA0     "tifDATA_ASM_THETA0"
00125 #define tifDATA_ASM_RFLRMS     "tifDATA_ASM_RFLRMS"
00126 #define tifDATA_ADC_SEP        "tifDATA_ADC_SEP"
00127 #define tifDATA_TEMP_SER_1     "tifDATA_TEMP_SER_1"
00128 #define tifDATA_TEMP_SER_2     "tifDATA_TEMP_SER_2"
00129 #define tifDATA_TEMP_SER_3     "tifDATA_TEMP_SER_3"
00130 #define tifDATA_TEMP_SER_4     "tifDATA_TEMP_SER_4"
00131 #define tifDATA_TEMP_CNT_1     "tifDATA_TEMP_CNT_1"
00132 #define tifDATA_TEMP_CNT_2     "tifDATA_TEMP_CNT_2"
00133 #define tifDATA_TEMP_FLX_1     "tifDATA_TEMP_FLX_1"
00134 #define tifDATA_TEMP_FLX_2     "tifDATA_TEMP_FLX_2"
00135 #define tifDATA_TEMP_FLX_3     "tifDATA_TEMP_FLX_3"
00136 #define tifDATA_TEMP_FLX_4     "tifDATA_TEMP_FLX_4"
00137 #define tifDATA_ASM_WINDSPEED  "tifDATA_ASM_WINDSPEED"
00138 #define tifDATA_ASM_WINDDIR    "tifDATA_ASM_WINDDIR"
00139 #define tifDATA_ASM_PRESSURE   "tifDATA_ASM_PRESSURE"
00140 #define tifDATA_M1_CORRECTED   "tifDATA_M1_CORRECTED"
00141 #define tifDATA_M2_CORRECTED   "tifDATA_M2_CORRECTED"
00142 #define tifDATA_AO_CMD_STATE   "tifDATA_AO_CMD_STATE"
00143 #define tifDATA_AO_TARGET      "tifDATA_AO_TARGET"
00144 #define tifDATA_AO_CUR_IND_AVG "tifDATA_AO_CUR_IND_AVG"
00145 #define tifDATA_CHOP_STATUS    "tifDATA_CHOP_STATUS"
00146 #define tifDATA_CHOP_STRT_TIME "tifDATA_CHOP_STRT_TIME"
00147 #define tifDATA_CHOP_STOP_TIME "tifDATA_CHOP_STOP_TIME"
00148 #define tifDATA_CHOP_FREQ      "tifDATA_CHOP_FREQ"
00149 #define tifDATA_CHOP_THROW     "tifDATA_CHOP_THROW"
00150 #define tifDATA_CHOP_POI       "tifDATA_CHOP_POI"
00151 #define tifDATA_CHOP_PVR       "tifDATA_CHOP_PVR"
00152 #define tifDATA_CHOP_TPA       "tifDATA_CHOP_TPA"
00153 #define tifDATA_CHOP_POSANG    "tifDATA_CHOP_POSANG"
00154 #define tifDATA_CHOP_OFFSET    "tifDATA_CHOP_OFFSET"
00155 #define tifDATA_ASM_WINDSPEED  "tifDATA_ASM_WINDSPEED"
00156 #define tifDATA_ASM_WINDDIR    "tifDATA_ASM_WINDDIR"
00157 #define tifDATA_ASM_RHUM       "tifDATA_ASM_RHUM"
00158 #define tifDATA_ASM_TEMP       "tifDATA_ASM_TEMP"
00159 #define tifDATA_MOON_RA        "tifDATA_MOON_RA"
00160 #define tifDATA_MOON_DEC       "tifDATA_MOON_DEC"
00161 #define tifDATA_M1_TEMP        "tifDATA_M1_TEMP"
00162 #define tifDATA_AO_FOCUS_TERM  "tifDATA_AO_FOCUS_TERM"
00163 
00164 /*
00165  * Defines for named event items (see tifAttachEvent)
00166  * These defines allow to select data items to be read by name.
00167  * A database table contains the mapping from names to database
00168  * symbolic address and event types.
00169  */
00170 #define tifEVENT_TRACKING_LOST "tifEVENT_TRACKING_LOST"
00171 #define tifEVENT_GUIDING_LOST  "tifEVENT_GUIDING_LOST"
00172 #define tifEVENT_REMTRACK_LOW  "tifEVENT_REMTRACK_LOW"
00173 #define tifEVENT_AO_FOCUS_TERM_CHANGED  "tifEVENT_AO_FOCUS_TERM_CHANGED"
00174 
00175 /*
00176  * Telescope Position Data Structure (actual position)
00177  */
00178 struct tifPOSITION 
00179     {
00180     vltDOUBLE HA;    // hour angle
00181     vltDOUBLE RA;    // right ascension due to mean place of J2000
00182     vltDOUBLE dec;   // declination due to mean place of J2000
00183     vltDOUBLE alt;   // altitude
00184     vltDOUBLE az;    // azimuth
00185     };
00186     
00187 /*
00188  * Module States Data Structure
00189  */
00190 struct tifSTATES
00191     {
00192     vltINT32 tcsState;      // TCS global state
00193     vltINT32 tcsSubstate;   // TCS sub-state
00194     };
00195     
00196 /*
00197  * Telescope Status Data Structure
00198  */
00199 struct tifSTATUS
00200     {
00201     // TBD
00202     };
00203     
00204 /*
00205  * Common TCS Library init function
00206  */
00207 ccsCOMPL_STAT tifInitLibs(ccsERROR *error = NULL);
00208 
00209 /*
00210  * TCS Data Query Library functions
00211  */
00212 ccsCOMPL_STAT tifGetPosition(tifPOSITION *position, ccsERROR *error = NULL);
00213 ccsCOMPL_STAT tifGetStates(tifSTATES *states, ccsERROR *error = NULL);
00214 ccsCOMPL_STAT tifGetStatus(tifSTATUS *status, ccsERROR *error = NULL);
00215 ccsCOMPL_STAT tifGetByName(char *nameIndex, char *buffer, dbTYPE *type = NULL,
00216                            ccsERROR *error = NULL);
00217 ccsCOMPL_STAT tifGetFitsStart(const char *imageFile, ccsERROR *error = NULL);
00218 ccsCOMPL_STAT tifGetFitsEnd(const char *imageFile, ccsERROR *error = NULL);
00219 
00220 /*
00221  * TCS Event Library functions
00222  */
00223 ccsCOMPL_STAT tifAttachEvent(char *nameIndex, evtEVENT_ID *eventId,
00224                              ccsERROR *error = NULL);
00225 ccsCOMPL_STAT tifDetachEvent(evtEVENT_ID *eventId, ccsERROR *error = NULL);
00226 
00227 #endif 

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