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

agwsCON_MAIN_TASK.h

Go to the documentation of this file.
00001 #ifndef agwsCON_MAIN_TASK_H
00002 #define agwsCON_MAIN_TASK_H
00003 /******************************************************************************
00004 * E.S.O. - VLT project
00005 *
00006 * "@(#) $Id: agwsCON_MAIN_TASK.h,v 1.182 2003/11/12 08:34:09 vltsccm Exp $"
00007 *
00008 * who       when      what
00009 * --------  --------  ----------------------------------------------
00010 * rkarban 2001-12-03 add methods for checking state at start/stop guiding
00011 * gchiozzi 2001-03-06 Added OFFSAG command (spr.20000550)
00012 * rkarban 2000-10-31 move inclusion of CON_ADAPTER class to CON_MAIN_TASK.C
00013 * rkarban 2000-10-31 add ATS_TCS target
00014 * gchiozzi  15/11/99  Removed FINDGS command
00015 * mkiekebu  10/09/99  DetGpInPosOkCB and DetGpInPosErrorCB added
00016 * gchiozzi  22/07/98  Added SetupSaveAndOkCB and SetupReloadAndErrorCB methods
00017 * rkarban  18/07/98  replace cntgs with pr2star,star2pr
00018 * tphan     25/05/98  Added cmd CNTGS and CntGsCB (Move probe to center gs)
00019 * rkarban  24/06/98  add callback DetGsStopTccdOkCB
00020 * gchiozzi  05/02/98  Added stop of TCCD to BOX2GS command.
00021 * gchiozzi  08/01/98  Added StopAgStrtTccdCB() method
00022 * gchiozzi  28/11/97  Support objects are created outside and bassed by reference.
00023 * gchiozzi  17/11/97  Added counter for max loop in FINDGS command.
00024 * gchiozzi  11/11/97  Added STRTCCD and STOPCCD commands
00025 * gchiozzi  17/10/97  Removed xOffset and yOffset members. Not necessary any more.
00026 * gchiozzi  17/10/97  Removed step reading ROT ON SKY for center obj. Done via tif.
00027 * gchiozzi  09/10/97  Removed oslxServer
00028 * gchiozzi  09/10/97  Removed SETIT command
00029 * gchiozzi  09/10/97  Changed all callbacks to get the agwsCMD_HANDLER in the udata
00030 * gchiozzi  01/10/97  Removed StartAgExposureOkCB. No used.
00031 * tphan     06/06/97  added  RemoteLoadOkCB to load rtd setup file for oslxServer
00032 * tphan     24/05/97  added agwsTccdSetupFile for ccd 
00033 * tphan     16/05/97  added agwsTccdUserFunction for use of ccd user function
00034 * nttmgr    19/03/97  remove attributes startAgCmdHandler&stopAgCmdHandler
00035 * gchiozzi  29/02/96  created
00036 */
00037 
00038 /************************************************************************
00039  * Definition of class agwsCON_MAIN_TASK
00040  *----------------------------------------------------------------------
00041  */
00042 
00043 #ifndef __cplusplus
00044 #error This is a C++ include file and cannot be used from plain C
00045 #endif
00046 
00047 #include "agws.h"
00048 #include "agwsCMD_HANDLER.h"
00049 #include "agwsCON_CAT.h"
00050 #include "agwsCON_CHECK.h"
00051 #include "agwsCON_SETUP.h"
00052 #include "agwsCON_SERVER.h"
00053 #include "agwsCON_ADAPTER.h"
00054 
00055 class agwsCON_MAIN_TASK : public evhDB_TASK
00056 {
00057   public:
00058     agwsCON_MAIN_TASK(const dbSYMADDRESS  dbPoint,
00059           agwsCON_ADAPTER     &conAdapter,
00060           agwsCON_CHECK       &conCheck,
00061           agwsCON_CAT         &conCat,
00062           agwsCON_SERVER      &conServer,
00063           agwsCON_SETUP       &conSetup);
00064 
00065     virtual ~agwsCON_MAIN_TASK();
00066     virtual ccsCOMPL_STAT    Init();
00067     virtual ccsCOMPL_STAT    Reset(msgMESSAGE &msg, void *);
00068     virtual ccsCOMPL_STAT    Recover();
00069     virtual vltLOGICAL CheckStateStopGuiding (msgMESSAGE &msg);
00070     virtual vltLOGICAL CheckStateStartGuiding (msgMESSAGE &msg, const char *modestr);
00071     virtual ccsCOMPL_STAT StartAgFitsLog();
00072 
00073     // Overloading of inherited commands
00074     virtual evhCB_COMPL_STAT InitCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00075     virtual evhCB_COMPL_STAT ExitCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00076     virtual evhCB_COMPL_STAT ExitOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00077     virtual evhCB_COMPL_STAT StopCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00078     virtual evhCB_COMPL_STAT OnlineCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00079     virtual evhCB_COMPL_STAT StandbyCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00080     virtual evhCB_COMPL_STAT StandbyOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00081     virtual evhCB_COMPL_STAT OffCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00082     virtual evhCB_COMPL_STAT OffOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00083     virtual evhCB_COMPL_STAT StopReplyCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00084     virtual evhCB_COMPL_STAT StopErrorCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00085 
00086     // Callbacks for module specific commands
00087     virtual evhCB_COMPL_STAT StartAgCB(msgMESSAGE &msg, agwsCMD_HANDLER &);
00088     virtual evhCB_COMPL_STAT StartAgStopTccdOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &);
00089     virtual evhCB_COMPL_STAT StartAgSetupOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00090     virtual evhCB_COMPL_STAT StartAgOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00091     virtual evhCB_COMPL_STAT StopAgCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00092     virtual evhCB_COMPL_STAT StopAgStrtTccdCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00093     virtual evhCB_COMPL_STAT StopAg(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00094     virtual evhCB_COMPL_STAT StopAgReplyCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00095     virtual evhCB_COMPL_STAT PrToGsCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00096 
00097     //
00098     // DETGS command handler methods
00099     //
00100     virtual evhCB_COMPL_STAT DetGsCB(msgMESSAGE &msg, 
00101              agwsCMD_HANDLER &handler);
00102     virtual evhCB_COMPL_STAT DetGsSetupOkCB(msgMESSAGE &msg, 
00103               agwsCMD_HANDLER &handler);
00104     virtual evhCB_COMPL_STAT DetGsTccdOkCB(msgMESSAGE &msg, 
00105              agwsCMD_HANDLER &handler);
00106     virtual evhCB_COMPL_STAT DetGsRestoreSetupCB(msgMESSAGE &msg, 
00107              agwsCMD_HANDLER &cmdHandler);
00108 
00109     virtual evhCB_COMPL_STAT Pr2StarCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00110     virtual evhCB_COMPL_STAT Star2PrCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00111     virtual evhCB_COMPL_STAT Tel2ObjCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00112     virtual evhCB_COMPL_STAT XY2ADOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00113     virtual evhCB_COMPL_STAT XY2ADAgOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00114     virtual evhCB_COMPL_STAT XY2ADAgDetGsOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00115     virtual evhCB_COMPL_STAT CntObjCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00116     virtual evhCB_COMPL_STAT CntObjProbeOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00117     virtual evhCB_COMPL_STAT CntObjSetupOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00118     virtual evhCB_COMPL_STAT CntObjTccdOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00119     virtual evhCB_COMPL_STAT CntObjOffsetOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00120     virtual evhCB_COMPL_STAT RelaxCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00121     virtual evhCB_COMPL_STAT RelaxStopTccdOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &);
00122     virtual evhCB_COMPL_STAT RelaxSetupOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00123     virtual evhCB_COMPL_STAT RelaxTccdOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00124     virtual evhCB_COMPL_STAT DetGsStopTccdOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00125     virtual evhCB_COMPL_STAT DetGsStartTccdOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);   
00126     virtual  evhCB_COMPL_STAT DetGpInPosOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00127    
00128     virtual evhCB_COMPL_STAT OffsAgCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00129 
00130     virtual evhCB_COMPL_STAT StrtTccdCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00131     virtual evhCB_COMPL_STAT StrtTccdSetupOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00132     virtual evhCB_COMPL_STAT StopTccdCB(msgMESSAGE &msg, agwsCMD_HANDLER &handler);
00133 
00134     virtual evhCB_COMPL_STAT GeneralOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &cmdHandler);
00135     virtual evhCB_COMPL_STAT GeneralErrorCB(msgMESSAGE &msg, agwsCMD_HANDLER &cmdHandler);
00136 
00137     virtual evhCB_COMPL_STAT SetupSaveAndOkCB(msgMESSAGE &msg, agwsCMD_HANDLER &cmdHandler);
00138     virtual evhCB_COMPL_STAT SetupReloadAndErrorCB(msgMESSAGE &msg, agwsCMD_HANDLER &cmdHandler);
00139 
00140     // sub-system interface objects
00141     agwsCON_ADAPTER &agwsConAdapter;
00142     agwsCON_CHECK   &agwsConCheck;
00143     agwsCON_CAT     &agwsConCat; 
00144     agwsCON_SERVER  &agwsConServer;
00145     agwsCON_SETUP   &agwsConSetup;
00146 
00147     vltDOUBLE        relaxMaxError;
00148     vltINT32         relaxLoopCount, relaxLoopMax;
00149   private:
00150 
00151     ccsCOMPL_STAT SendSetup(evhCB_METHOD mtd, 
00152           agwsCMD_HANDLER &handler);
00153 
00154 
00155     // high level command handlers
00156 
00157     agwsCMD_HANDLER  startAgCmdHandler; // STARTAG command handler
00158     agwsCMD_HANDLER  stopAgCmdHandler;  // STOPAG command handler
00159     agwsCMD_HANDLER  prToGsCmdHandler;  // PRTOGS command handler
00160     agwsCMD_HANDLER  detGsCmdHandler;   // DETGS command handler
00161     agwsCMD_HANDLER  pr2StarCmdHandler; // PR2STAR command handler
00162     agwsCMD_HANDLER  star2PrCmdHandler; // STAR2PR command handler
00163     agwsCMD_HANDLER  tel2objCmdHandler; // TEL2OBJ command handler
00164     agwsCMD_HANDLER  cntObjCmdHandler;  // CNTOBJ command handler
00165     agwsCMD_HANDLER  relaxCmdHandler;   // BOX2GS command handler
00166     agwsCMD_HANDLER  offsagCmdHandler;  // OFFSAG command handler
00167 
00168     agwsCMD_HANDLER  initCmdHandler;    // INIT command handler
00169     agwsCMD_HANDLER  exitCmdHandler;    // EXIT command handler
00170     agwsCMD_HANDLER  stopCmdHandler;    // STOP command handler
00171     agwsCMD_HANDLER  onlineCmdHandler;  // ONLINE command handler
00172     agwsCMD_HANDLER  standbyCmdHandler; // STANDBY command handler
00173     agwsCMD_HANDLER  offCmdHandler;     // OFF command handler
00174 
00175     agwsCMD_HANDLER  strtccdCmdHandler; // STRTCCD command handler
00176     agwsCMD_HANDLER  stopccdCmdHandler; // STOPCCD command handler
00177 
00178     vltINT32         stopReplyCount;    // counter for pending STOP replies
00179 
00180 
00181     vltLOGICAL       restartDetgsTccd;
00182 
00183 
00184     vltINT32        detgsWindowSize ;
00185     vltINT32      detgsOrigWindowSize;
00186     vltDOUBLE       detgsIntTime;
00187     vltDOUBLE       detgsOrigIntTime;
00188     char            checkGp[4];
00189 
00190     agwsTRANSFER     gpInPosCmd;
00191     agwsTRANSFER     setlimCmd;
00192 };
00193 
00194 
00195 #endif 

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