26 #define ALIGNMENT_TAB "Alignment"
27 #define GENERAL_INFO_TAB "General Info"
36 virtual bool ISNewNumber(
const char *dev,
const char *name,
double values[],
char *names[],
int n)
override;
37 virtual bool ISNewSwitch(
const char *dev,
const char *name,
ISState *states,
char *names[],
int n)
override;
53 virtual bool Goto(
double ra,
double dec)
override;
57 virtual bool Abort()
override;
65 virtual bool Sync(
double ra,
double dec)
override;
71 bool setDE(
double de);
93 virtual bool updateLocation(
double latitude,
double longitude,
double elevation)
override;
119 virtual bool Park()
override;
120 virtual bool UnPark()
override;
139 bool sendCommand(
const char *
cmd,
char * res =
nullptr,
int cmd_len = -1,
int res_len = -1);
140 void hexDump(
char * buf,
const char * data,
int size);
141 std::vector<std::string>
split(
const std::string &input,
const std::string ®ex);
148 bool setAZ(
double azimuth);
149 bool setAL(
double altitude);
150 bool slewToHorizontalCoords(
double azimuth,
double altitude);
153 bool setSlewSpeedVal(
int speedtype,
double rate);
154 bool getSlewSpeedVal(
int speedtype);
163 ISwitch SaveAlignBeforeSyncS[2];
164 enum { STAR_ALIGNMENT_DISABLED, STAR_ALIGNMENT_ENABLED};
166 IText RSTVersionsT[2];
168 enum { FIRMWARE, SERIALNUMBER };
172 enum { PULL_VOLTTEMP_DISABLED, PULL_VOLTTEMP_ENABLED};
176 enum { VOLTAGE, BOARD_TEMPERATURE, RA_M_TEMPERATURE, DE_M_TEMPERATURE };
180 enum { RA_M_POWER, DE_M_POWER };
190 enum { SLEW_SPEED_MAX, SLEW_SPEED_FIND, SLEW_SPEED_CENTERING };
192 const std::string getSlewErrorString(uint8_t code);
193 uint8_t m_SlewErrorCode {0};
196 double m_CurrentAZ {0}, m_CurrentAL {0};
197 double m_CurrentRA {0}, m_CurrentDE {0};
198 std::string m_Version;
199 int m_GuideNSTID {0};
200 int m_GuideWETID {0};
205 static constexpr
const char * INFO_TAB =
"Info";
207 static const char DRIVER_STOP_CHAR { 0x23 };
209 static constexpr
const uint8_t DRIVER_TIMEOUT {3};
211 static constexpr
const uint8_t DRIVER_LEN {64};
virtual bool Sync(double ra, double dec) override
Sync.
virtual IPState GuideNorth(uint32_t ms) override
Guiding.
void guideTimeout(Direction direction)
Guide Timeout.
static void guideTimeoutHelperN(void *p)
Guide Timeout North.
virtual bool updateProperties() override
Called when connected state changes, to add/remove properties.
virtual bool Goto(double ra, double dec) override
Slew RA/DE.
virtual bool ISNewNumber(const char *dev, const char *name, double values[], char *names[], int n) override
Process the client newNumber command.
virtual bool SetSlewRate(int index) override
Set Slew Rate.
virtual IPState GuideEast(uint32_t ms) override
Guide East.
virtual bool SetTrackMode(uint8_t mode) override
Set Track Mode.
virtual IPState GuideWest(uint32_t ms) override
Guide West.
virtual bool initProperties() override
Called to initialize basic properties required all the time.
virtual bool MoveNS(INDI_DIR_NS dir, TelescopeMotionCommand command) override
Abort.
virtual bool ISNewSwitch(const char *dev, const char *name, ISState *states, char *names[], int n) override
Process the client newSwitch command.
virtual bool updateLocation(double latitude, double longitude, double elevation) override
Location & Time.
virtual bool SetTrackEnabled(bool enabled) override
Tracking Functions.
void getStartupStatus()
Query Functions.
void hexDump(char *buf, const char *data, int size)
bool getFirmwareVersion()
const char * getDefaultName() override
virtual bool Park() override
Parking & Homing.
virtual bool Handshake() override
perform handshake with device to check communication
virtual bool SetDefaultPark() override
SetDefaultPark Set default coordinates/encoders value as the desired parking position.
virtual bool SetCurrentPark() override
SetCurrentPark Set current coordinates/encoders value as the desired parking position.
bool sendScopeLocation()
Get Location from mount.
bool sendScopeTime()
Location & Time.
static void guideTimeoutHelperS(void *p)
Guide Timeout South.
bool getLocalDate(char *dateString)
Get Date from mount.
bool sendCommand(const char *cmd, char *res=nullptr, int cmd_len=-1, int res_len=-1)
Communication Functions.
IPState guide(Direction direction, uint32_t ms)
Guide universal function.
static void guideTimeoutHelperW(void *p)
Guide Timeout West.
std::vector< std::string > split(const std::string &input, const std::string ®ex)
static void guideTimeoutHelperE(void *p)
Guide Timeout East.
virtual bool UnPark() override
Unparking.
bool setRA(double ra)
Set Target RA.
bool getLocalTime(char *timeString)
Get Time from mount.
void addGuideTimer(Direction direction, uint32_t ms)
Add guide timer.
bool getUTFOffset(double *offset)
GET UTC offset from mount.
bool setDE(double de)
Set Target Altitude.
virtual IPState GuideSouth(uint32_t ms) override
Guide South.
virtual bool Abort() override
Abort.
virtual bool MoveWE(INDI_DIR_WE dir, TelescopeMotionCommand command) override
W/E Motion.
bool slewToEquatorialCoords(double ra, double de)
Slew to Equatorial Coordinates.
virtual bool isSlewComplete()
Motion Functions.
bool setGuideRate(double rate)
virtual bool ReadScopeStatus() override
Read telescope status.
Number vector property descriptor.
Switch vector property descriptor.
Text vector property descriptor.