API
 
Loading...
Searching...
No Matches
The Base MagAOX Application
Collaboration diagram for The Base MagAOX Application:

Modules

 INDI Support in MagAOX Apps
 
 Device Modules for MagAOX Applications
 
 MagAOX Application Files
 

Classes

class  MagAOX::app::MagAOXApp< _useINDI >
 The base-class for XWCTk applications. More...
 
struct  MagAOX::app::stateCodes
 Scoping struct for application state codes. More...
 

Enumerations

enum  : stateCodeT {
  MagAOX::app::stateCodes::FAILURE =-20 , MagAOX::app::stateCodes::ERROR =-10 , MagAOX::app::stateCodes::UNINITIALIZED = 0 , MagAOX::app::stateCodes::INITIALIZED = 1 ,
  MagAOX::app::stateCodes::NODEVICE = 2 , MagAOX::app::stateCodes::POWEROFF = 4 , MagAOX::app::stateCodes::POWERON = 6 , MagAOX::app::stateCodes::NOTCONNECTED = 8 ,
  MagAOX::app::stateCodes::CONNECTED = 10 , MagAOX::app::stateCodes::LOGGEDIN = 15 , MagAOX::app::stateCodes::CONFIGURING = 20 , MagAOX::app::stateCodes::NOTHOMED = 24 ,
  MagAOX::app::stateCodes::HOMING = 25 , MagAOX::app::stateCodes::OPERATING = 30 , MagAOX::app::stateCodes::READY = 35 , MagAOX::app::stateCodes::SHUTDOWN = 10000
}
 The numeric codes descrbing an application's state. More...
 

Detailed Description

A typical XWCApp is the interface to a single piece of hardware, such as a camera or a filter wheel. Through various optional CRTP base classes, many different standard functionalities can be included. The following figure illustrates the facilities provided by a typical app.

Block diagram of a typical XWCApp. Note that ImageStreamIO (ISIO) is not included by default, but there are several ways to interface with 'image streams' provided in XWCTk. Many different hardware device interfaces are similarly provided.

The following figure illustrates the logic of the XWCApp finite state machine (FSM).

The XWCApp FSM. The blue sequence highlights the normal 'appLogic' loop.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum : stateCodeT

The numeric codes descrbing an application's state.

Enumerator
FAILURE 

The application has failed, should be used when m_shutdown is set for an error.

ERROR 

The application has encountered an error, from which it is recovering (with or without intervention)

UNINITIALIZED 

The application is unitialized, the default.

INITIALIZED 

The application has been initialized, set just before calling appStartup().

NODEVICE 

No device exists for the application to control.

POWEROFF 

The device power is off.

POWERON 

The device power is on.

NOTCONNECTED 

The application is not connected to the device or service.

CONNECTED 

The application has connected to the device or service.

LOGGEDIN 

The application has logged into the device or service.

CONFIGURING 

The application is configuring the device.

NOTHOMED 

The device has not been homed.

HOMING 

The device is homing.

OPERATING 

The device is operating, other than homing.

READY 

The device is ready for operation, but is not operating.

SHUTDOWN 

The application has shutdown, set just after calling appShutdown().

Definition at line 42 of file stateCodes.hpp.