Instrument Neutral Distributed Interface INDI  2.0.2
Classes | Macros | Typedefs | Enumerations | Functions
pmc8driver.h File Reference
#include <string>
#include "inditelescope.h"

Go to the source code of this file.

Classes

struct  PMC8Info
 
struct  FirmwareInfo
 

Macros

#define PMC8_MAX_TRACK_RATE   44
 
#define PMC8_MAX_MOVE_RATE   (833*15)
 

Typedefs

typedef struct PMC8Info PMC8Info
 
typedef struct FirmwareInfo FirmwareInfo
 

Enumerations

enum  PMC8_SYSTEM_STATUS {
  ST_STOPPED , ST_TRACKING , ST_SLEWING , ST_GUIDING ,
  ST_MERIDIAN_FLIPPING , ST_PARKED , ST_HOME
}
 
enum  PMC8_TRACK_RATE {
  PMC8_TRACK_SIDEREAL , PMC8_TRACK_LUNAR , PMC8_TRACK_SOLAR , PMC8_TRACK_CUSTOM ,
  PMC8_TRACK_KING , PMC8_TRACK_UNDEFINED
}
 
enum  PMC8_AXIS { PMC8_AXIS_RA = 0 , PMC8_AXIS_DEC = 1 }
 
enum  PMC8_DIRECTION { PMC8_N , PMC8_S , PMC8_W , PMC8_E }
 
enum  PMC8_MOUNT_TYPES { MOUNT_G11 = 0 , MOUNT_EXOS2 = 1 , MOUNT_iEXOS100 = 2 }
 
enum  PMC8_CONNECTION_TYPE { PMC8_SERIAL_AUTO , PMC8_SERIAL_INVERTED , PMC8_SERIAL_STANDARD , PMC8_ETHERNET }
 

Functions

void set_pmc8_debug (bool enable)
 
void set_pmc8_simulation (bool enable)
 
void set_pmc8_device (const char *name)
 
void set_pmc8_mountParameters (int index)
 
bool get_pmc8_response (int fd, char *buf, int *nbytes_read, const char *expected)
 
bool send_pmc8_command (int fd, const char *buf, int nbytes, int *nbytes_written)
 
void set_pmc8_sim_system_status (PMC8_SYSTEM_STATUS value)
 
void set_pmc8_sim_track_rate (PMC8_TRACK_RATE value)
 
void set_pmc8_sim_move_rate (int value)
 
void set_pmc8_sim_ra (double ra)
 
void set_pmc8_sim_dec (double dec)
 
bool check_pmc8_connection (int fd, PMC8_CONNECTION_TYPE isSerial)
 
bool detect_pmc8 (int fd)
 
void set_pmc8_reconnect_flag ()
 
bool get_pmc8_reconnect_flag ()
 
bool get_pmc8_status (int fd, PMC8Info *info)
 
bool get_pmc8_firmware (int fd, FirmwareInfo *info)
 
bool get_pmc8_coords (int fd, double &ra, double &dec)
 
bool get_pmc8_move_rate_axis (int fd, PMC8_AXIS axis, double &rate)
 
bool get_pmc8_track_rate (int fd, double &rate)
 
bool get_pmc8_tracking_data (int fd, double &rate, uint8_t &mode)
 
uint8_t get_pmc8_tracking_mode_from_rate (double rate)
 
bool set_pmc8_move_rate_axis (int fd, PMC8_DIRECTION dir, int reqrate)
 
bool stop_pmc8_motion (int fd, PMC8_DIRECTION dir)
 
bool stop_pmc8_tracking_motion (int fd)
 
bool set_pmc8_ra_tracking (int fd, double rate)
 
bool set_pmc8_custom_ra_track_rate (int fd, double rate)
 
bool set_pmc8_custom_dec_track_rate (int fd, double rate)
 
bool set_pmc8_custom_ra_move_rate (int fd, double rate)
 
bool set_pmc8_custom_dec_move_rate (int fd, double rate)
 
bool set_pmc8_track_mode (int fd, uint8_t mode)
 
bool get_pmc8_is_scope_slewing (int fd, bool &isslew)
 
bool get_pmc8_direction_axis (int fd, PMC8_AXIS axis, int &dir)
 
bool set_pmc8_direction_axis (int fd, PMC8_AXIS axis, int dir, bool fast)
 
bool abort_pmc8 (int fd)
 
bool abort_pmc8_goto (int fd)
 
bool slew_pmc8 (int fd, double ra, double dec)
 
bool sync_pmc8 (int fd, double ra, double dec)
 
bool set_pmc8_radec (int fd, double ra, double dec)
 
void set_pmc8_goto_resume (bool resume)
 
INDI::Telescope::TelescopePierSide destSideOfPier (double ra, double dec)
 
bool park_pmc8 (int fd)
 
bool unpark_pmc8 (int fd)
 
bool set_pmc8_guide_rate (int fd, PMC8_AXIS axis, double rate)
 
bool get_pmc8_guide_rate (int fd, PMC8_AXIS axis, double &rate)
 
bool start_pmc8_guide (int fd, PMC8_DIRECTION gdir, int ms, long &timetaken_us, double ratehint)
 
bool stop_pmc8_guide (int fd, PMC8_DIRECTION gdir)
 
void set_pmc8_location (double latitude, double longitude)
 
int get_pmc8_east_dir ()
 

Macro Definition Documentation

◆ PMC8_MAX_MOVE_RATE

#define PMC8_MAX_MOVE_RATE   (833*15)

Definition at line 40 of file pmc8driver.h.

◆ PMC8_MAX_TRACK_RATE

#define PMC8_MAX_TRACK_RATE   44

Definition at line 37 of file pmc8driver.h.

Typedef Documentation

◆ FirmwareInfo

typedef struct FirmwareInfo FirmwareInfo

◆ PMC8Info

typedef struct PMC8Info PMC8Info

Enumeration Type Documentation

◆ PMC8_AXIS

enum PMC8_AXIS
Enumerator
PMC8_AXIS_RA 
PMC8_AXIS_DEC 

Definition at line 59 of file pmc8driver.h.

◆ PMC8_CONNECTION_TYPE

Enumerator
PMC8_SERIAL_AUTO 
PMC8_SERIAL_INVERTED 
PMC8_SERIAL_STANDARD 
PMC8_ETHERNET 

Definition at line 64 of file pmc8driver.h.

◆ PMC8_DIRECTION

Enumerator
PMC8_N 
PMC8_S 
PMC8_W 
PMC8_E 

Definition at line 60 of file pmc8driver.h.

◆ PMC8_MOUNT_TYPES

Enumerator
MOUNT_G11 
MOUNT_EXOS2 
MOUNT_iEXOS100 

Definition at line 62 of file pmc8driver.h.

◆ PMC8_SYSTEM_STATUS

Enumerator
ST_STOPPED 
ST_TRACKING 
ST_SLEWING 
ST_GUIDING 
ST_MERIDIAN_FLIPPING 
ST_PARKED 
ST_HOME 

Definition at line 42 of file pmc8driver.h.

◆ PMC8_TRACK_RATE

Enumerator
PMC8_TRACK_SIDEREAL 
PMC8_TRACK_LUNAR 
PMC8_TRACK_SOLAR 
PMC8_TRACK_CUSTOM 
PMC8_TRACK_KING 
PMC8_TRACK_UNDEFINED 

Definition at line 55 of file pmc8driver.h.

Function Documentation

◆ abort_pmc8()

bool abort_pmc8 ( int  fd)

Definition at line 1922 of file pmc8driver.cpp.

◆ abort_pmc8_goto()

bool abort_pmc8_goto ( int  fd)

Definition at line 1951 of file pmc8driver.cpp.

◆ check_pmc8_connection()

bool check_pmc8_connection ( int  fd,
PMC8_CONNECTION_TYPE  isSerial 
)

Definition at line 297 of file pmc8driver.cpp.

◆ destSideOfPier()

INDI::Telescope::TelescopePierSide destSideOfPier ( double  ra,
double  dec 
)

Definition at line 2027 of file pmc8driver.cpp.

◆ detect_pmc8()

bool detect_pmc8 ( int  fd)

Definition at line 355 of file pmc8driver.cpp.

◆ get_pmc8_coords()

bool get_pmc8_coords ( int  fd,
double &  ra,
double &  dec 
)

Get RA/DEC

Definition at line 2154 of file pmc8driver.cpp.

◆ get_pmc8_direction_axis()

bool get_pmc8_direction_axis ( int  fd,
PMC8_AXIS  axis,
int &  dir 
)

Definition at line 609 of file pmc8driver.cpp.

◆ get_pmc8_east_dir()

int get_pmc8_east_dir ( )

◆ get_pmc8_firmware()

bool get_pmc8_firmware ( int  fd,
FirmwareInfo info 
)

Get All firmware informatin in addition to mount model

Definition at line 538 of file pmc8driver.cpp.

◆ get_pmc8_guide_rate()

bool get_pmc8_guide_rate ( int  fd,
PMC8_AXIS  axis,
double &  rate 
)

Definition at line 1211 of file pmc8driver.cpp.

◆ get_pmc8_is_scope_slewing()

bool get_pmc8_is_scope_slewing ( int  fd,
bool &  isslew 
)

Definition at line 712 of file pmc8driver.cpp.

◆ get_pmc8_move_rate_axis()

bool get_pmc8_move_rate_axis ( int  fd,
PMC8_AXIS  axis,
double &  rate 
)

Definition at line 553 of file pmc8driver.cpp.

◆ get_pmc8_reconnect_flag()

bool get_pmc8_reconnect_flag ( )

Definition at line 2312 of file pmc8driver.cpp.

◆ get_pmc8_response()

bool get_pmc8_response ( int  fd,
char *  buf,
int *  nbytes_read,
const char *  expected 
)

Definition at line 2198 of file pmc8driver.cpp.

◆ get_pmc8_status()

bool get_pmc8_status ( int  fd,
PMC8Info info 
)

Get PMC8 current status info

◆ get_pmc8_track_rate()

bool get_pmc8_track_rate ( int  fd,
double &  rate 
)

Definition at line 787 of file pmc8driver.cpp.

◆ get_pmc8_tracking_data()

bool get_pmc8_tracking_data ( int  fd,
double &  rate,
uint8_t &  mode 
)

Definition at line 834 of file pmc8driver.cpp.

◆ get_pmc8_tracking_mode_from_rate()

uint8_t get_pmc8_tracking_mode_from_rate ( double  rate)

Definition at line 842 of file pmc8driver.cpp.

◆ park_pmc8()

bool park_pmc8 ( int  fd)

Definition at line 1890 of file pmc8driver.cpp.

◆ send_pmc8_command()

bool send_pmc8_command ( int  fd,
const char *  buf,
int  nbytes,
int *  nbytes_written 
)

Definition at line 2284 of file pmc8driver.cpp.

◆ set_pmc8_custom_dec_move_rate()

bool set_pmc8_custom_dec_move_rate ( int  fd,
double  rate 
)

Definition at line 1140 of file pmc8driver.cpp.

◆ set_pmc8_custom_dec_track_rate()

bool set_pmc8_custom_dec_track_rate ( int  fd,
double  rate 
)

Definition at line 1111 of file pmc8driver.cpp.

◆ set_pmc8_custom_ra_move_rate()

bool set_pmc8_custom_ra_move_rate ( int  fd,
double  rate 
)

Definition at line 1121 of file pmc8driver.cpp.

◆ set_pmc8_custom_ra_track_rate()

bool set_pmc8_custom_ra_track_rate ( int  fd,
double  rate 
)

Definition at line 1036 of file pmc8driver.cpp.

◆ set_pmc8_debug()

void set_pmc8_debug ( bool  enable)

Definition at line 226 of file pmc8driver.cpp.

◆ set_pmc8_device()

void set_pmc8_device ( const char *  name)

Definition at line 238 of file pmc8driver.cpp.

◆ set_pmc8_direction_axis()

bool set_pmc8_direction_axis ( int  fd,
PMC8_AXIS  axis,
int  dir,
bool  fast 
)

Definition at line 665 of file pmc8driver.cpp.

◆ set_pmc8_goto_resume()

void set_pmc8_goto_resume ( bool  resume)

Definition at line 2322 of file pmc8driver.cpp.

◆ set_pmc8_guide_rate()

bool set_pmc8_guide_rate ( int  fd,
PMC8_AXIS  axis,
double  rate 
)

Definition at line 1159 of file pmc8driver.cpp.

◆ set_pmc8_location()

void set_pmc8_location ( double  latitude,
double  longitude 
)

Definition at line 243 of file pmc8driver.cpp.

◆ set_pmc8_mountParameters()

void set_pmc8_mountParameters ( int  index)

Definition at line 204 of file pmc8driver.cpp.

◆ set_pmc8_move_rate_axis()

bool set_pmc8_move_rate_axis ( int  fd,
PMC8_DIRECTION  dir,
int  reqrate 
)

Definition at line 745 of file pmc8driver.cpp.

◆ set_pmc8_ra_tracking()

bool set_pmc8_ra_tracking ( int  fd,
double  rate 
)

Definition at line 1024 of file pmc8driver.cpp.

◆ set_pmc8_radec()

bool set_pmc8_radec ( int  fd,
double  ra,
double  dec 
)

Definition at line 2108 of file pmc8driver.cpp.

◆ set_pmc8_reconnect_flag()

void set_pmc8_reconnect_flag ( )

Definition at line 2306 of file pmc8driver.cpp.

◆ set_pmc8_sim_dec()

void set_pmc8_sim_dec ( double  dec)

Definition at line 292 of file pmc8driver.cpp.

◆ set_pmc8_sim_move_rate()

void set_pmc8_sim_move_rate ( int  value)

Definition at line 282 of file pmc8driver.cpp.

◆ set_pmc8_sim_ra()

void set_pmc8_sim_ra ( double  ra)

Definition at line 287 of file pmc8driver.cpp.

◆ set_pmc8_sim_system_status()

void set_pmc8_sim_system_status ( PMC8_SYSTEM_STATUS  value)

Definition at line 253 of file pmc8driver.cpp.

◆ set_pmc8_sim_track_rate()

void set_pmc8_sim_track_rate ( PMC8_TRACK_RATE  value)

Definition at line 277 of file pmc8driver.cpp.

◆ set_pmc8_simulation()

void set_pmc8_simulation ( bool  enable)

Definition at line 231 of file pmc8driver.cpp.

◆ set_pmc8_track_mode()

bool set_pmc8_track_mode ( int  fd,
uint8_t  mode 
)

Definition at line 996 of file pmc8driver.cpp.

◆ slew_pmc8()

bool slew_pmc8 ( int  fd,
double  ra,
double  dec 
)

Definition at line 1987 of file pmc8driver.cpp.

◆ start_pmc8_guide()

bool start_pmc8_guide ( int  fd,
PMC8_DIRECTION  gdir,
int  ms,
long &  timetaken_us,
double  ratehint 
)

Definition at line 1296 of file pmc8driver.cpp.

◆ stop_pmc8_guide()

bool stop_pmc8_guide ( int  fd,
PMC8_DIRECTION  gdir 
)

Definition at line 1458 of file pmc8driver.cpp.

◆ stop_pmc8_motion()

bool stop_pmc8_motion ( int  fd,
PMC8_DIRECTION  dir 
)

◆ stop_pmc8_tracking_motion()

bool stop_pmc8_tracking_motion ( int  fd)

Definition at line 771 of file pmc8driver.cpp.

◆ sync_pmc8()

bool sync_pmc8 ( int  fd,
double  ra,
double  dec 
)

Definition at line 2062 of file pmc8driver.cpp.

◆ unpark_pmc8()

bool unpark_pmc8 ( int  fd)

Definition at line 1903 of file pmc8driver.cpp.