Instrument Neutral Distributed Interface INDI  2.0.2
Classes | Public Types | Public Member Functions | Protected Member Functions | List of all members
ScopeDomeCard Class Referenceabstract

#include <scopedome_dome.h>

Inheritance diagram for ScopeDomeCard:
ScopeDomeArduino ScopeDomeSim ScopeDomeUSB21

Classes

struct  InputInfo
 
struct  RelayInfo
 
struct  SensorInfo
 

Public Types

enum  ScopeDomeStatusBits {
  STATUS_RESET = 1 , STATUS_MOVING = 2 , STATUS_HOMING = 4 , STATUS_OPEN1 = 8 ,
  STATUS_OPEN2 = 0x10 , STATUS_AUTO_CLOSE1 = 0x20 , STATUS_AUTO_CLOSE2 = 0x40 , STATUS_CALIBRATING = 0x80 ,
  STATUS_FINDING_POWER = 0x100 , STATUS_CALIBRATION_STOP = 0x200
}
 
enum  AbstractInput {
  HOME , OPEN1 , CLOSED1 , OPEN2 ,
  CLOSED2 , ROTARY_LINK
}
 
enum  AbstractOutput { RESET , CCW , CW }
 
enum  ShutterOperation { OPEN_SHUTTER = 0 , CLOSE_SHUTTER = 1 , STOP_SHUTTER = 2 }
 
enum  HomeSensorPolarity { ACTIVE_HIGH = 0 , ACTIVE_LOW = 1 }
 

Public Member Functions

virtual ~ScopeDomeCard ()=default
 
virtual bool detect ()=0
 
const char * getDeviceName ()
 
virtual void setPortFD (int fd)=0
 
virtual int updateState ()=0
 
virtual uint32_t getStatus ()=0
 
virtual int getRotationCounter ()=0
 
virtual int getRotationCounterExt ()=0
 
virtual void getFirmwareVersions (double &main, double &rotary)=0
 
virtual uint32_t getStepsPerRevolution ()=0
 
virtual bool isCalibrationNeeded ()=0
 
virtual void abort ()=0
 
virtual void calibrate ()=0
 
virtual void findHome ()=0
 
virtual void controlShutter (ShutterOperation operation)=0
 
virtual void resetCounter ()=0
 
virtual void move (int steps)=0
 
virtual size_t getNumberOfSensors ()=0
 
virtual SensorInfo getSensorInfo (size_t index)=0
 
virtual double getSensorValue (size_t index)=0
 
virtual size_t getNumberOfRelays ()=0
 
virtual RelayInfo getRelayInfo (size_t index)=0
 
virtual ISState getRelayState (size_t index)=0
 
virtual void setRelayState (size_t index, ISState state)=0
 
virtual size_t getNumberOfInputs ()=0
 
virtual InputInfo getInputInfo (size_t index)=0
 
virtual ISState getInputValue (size_t index)=0
 
virtual ISState getInputState (AbstractInput input)=0
 
virtual int setOutputState (AbstractOutput output, ISState state)=0
 
virtual void setHomeSensorPolarity (HomeSensorPolarity polarity)=0
 

Protected Member Functions

 ScopeDomeCard ()=default
 

Detailed Description

Interface to either a real ScopeDome card or simulator

Definition at line 45 of file scopedome_dome.h.

Member Enumeration Documentation

◆ AbstractInput

Enumerator
HOME 
OPEN1 
CLOSED1 
OPEN2 
CLOSED2 
ROTARY_LINK 

Definition at line 63 of file scopedome_dome.h.

◆ AbstractOutput

Enumerator
RESET 
CCW 
CW 

Definition at line 73 of file scopedome_dome.h.

◆ HomeSensorPolarity

Enumerator
ACTIVE_HIGH 
ACTIVE_LOW 

Definition at line 108 of file scopedome_dome.h.

◆ ScopeDomeStatusBits

Enumerator
STATUS_RESET 
STATUS_MOVING 
STATUS_HOMING 
STATUS_OPEN1 
STATUS_OPEN2 
STATUS_AUTO_CLOSE1 
STATUS_AUTO_CLOSE2 
STATUS_CALIBRATING 
STATUS_FINDING_POWER 
STATUS_CALIBRATION_STOP 

Definition at line 49 of file scopedome_dome.h.

◆ ShutterOperation

Enumerator
OPEN_SHUTTER 
CLOSE_SHUTTER 
STOP_SHUTTER 

Definition at line 80 of file scopedome_dome.h.

Constructor & Destructor Documentation

◆ ~ScopeDomeCard()

virtual ScopeDomeCard::~ScopeDomeCard ( )
virtualdefault

Destructor.

◆ ScopeDomeCard()

ScopeDomeCard::ScopeDomeCard ( )
protecteddefault

Default constructor.

Member Function Documentation

◆ abort()

virtual void ScopeDomeCard::abort ( )
pure virtual

◆ calibrate()

virtual void ScopeDomeCard::calibrate ( )
pure virtual

◆ controlShutter()

virtual void ScopeDomeCard::controlShutter ( ShutterOperation  operation)
pure virtual

◆ detect()

virtual bool ScopeDomeCard::detect ( )
pure virtual

◆ findHome()

virtual void ScopeDomeCard::findHome ( )
pure virtual

◆ getDeviceName()

const char* ScopeDomeCard::getDeviceName ( )
inline

Definition at line 118 of file scopedome_dome.h.

◆ getFirmwareVersions()

virtual void ScopeDomeCard::getFirmwareVersions ( double &  main,
double &  rotary 
)
pure virtual

◆ getInputInfo()

virtual InputInfo ScopeDomeCard::getInputInfo ( size_t  index)
pure virtual

◆ getInputState()

virtual ISState ScopeDomeCard::getInputState ( AbstractInput  input)
pure virtual

◆ getInputValue()

virtual ISState ScopeDomeCard::getInputValue ( size_t  index)
pure virtual

◆ getNumberOfInputs()

virtual size_t ScopeDomeCard::getNumberOfInputs ( )
pure virtual

◆ getNumberOfRelays()

virtual size_t ScopeDomeCard::getNumberOfRelays ( )
pure virtual

◆ getNumberOfSensors()

virtual size_t ScopeDomeCard::getNumberOfSensors ( )
pure virtual

◆ getRelayInfo()

virtual RelayInfo ScopeDomeCard::getRelayInfo ( size_t  index)
pure virtual

◆ getRelayState()

virtual ISState ScopeDomeCard::getRelayState ( size_t  index)
pure virtual

◆ getRotationCounter()

virtual int ScopeDomeCard::getRotationCounter ( )
pure virtual

◆ getRotationCounterExt()

virtual int ScopeDomeCard::getRotationCounterExt ( )
pure virtual

◆ getSensorInfo()

virtual SensorInfo ScopeDomeCard::getSensorInfo ( size_t  index)
pure virtual

◆ getSensorValue()

virtual double ScopeDomeCard::getSensorValue ( size_t  index)
pure virtual

◆ getStatus()

virtual uint32_t ScopeDomeCard::getStatus ( )
pure virtual

◆ getStepsPerRevolution()

virtual uint32_t ScopeDomeCard::getStepsPerRevolution ( )
pure virtual

◆ isCalibrationNeeded()

virtual bool ScopeDomeCard::isCalibrationNeeded ( )
pure virtual

◆ move()

virtual void ScopeDomeCard::move ( int  steps)
pure virtual

◆ resetCounter()

virtual void ScopeDomeCard::resetCounter ( )
pure virtual

◆ setHomeSensorPolarity()

virtual void ScopeDomeCard::setHomeSensorPolarity ( HomeSensorPolarity  polarity)
pure virtual

◆ setOutputState()

virtual int ScopeDomeCard::setOutputState ( AbstractOutput  output,
ISState  state 
)
pure virtual

◆ setPortFD()

virtual void ScopeDomeCard::setPortFD ( int  fd)
pure virtual

◆ setRelayState()

virtual void ScopeDomeCard::setRelayState ( size_t  index,
ISState  state 
)
pure virtual

◆ updateState()

virtual int ScopeDomeCard::updateState ( )
pure virtual

The documentation for this class was generated from the following file: