API

MagAO-X INDI Utilities. More...

#include <iostream>
#include <limits>
#include "../../INDI/libcommon/IndiProperty.hpp"
#include "../../INDI/libcommon/IndiElement.hpp"
Include dependency graph for indiUtils.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 MagAOX
 
 MagAOX::app
 
 MagAOX::app::indi
 

Macros

#define INDI_IDLE   (pcf::IndiProperty::Idle)
 
#define INDI_OK   (pcf::IndiProperty::Ok)
 
#define INDI_BUSY   (pcf::IndiProperty::Busy)
 
#define INDI_ALERT   (pcf::IndiProperty::Alert)
 

Functions

int MagAOX::app::indi::addTextElement (pcf::IndiProperty &prop, const std::string &name, const std::string &label="")
 Add a standard INDI Text element. More...
 
template<typename T >
int MagAOX::app::indi::addNumberElement (pcf::IndiProperty &prop, const std::string &name, const T &min, const T &max, const T &step, const std::string &format, const std::string &label="")
 Add a standard INDI Number element. More...
 
template<typename T , class indiDriverT >
void MagAOX::app::indi::updateIfChanged (pcf::IndiProperty &p, const std::string &el, const T &newVal, indiDriverT *indiDriver, pcf::IndiProperty::PropertyStateType newState=pcf::IndiProperty::Ok)
 Update the value of the INDI element, but only if it has changed. More...
 
template<typename T , class indiDriverT >
void MagAOX::app::indi::updateIfChanged (pcf::IndiProperty &p, const std::vector< std::string > &els, const std::vector< T > &newVals, indiDriverT *indiDriver, pcf::IndiProperty::PropertyStateType newState=pcf::IndiProperty::Ok)
 Update the elements of an INDI propery, but only if there has been a change in at least one. More...
 
template<class indiDriverT >
void MagAOX::app::indi::updateSwitchIfChanged (pcf::IndiProperty &p, const std::string &el, const pcf::IndiElement::SwitchStateType &newVal, indiDriverT *indiDriver, pcf::IndiProperty::PropertyStateType newState=pcf::IndiProperty::Ok)
 Update the value of the INDI element, but only if it has changed. More...
 
template<class indiDriverT >
void MagAOX::app::indi::updateSelectionSwitchIfChanged (pcf::IndiProperty &p, const std::string &el, indiDriverT *indiDriver, pcf::IndiProperty::PropertyStateType newState=pcf::IndiProperty::Ok)
 Update the values of a one-of-many INDI switch vector, but only if it has changed. More...
 
int MagAOX::app::indi::parseIndiKey (std::string &devName, std::string &propName, const std::string &key)
 Parse an INDI key into the device and property names. More...
 

Detailed Description

MagAO-X INDI Utilities.

Author
Jared R. Males (jared.nosp@m.male.nosp@m.s@gma.nosp@m.il.c.nosp@m.om)

History:

  • 2019-01-03 created by JRM

Definition in file indiUtils.hpp.

Macro Definition Documentation

◆ INDI_ALERT

#define INDI_ALERT   (pcf::IndiProperty::Alert)

Definition at line 31 of file indiUtils.hpp.

◆ INDI_BUSY

#define INDI_BUSY   (pcf::IndiProperty::Busy)

Definition at line 30 of file indiUtils.hpp.

◆ INDI_IDLE

#define INDI_IDLE   (pcf::IndiProperty::Idle)

Definition at line 28 of file indiUtils.hpp.

◆ INDI_OK

#define INDI_OK   (pcf::IndiProperty::Ok)

Definition at line 29 of file indiUtils.hpp.