mswCHANGE_FOCUS_NTT
Section: Devices and Network Interfaces (4)
Updated: 2012-04-23 10:09
Index
Return to man pages list
NAME
mswCHANGE_FOCUS_NTT - Control telescope's focus change.
Specific NTT implementation
SYNOPSIS
#include "mswCHANGE_FOCUS_NTT.h"
class mswCHANGE_FOCUS_NTT : public mswCHANGE_FOCUS
{
public:
mswCHANGE_FOCUS_NTT(mswMOD_LIST_MANAGER &listManager);
mswCHANGE_FOCUS_NTT(const dbSYMADDRESS dbPoint,
mswMOD_LIST_MANAGER &listManager);
~mswCHANGE_FOCUS_NTT();
ccsCOMPL_STAT Execute(msgMESSAGE &msg);
protected:
virtual evhCB_COMPL_STAT M3CmdOkCB(msgMESSAGE &msg,
void *udata);
virtual evhCB_COMPL_STAT M3CmdErrorCB(msgMESSAGE &msg,
vltLOGICAL timeoutFlag);
virtual ccsCOMPL_STAT ReadMirrorsPos(vltINT32 *currFoc);
};
PARENT CLASS
mswCHANGE_FOCUS
DESCRIPTION
Performs focus change.
This subclass implements the real focus changing functionality taking
into account the specific telescope architecture for NTT.
PUBLIC METHODS
mswCHANGE_FOCUS_NTT(mswMOD_LIST_MANAGER &listManager);
mswCHANGE_FOCUS_NTT(const dbSYMADDRESS dbPoint,
mswMOD_LIST_MANAGER &listManager)
Two constructors are provided.
The second one receives as parameter the symbolic address of
online database support point for the object, i.e. the point
where the object can find configuration and run time values.
The first one defines the online database support point calling
the standard tcsDbRoot(4) function and appenting the
default relative path from the TCS database root point,
assuming a complete default TCS database structure.
It calls the parent class' constructor.
~mswCHANGE_FOCUS_NTT()
ccsCOMPL_STAT Execute(msgMESSAGE &msg);
Starts the real execution of the change focus procedure.
Actually sends only the first commands of the sequence
(ONLINE to M3). The rest of the procedure is controlled
by the two callbacks EndM3CmdCB and M3CmdErrorCB.
PROTECTED METHODS
virtual evhCB_COMPL_STAT M3CmdOkCB(msgMESSAGE &msg,
void *udata);
This callback is attached to the command object used
to send commands to M3. It gets the control after every
successfull completion of the command (last OK reply received),
and starts the next step.
When the last step of the procedure has been completed,
it returns the control flow to the mswCONTROL_MAIN object.
virtual evhCB_COMPL_STAT M3CmdErrorCB(msgMESSAGE &msg,
vltLOGICAL timeoutFlag);
This callback is attached to the command object used
to send commands to M3. It gets the control when an error
or timeout reply is received. It handles the error, stops
the execution of the procedure and return the control flow
to the mswCONTROL_MAIN object.
virtual ccsCOMPL_STAT ReadMirrorsPos(vltINT32 *currFoc);
Computes the current focus by reading the mirrors positions.
Now this function is implemented on the base of the NTT
implementation for the m3 module and is not complete.
It will be better implemented
when further specifications are available.
See CAUTIONS section.
ON LINE DATABASE
See mswCHANGE_FOCUS class.
CAUTIONS
ReadMirrorsPos function is only partially implemented and
needs to be reworked and cleaned up.
It now reads from the database what is assumed to be the current
position of the m3 mirror and is based on the NTT implementation.
It then requires that an m3 point exist in the TCS database
with the following definition:
POINT NULL_CLASS "Appl_data:TCS:m3:mirror3"
BEGIN
// Set to the value corresponding to the NA focus
ATTRIBUTE int32 movingState 4
END
The movingState attribute is supposed to have one of the
following values:
typedef enum
{
m3Undefined = 1, // -> mswUNDEFINED_FOCUS
m3Idle, // -> mswUNDEFINED_FOCUS
m3Moving, // -> mswINTERMEDIATE_D_FOCUS
m3InFocusA, // -> mswNASMITH_A_FOCUS
m3InFocusB // -> mswNASMITH_B_FOCUS
} m3MOVING_STATE;
This will have to be changed and implemented in a cleaner way
SEE ALSO
mswCHANGE_FOCUS(4)
evhDB_TASK(4)
Index
- NAME
-
- SYNOPSIS
-
- PARENT CLASS
-
- DESCRIPTION
-
- PUBLIC METHODS
-
- PROTECTED METHODS
-
- ON LINE DATABASE
-
- CAUTIONS
-
- BEGIN
-
- END
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 10:09:28 GMT, April 23, 2012