Instrument Neutral Distributed Interface INDI  2.0.2
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
celestrondriver.h File Reference
#include <string>
#include "indicom.h"
#include <stdint.h>

Go to the source code of this file.

Classes

struct  FirmwareInfo
 
struct  SimData
 
class  CelestronDriver
 
class  PecData
 

Namespaces

 Celestron
 

Macros

#define ISNEXSTAR   0x11
 
#define ISSTARSENSE   0x13
 
#define MINSTSENSVER   1.18
 
#define MAX_RESP_SIZE   20
 
#define CELESTRON_DEV_RA   0x10
 
#define CELESTRON_DEV_DEC   0x11
 
#define CELESTRON_DEV_GPS   0xb0
 
#define CELESTRON_DEV_FOC   0x12
 
#define MC_GET_POSITION   0x01
 
#define MC_GOTO_FAST   0x02
 
#define MC_SET_POS_GUIDERATE   0x06
 
#define MC_SET_NEG_GUIDERATE   0x07
 
#define MC_LEVEL_START   0x0b
 
#define MC_PEC_RECORD_START   0x0C
 
#define MC_PEC_PLAYBACK   0x0D
 
#define MTR_PECBIN   0x0E
 
#define MC_LEVEL_DONE   0x12
 
#define MC_SLEW_DONE   0x13
 
#define MC_PEC_RECORD_DONE   0x15
 
#define MC_PEC_RECORD_STOP   0x16
 
#define MC_GOTO_SLOW   0x17
 
#define MC_AT_INDEX   0x18
 
#define MC_SEEK_INDEX   0x19
 
#define MC_MOVE_POS   0x24
 
#define MC_MOVE_NEG   0x25
 
#define MTR_AUX_GUIDE   0x26
 
#define MTR_IS_AUX_GUIDE_ACTIVE   0x27
 
#define MC_PEC_READ_DATA   0x30
 
#define MC_PEC_WRITE_DATA   0x31
 
#define MC_SET_AUTOGUIDE_RATE   0x46
 
#define MC_GET_AUTOGUIDE_RATE   0x47
 
#define FOC_CALIB_ENABLE   42
 
#define FOC_CALIB_DONE   43
 
#define FOC_GET_HS_POSITIONS   44
 
#define GET_VER   0xfe
 

Typedefs

typedef struct SimData SimData
 

Enumerations

enum  CELESTRON_GPS_STATUS { GPS_OFF , GPS_ON }
 
enum  CELESTRON_SLEW_RATE {
  SR_1 , SR_2 , SR_3 , SR_4 ,
  SR_5 , SR_6 , SR_7 , SR_8 ,
  SR_9
}
 
enum  CELESTRON_TRACK_MODE {
  CTM_OFF , CTM_ALTAZ , CTM_EQN , CTM_EQS ,
  CTM_RADEC
}
 
enum  CELESTRON_AXIS { RA_AXIS , DEC_AXIS }
 
enum  CELESTRON_DIRECTION { CELESTRON_N , CELESTRON_S , CELESTRON_W , CELESTRON_E }
 
enum  CELESTRON_FIRMWARE {
  FW_MODEL , FW_VERSION , FW_RA , FW_DEC ,
  FW_ISGEM , FW_CAN_AUX , FW_HAS_FOC
}
 
enum  PEC_STATE {
  NotKnown , PEC_NOT_AVAILABLE , PEC_AVAILABLE , PEC_SEEKING ,
  PEC_INDEXED , PEC_PLAYBACK , PEC_RECORDING
}
 
enum  CELESTRON_TRACK_RATE { CTR_SIDEREAL = 0xFFFF , CTR_SOLAR = 0xFFFE , CTR_LUNAR = 0xFFFD }
 

Functions

double Celestron::trimDecAngle (double angle)
 
uint16_t Celestron::dd2nex (double angle)
 
uint32_t Celestron::dd2pnex (double angle)
 
double Celestron::nex2dd (uint32_t value)
 
double Celestron::pnex2dd (uint32_t value)
 

Macro Definition Documentation

◆ CELESTRON_DEV_DEC

#define CELESTRON_DEV_DEC   0x11

Definition at line 45 of file celestrondriver.h.

◆ CELESTRON_DEV_FOC

#define CELESTRON_DEV_FOC   0x12

Definition at line 48 of file celestrondriver.h.

◆ CELESTRON_DEV_GPS

#define CELESTRON_DEV_GPS   0xb0

Definition at line 46 of file celestrondriver.h.

◆ CELESTRON_DEV_RA

#define CELESTRON_DEV_RA   0x10

Definition at line 44 of file celestrondriver.h.

◆ FOC_CALIB_DONE

#define FOC_CALIB_DONE   43

Definition at line 88 of file celestrondriver.h.

◆ FOC_CALIB_ENABLE

#define FOC_CALIB_ENABLE   42

Definition at line 87 of file celestrondriver.h.

◆ FOC_GET_HS_POSITIONS

#define FOC_GET_HS_POSITIONS   44

Definition at line 89 of file celestrondriver.h.

◆ GET_VER

#define GET_VER   0xfe

Definition at line 92 of file celestrondriver.h.

◆ ISNEXSTAR

#define ISNEXSTAR   0x11

Definition at line 38 of file celestrondriver.h.

◆ ISSTARSENSE

#define ISSTARSENSE   0x13

Definition at line 39 of file celestrondriver.h.

◆ MAX_RESP_SIZE

#define MAX_RESP_SIZE   20

Definition at line 41 of file celestrondriver.h.

◆ MC_AT_INDEX

#define MC_AT_INDEX   0x18

Definition at line 68 of file celestrondriver.h.

◆ MC_GET_AUTOGUIDE_RATE

#define MC_GET_AUTOGUIDE_RATE   0x47

Definition at line 84 of file celestrondriver.h.

◆ MC_GET_POSITION

#define MC_GET_POSITION   0x01

Definition at line 51 of file celestrondriver.h.

◆ MC_GOTO_FAST

#define MC_GOTO_FAST   0x02

Definition at line 52 of file celestrondriver.h.

◆ MC_GOTO_SLOW

#define MC_GOTO_SLOW   0x17

Definition at line 66 of file celestrondriver.h.

◆ MC_LEVEL_DONE

#define MC_LEVEL_DONE   0x12

Definition at line 61 of file celestrondriver.h.

◆ MC_LEVEL_START

#define MC_LEVEL_START   0x0b

Definition at line 55 of file celestrondriver.h.

◆ MC_MOVE_NEG

#define MC_MOVE_NEG   0x25

Definition at line 71 of file celestrondriver.h.

◆ MC_MOVE_POS

#define MC_MOVE_POS   0x24

Definition at line 70 of file celestrondriver.h.

◆ MC_PEC_PLAYBACK

#define MC_PEC_PLAYBACK   0x0D

Definition at line 57 of file celestrondriver.h.

◆ MC_PEC_READ_DATA

#define MC_PEC_READ_DATA   0x30

Definition at line 77 of file celestrondriver.h.

◆ MC_PEC_RECORD_DONE

#define MC_PEC_RECORD_DONE   0x15

Definition at line 63 of file celestrondriver.h.

◆ MC_PEC_RECORD_START

#define MC_PEC_RECORD_START   0x0C

Definition at line 56 of file celestrondriver.h.

◆ MC_PEC_RECORD_STOP

#define MC_PEC_RECORD_STOP   0x16

Definition at line 64 of file celestrondriver.h.

◆ MC_PEC_WRITE_DATA

#define MC_PEC_WRITE_DATA   0x31

Definition at line 80 of file celestrondriver.h.

◆ MC_SEEK_INDEX

#define MC_SEEK_INDEX   0x19

Definition at line 69 of file celestrondriver.h.

◆ MC_SET_AUTOGUIDE_RATE

#define MC_SET_AUTOGUIDE_RATE   0x46

Definition at line 83 of file celestrondriver.h.

◆ MC_SET_NEG_GUIDERATE

#define MC_SET_NEG_GUIDERATE   0x07

Definition at line 54 of file celestrondriver.h.

◆ MC_SET_POS_GUIDERATE

#define MC_SET_POS_GUIDERATE   0x06

Definition at line 53 of file celestrondriver.h.

◆ MC_SLEW_DONE

#define MC_SLEW_DONE   0x13

Definition at line 62 of file celestrondriver.h.

◆ MINSTSENSVER

#define MINSTSENSVER   1.18

Definition at line 40 of file celestrondriver.h.

◆ MTR_AUX_GUIDE

#define MTR_AUX_GUIDE   0x26

Definition at line 73 of file celestrondriver.h.

◆ MTR_IS_AUX_GUIDE_ACTIVE

#define MTR_IS_AUX_GUIDE_ACTIVE   0x27

Definition at line 74 of file celestrondriver.h.

◆ MTR_PECBIN

#define MTR_PECBIN   0x0E

Definition at line 59 of file celestrondriver.h.

Typedef Documentation

◆ SimData

typedef struct SimData SimData

Enumeration Type Documentation

◆ CELESTRON_AXIS

Enumerator
RA_AXIS 
DEC_AXIS 

Definition at line 97 of file celestrondriver.h.

◆ CELESTRON_DIRECTION

Enumerator
CELESTRON_N 
CELESTRON_S 
CELESTRON_W 
CELESTRON_E 

Definition at line 98 of file celestrondriver.h.

◆ CELESTRON_FIRMWARE

Enumerator
FW_MODEL 
FW_VERSION 
FW_RA 
FW_DEC 
FW_ISGEM 
FW_CAN_AUX 
FW_HAS_FOC 

Definition at line 99 of file celestrondriver.h.

◆ CELESTRON_GPS_STATUS

Enumerator
GPS_OFF 
GPS_ON 

Definition at line 94 of file celestrondriver.h.

◆ CELESTRON_SLEW_RATE

Enumerator
SR_1 
SR_2 
SR_3 
SR_4 
SR_5 
SR_6 
SR_7 
SR_8 
SR_9 

Definition at line 95 of file celestrondriver.h.

◆ CELESTRON_TRACK_MODE

Enumerator
CTM_OFF 
CTM_ALTAZ 
CTM_EQN 
CTM_EQS 
CTM_RADEC 

Definition at line 96 of file celestrondriver.h.

◆ CELESTRON_TRACK_RATE

Enumerator
CTR_SIDEREAL 
CTR_SOLAR 
CTR_LUNAR 

Definition at line 146 of file celestrondriver.h.

◆ PEC_STATE

enum PEC_STATE
Enumerator
NotKnown 
PEC_NOT_AVAILABLE 

PEC is not available, hardware has been checked, no other state is possible

PEC_AVAILABLE 

PEC is available but inactive, can seek index Seek index is only available command

PEC_SEEKING 

The PEC index is being searched for, goes to PEC_INDEXED when found

PEC_INDEXED 

the PEC index has been found, can go to Playback or Recording this is equivalent to TelescopePECState PEC_OFF

PEC_PLAYBACK 

PEC is being played back, stays in this state until stopped equivalent to TelescopePECState PEC_ON

PEC_RECORDING 

PEC is being recorded, goes to PEC_INDEXED when completed

Definition at line 105 of file celestrondriver.h.