API
outletController.hpp File Reference

Declares and defines a power control device framework in the MagAOXApp context. More...

#include <mx/app/application.hpp>
#include <mx/sys/timeUtils.hpp>
#include "../../INDI/libcommon/IndiProperty.hpp"
#include "../../libMagAOX/libMagAOX.hpp"
#include "../indiUtils.hpp"
Include dependency graph for outletController.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MagAOX::app::dev::outletController< derivedT >
 A generic outlet controller. More...
 
struct  MagAOX::app::dev::outletController< derivedT >::channelSpec
 Structure containing the specification of one channel. More...
 

Namespaces

 MagAOX
 
 MagAOX::app
 
 MagAOX::app::dev
 

Macros

#define OUTLET_STATE_UNKNOWN   (-1)
 
#define OUTLET_STATE_OFF   (0)
 
#define OUTLET_STATE_INTERMEDIATE   (1)
 
#define OUTLET_STATE_ON   (2)
 
#define OUTLET_E_NOOUTLETS   (-10)
 
#define OUTLET_E_NOCHANNELS   (-15)
 
#define OUTLET_E_NOVALIDCH   (-20)
 

Functions

std::string MagAOX::app::dev::stateIntToString (int st)
 

Detailed Description

Declares and defines a power control device framework in the MagAOXApp context.

Author
Jared R. Males

Definition in file outletController.hpp.


Class Documentation

◆ MagAOX::app::dev::outletController::channelSpec

struct MagAOX::app::dev::outletController::channelSpec

template<class derivedT>
struct MagAOX::app::dev::outletController< derivedT >::channelSpec

Structure containing the specification of one channel.

A channel may include more than one outlet, may specify the order in which outlets are turned on and/or off, and may specify a delay between turning outlets on and/or off.

Definition at line 81 of file outletController.hpp.

Collaboration diagram for MagAOX::app::dev::outletController< derivedT >::channelSpec:
Collaboration graph
Class Members
IndiProperty m_indiP_prop
vector< unsigned > m_offDelays [optional] The delays between outlets in a multi-oultet channel. The first entry is always ignored. The second entry is the dealy between the first and second outlet, etc.
vector< size_t > m_offOrder [optional] The order in which outlets are turned off. This contains the indices of m_outlets, not the outlet numbers of the device.
vector< unsigned > m_onDelays [optional] The delays between outlets in a multi-oultet channel. The first entry is always ignored. The second entry is the dealy between the first and second outlet, etc.
vector< size_t > m_onOrder [optional] The order in which outlets are turned on. This contains the indices of m_outlets, not the outlet numbers of the device.
vector< size_t > m_outlets The outlets in this channel.

Macro Definition Documentation

◆ OUTLET_E_NOCHANNELS

#define OUTLET_E_NOCHANNELS   (-15)

Definition at line 28 of file outletController.hpp.

◆ OUTLET_E_NOOUTLETS

#define OUTLET_E_NOOUTLETS   (-10)

Definition at line 27 of file outletController.hpp.

◆ OUTLET_E_NOVALIDCH

#define OUTLET_E_NOVALIDCH   (-20)

Definition at line 29 of file outletController.hpp.

◆ OUTLET_STATE_INTERMEDIATE

#define OUTLET_STATE_INTERMEDIATE   (1)

Definition at line 23 of file outletController.hpp.

◆ OUTLET_STATE_OFF

#define OUTLET_STATE_OFF   (0)

Definition at line 22 of file outletController.hpp.

◆ OUTLET_STATE_ON

#define OUTLET_STATE_ON   (2)

Definition at line 24 of file outletController.hpp.

◆ OUTLET_STATE_UNKNOWN

#define OUTLET_STATE_UNKNOWN   (-1)

Definition at line 21 of file outletController.hpp.