18 #ifndef __FilterWheelLocal_h__
19 #define __FilterWheelLocal_h__
41 FilterWheelLocal( std::string name,
const std::string &conffile)
throw (AOException);
72 map<string, float> _customPos;
77 std::string aoapp_name;
83 map<std::string, float>::iterator
cpos_it;
107 void set_control_mode(
int cmode);
108 void set_status(
int stat);
150 static int PosReqChanged(
void *pt, Variable *msgb);
152 static int StatusChanged(
void *pt, Variable *msgb);
191 #endif //__FilterWheelLocal_h__
RTDBvar var_status
The current status of the controller, STATE_CONNECTED, STATE_OPERATING,STATE_HOMING, etc.
A class to provide Filter Wheel functionality for the VisAO Camera.
virtual void updatePos(double pos)
Update position variables in RTDB.
virtual std::string local_command(std::string com)
VisAO local command fifo handler.
RTDBvar var_pos_cur
The current position.
RTDBvar var_cmode_cur
The current control mode in the RTDB.
void readFilterConfig()
Read the corresponding filter wheel controller configuration file.
void SetupVars()
Virtual function to setup variables in RTDB.
std::string common_command(std::string com, int)
Where the command logic actually happens, since it is common.
int GetType(double pos)
Get the position type from the wheel position.
std::string GetPosName(double pos)
Get the position name from wheel position.
double getAbortPos()
Exposes the abort Position (_abortPos) for use in PosReqChanged (which is static) ...
virtual int start_signal_catcher(bool inherit_sched=true)
Starts the signal catching loop.
multimap< int, float >::iterator ctype_it
An iterator for accessing the custom pos list.
multimap< int, float > _customTypes
Custom filter types list.
pthread_t signal_thread
The thread where fifo async signals are caught.
FilterWheelLocal(std::string name, const std::string &conffile)
Standard adopt style config file constructor.
static int PosCurChanged(void *pt, Variable *msgb)
RTDB handler for a position change by the AO Supervisor.
RTDBvar var_pos_local_req
Position requester for local control.
std::string get_state_str()
Produce the state string for response to state?
virtual std::string remote_command(std::string com)
VisAO remote command fifo handler.
The base class for VisAO applications.
void setupVisAOApp()
Basic setup of the class, called by both constructors.
virtual int request_control(int cmode)
Calls request_control(cmode, 0).
RTDBvar var_pos_script_req
Position requester for script control.
Declarations for VisAOApp_base.
RTDBvar var_cmode_req
The requested control mode in the RTDB.
void signal_catcher()
Signal loop, normally won't need to be overridden.
virtual std::string script_command(std::string com)
VisAO script command fifo handler.
The namespace of VisAO software.
RTDBvar var_pos_req
The requested position.
int ChangePos(double pos)
An interface to SimpleMotorCtrl::PosReqChanged for the fifo command processors.
virtual void updateReq(double pos)
Update req position variables in RTDB.
virtual int update_statusboard()
Update the status board.
static int CModeCurChanged(void *pt, Variable *msgb)
RTDB handler for a control mode change request from the AO Supervisor.
map< std::string, float >::iterator cpos_it
An iterator for accessing the custom pos list.