Instrument Neutral Distributed Interface INDI  2.0.2
Macros | Functions | Variables
lx200driver.cpp File Reference
#include "lx200driver.h"
#include "indicom.h"
#include "indilogger.h"
#include <cstring>
#include <unistd.h>
#include <termios.h>
#include <mutex>

Go to the source code of this file.

Macros

#define LX200_TIMEOUT   5 /* FD timeout in seconds */
 
#define RB_MAX_LEN   64
 

Functions

void setLX200Debug (const char *deviceName, unsigned int debug_level)
 
int check_lx200_connection (int in_fd)
 
char ACK (int fd)
 
int getCommandSexa (int fd, double *value, const char *cmd)
 
int getCommandInt (int fd, int *value, const char *cmd)
 
int getCommandString (int fd, char *data, const char *cmd)
 
int isSlewComplete (int fd)
 
int getCalendarDate (int fd, char *date)
 
int getTimeFormat (int fd, int *format)
 
int getSiteName (int fd, char *siteName, int siteNum)
 
int getSiteLatitude (int fd, int *dd, int *mm, double *ssf)
 
int getSiteLongitude (int fd, int *ddd, int *mm, double *ssf)
 
int getSiteLatitudeAlt (int fd, int *dd, int *mm, double *ssf, const char *cmd)
 
int getSiteLongitudeAlt (int fd, int *ddd, int *mm, double *ssf, const char *cmd)
 
int getTrackFreq (int fd, double *value)
 
int getHomeSearchStatus (int fd, int *status)
 
int getOTATemp (int fd, double *value)
 
int setStandardProcedure (int fd, const char *data)
 
int setCommandInt (int fd, int data, const char *cmd)
 
int setMinElevationLimit (int fd, int min)
 
int setMaxElevationLimit (int fd, int max)
 
int setMaxSlewRate (int fd, int slewRate)
 
int setObjectRA (int fd, double ra, bool addSpace)
 
int setObjectDEC (int fd, double dec, bool addSpace)
 
int setCommandXYZ (int fd, int x, int y, int z, const char *cmd, bool addSpace)
 
int setAlignmentMode (int fd, unsigned int alignMode)
 
int setCalenderDate (int fd, int dd, int mm, int yy, bool addSpace)
 
int setUTCOffset (int fd, double hours)
 
int setSiteLongitude (int fd, double CartographicLongitude, bool addSpace)
 
int setSiteLatitude (int fd, double Lat, bool addSpace)
 
int setObjAz (int fd, double az)
 
int setObjAlt (int fd, double alt)
 
int setSiteName (int fd, char *siteName, int siteNum)
 
int setSlewMode (int fd, int slewMode)
 
int setFocuserMotion (int fd, int motionType)
 
int setFocuserSpeedMode (int fd, int speedMode)
 
int setGPSFocuserSpeed (int fd, int speed)
 
int setTrackFreq (int fd, double trackF)
 
int setPreciseTrackFreq (int fd, double trackF)
 
int Slew (int fd)
 
int MoveTo (int fd, int direction)
 
int SendPulseCmd (int fd, int direction, int duration_msec, bool wait_after_command, int max_wait_ms)
 
int HaltMovement (int fd, int direction)
 
int abortSlew (int fd)
 
int Sync (int fd, char *matchedObject)
 
int selectSite (int fd, int siteNum)
 
int selectCatalogObject (int fd, int catalog, int NNNN)
 
int selectSubCatalog (int fd, int catalog, int subCatalog)
 
int getLX200EquatorialFormat ()
 
int getLX200GeographicFormat ()
 
int checkLX200EquatorialFormat (int fd)
 
int selectTrackingMode (int fd, int trackMode)
 
int setLocalTime (int fd, int x, int y, int z, bool addSpace)
 
int setSDTime (int fd, int x, int y, int z, bool addSpace)
 

Variables

int eq_format
 
int geo_format = LX200_GEO_SHORT_FORMAT
 
char lx200Name [MAXINDIDEVICE]
 
unsigned int DBG_SCOPE = 8
 
std::mutex lx200CommsLock
 

Macro Definition Documentation

◆ LX200_TIMEOUT

#define LX200_TIMEOUT   5 /* FD timeout in seconds */

Definition at line 45 of file lx200driver.cpp.

◆ RB_MAX_LEN

#define RB_MAX_LEN   64

Definition at line 46 of file lx200driver.cpp.

Function Documentation

◆ abortSlew()

int abortSlew ( int  fd)

Definition at line 1754 of file lx200driver.cpp.

◆ ACK()

char ACK ( int  fd)

Definition at line 108 of file lx200driver.cpp.

◆ check_lx200_connection()

int check_lx200_connection ( int  in_fd)

Definition at line 64 of file lx200driver.cpp.

◆ checkLX200EquatorialFormat()

int checkLX200EquatorialFormat ( int  fd)

Definition at line 1979 of file lx200driver.cpp.

◆ getCalendarDate()

int getCalendarDate ( int  fd,
char *  date 
)

Definition at line 315 of file lx200driver.cpp.

◆ getCommandInt()

int getCommandInt ( int  fd,
int *  value,
const char *  cmd 
)

Definition at line 180 of file lx200driver.cpp.

◆ getCommandSexa()

int getCommandSexa ( int  fd,
double *  value,
const char *  cmd 
)

Definition at line 143 of file lx200driver.cpp.

◆ getCommandString()

static int getCommandString ( int  fd,
char *  data,
const char *  cmd 
)

Definition at line 223 of file lx200driver.cpp.

◆ getHomeSearchStatus()

int getHomeSearchStatus ( int  fd,
int *  status 
)

Definition at line 694 of file lx200driver.cpp.

◆ getLX200EquatorialFormat()

int getLX200EquatorialFormat ( )

Definition at line 1969 of file lx200driver.cpp.

◆ getLX200GeographicFormat()

int getLX200GeographicFormat ( )

Definition at line 1974 of file lx200driver.cpp.

◆ getOTATemp()

int getOTATemp ( int  fd,
double *  value 
)

Definition at line 739 of file lx200driver.cpp.

◆ getSiteLatitude()

int getSiteLatitude ( int  fd,
int *  dd,
int *  mm,
double *  ssf 
)

Definition at line 479 of file lx200driver.cpp.

◆ getSiteLatitudeAlt()

int getSiteLatitudeAlt ( int  fd,
int *  dd,
int *  mm,
double *  ssf,
const char *  cmd 
)

Definition at line 526 of file lx200driver.cpp.

◆ getSiteLongitude()

int getSiteLongitude ( int  fd,
int *  ddd,
int *  mm,
double *  ssf 
)

Definition at line 505 of file lx200driver.cpp.

◆ getSiteLongitudeAlt()

int getSiteLongitudeAlt ( int  fd,
int *  ddd,
int *  mm,
double *  ssf,
const char *  cmd 
)

Definition at line 588 of file lx200driver.cpp.

◆ getSiteName()

int getSiteName ( int  fd,
char *  siteName,
int  siteNum 
)

Definition at line 415 of file lx200driver.cpp.

◆ getTimeFormat()

int getTimeFormat ( int  fd,
int *  format 
)

Definition at line 368 of file lx200driver.cpp.

◆ getTrackFreq()

int getTrackFreq ( int  fd,
double *  value 
)

Definition at line 649 of file lx200driver.cpp.

◆ HaltMovement()

int HaltMovement ( int  fd,
int  direction 
)

Definition at line 1704 of file lx200driver.cpp.

◆ isSlewComplete()

int isSlewComplete ( int  fd)

Definition at line 252 of file lx200driver.cpp.

◆ MoveTo()

int MoveTo ( int  fd,
int  direction 
)

Definition at line 1614 of file lx200driver.cpp.

◆ selectCatalogObject()

int selectCatalogObject ( int  fd,
int  catalog,
int  NNNN 
)

Definition at line 1873 of file lx200driver.cpp.

◆ selectSite()

int selectSite ( int  fd,
int  siteNum 
)

Definition at line 1821 of file lx200driver.cpp.

◆ selectSubCatalog()

int selectSubCatalog ( int  fd,
int  catalog,
int  subCatalog 
)

Definition at line 1923 of file lx200driver.cpp.

◆ selectTrackingMode()

int selectTrackingMode ( int  fd,
int  trackMode 
)

Definition at line 2113 of file lx200driver.cpp.

◆ SendPulseCmd()

int SendPulseCmd ( int  fd,
int  direction,
int  duration_msec,
bool  wait_after_command,
int  max_wait_ms 
)

Definition at line 1653 of file lx200driver.cpp.

◆ setAlignmentMode()

int setAlignmentMode ( int  fd,
unsigned int  alignMode 
)

Definition at line 1060 of file lx200driver.cpp.

◆ setCalenderDate()

int setCalenderDate ( int  fd,
int  dd,
int  mm,
int  yy,
bool  addSpace 
)

Definition at line 1095 of file lx200driver.cpp.

◆ setCommandInt()

int setCommandInt ( int  fd,
int  data,
const char *  cmd 
)

Definition at line 821 of file lx200driver.cpp.

◆ setCommandXYZ()

int setCommandXYZ ( int  fd,
int  x,
int  y,
int  z,
const char *  cmd,
bool  addSpace 
)

Definition at line 1049 of file lx200driver.cpp.

◆ setFocuserMotion()

int setFocuserMotion ( int  fd,
int  motionType 
)

Definition at line 1405 of file lx200driver.cpp.

◆ setFocuserSpeedMode()

int setFocuserSpeedMode ( int  fd,
int  speedMode 
)

Definition at line 1435 of file lx200driver.cpp.

◆ setGPSFocuserSpeed()

int setGPSFocuserSpeed ( int  fd,
int  speed 
)

Definition at line 1471 of file lx200driver.cpp.

◆ setLocalTime()

int setLocalTime ( int  fd,
int  x,
int  y,
int  z,
bool  addSpace 
)

Definition at line 2157 of file lx200driver.cpp.

◆ setLX200Debug()

void setLX200Debug ( const char *  deviceName,
unsigned int  debug_level 
)

Definition at line 58 of file lx200driver.cpp.

◆ setMaxElevationLimit()

int setMaxElevationLimit ( int  fd,
int  max 
)

Definition at line 873 of file lx200driver.cpp.

◆ setMaxSlewRate()

int setMaxSlewRate ( int  fd,
int  slewRate 
)

Definition at line 892 of file lx200driver.cpp.

◆ setMinElevationLimit()

int setMinElevationLimit ( int  fd,
int  min 
)

Definition at line 849 of file lx200driver.cpp.

◆ setObjAlt()

int setObjAlt ( int  fd,
double  alt 
)

Definition at line 1301 of file lx200driver.cpp.

◆ setObjAz()

int setObjAz ( int  fd,
double  az 
)

Definition at line 1279 of file lx200driver.cpp.

◆ setObjectDEC()

int setObjectDEC ( int  fd,
double  dec,
bool  addSpace 
)

Definition at line 977 of file lx200driver.cpp.

◆ setObjectRA()

int setObjectRA ( int  fd,
double  ra,
bool  addSpace 
)

Definition at line 914 of file lx200driver.cpp.

◆ setPreciseTrackFreq()

int setPreciseTrackFreq ( int  fd,
double  trackF 
)

Definition at line 1550 of file lx200driver.cpp.

◆ setSDTime()

int setSDTime ( int  fd,
int  x,
int  y,
int  z,
bool  addSpace 
)

Definition at line 2162 of file lx200driver.cpp.

◆ setSiteLatitude()

int setSiteLatitude ( int  fd,
double  Lat,
bool  addSpace 
)

Definition at line 1232 of file lx200driver.cpp.

◆ setSiteLongitude()

int setSiteLongitude ( int  fd,
double  CartographicLongitude,
bool  addSpace 
)

Definition at line 1184 of file lx200driver.cpp.

◆ setSiteName()

int setSiteName ( int  fd,
char *  siteName,
int  siteNum 
)

Definition at line 1323 of file lx200driver.cpp.

◆ setSlewMode()

int setSlewMode ( int  fd,
int  slewMode 
)

Definition at line 1361 of file lx200driver.cpp.

◆ setStandardProcedure()

int setStandardProcedure ( int  fd,
const char *  data 
)

Definition at line 787 of file lx200driver.cpp.

◆ setTrackFreq()

int setTrackFreq ( int  fd,
double  trackF 
)

Definition at line 1508 of file lx200driver.cpp.

◆ setUTCOffset()

int setUTCOffset ( int  fd,
double  hours 
)

Definition at line 1160 of file lx200driver.cpp.

◆ Slew()

int Slew ( int  fd)

Definition at line 1568 of file lx200driver.cpp.

◆ Sync()

int Sync ( int  fd,
char *  matchedObject 
)

Definition at line 1773 of file lx200driver.cpp.

Variable Documentation

◆ DBG_SCOPE

unsigned int DBG_SCOPE = 8

Definition at line 53 of file lx200driver.cpp.

◆ eq_format

int eq_format

Definition at line 49 of file lx200driver.cpp.

◆ geo_format

int geo_format = LX200_GEO_SHORT_FORMAT

Definition at line 50 of file lx200driver.cpp.

◆ lx200CommsLock

std::mutex lx200CommsLock

Definition at line 56 of file lx200driver.cpp.

◆ lx200Name

char lx200Name[MAXINDIDEVICE]

Definition at line 51 of file lx200driver.cpp.