120 bool getUTCDateTime(
double *utc_hours,
int *yy,
int *mm,
int *dd,
int *hh,
int *minute,
int *ss);
159 bool sendCommand(
const char *
cmd,
char * res =
nullptr,
int cmd_len = -1,
int res_len = -1);
168 void hexDump(
char * buf,
const char * data,
int size);
188 virtual bool abort();
193 virtual bool setAz(
double az);
194 virtual bool setAlt(
double alt);
214 virtual bool setGuideRate(
double raRate,
double deRate);
215 virtual bool getGuideRate(
double * raRate,
double * deRate);
226 virtual bool setDST(
bool enabled);
241 {
"0010",
"Cube II EQ",
"160610"},
242 {
"0011",
"Smart EQ Pro+",
"161028"},
243 {
"0025",
"CEM25",
"170106"},
244 {
"0026",
"CEM25-EC",
"170518"},
245 {
"0030",
"iEQ30 Pro",
"161101"},
246 {
"0040",
"CEM40",
"181018"},
247 {
"0041",
"CEM40-EC",
"181018"},
248 {
"0043",
"GEM45",
"191018"},
249 {
"0044",
"GEM45-EC",
"191018"},
250 {
"0045",
"iEQ45 Pro EQ",
"161101"},
251 {
"0046",
"iEQ45 Pro AA",
"161101"},
252 {
"0060",
"CEM60",
"161101"},
253 {
"0061",
"CEM60-EC",
"161101"},
254 {
"5010",
"Cube II AA",
"160610"},
255 {
"5035",
"AZ Mount Pro",
"170410"},
265 double DecodeString(
const char * data,
size_t size,
double factor);
275 constexpr
static const double ieqDegrees { 60.0 * 60.0 * 100.0 };
276 constexpr
static const double ieqHours { 60.0 * 60.0 * 1000.0 };
The BaseFirmware class provides control for iOptron version 2014 v2.0 protocol.
static const uint8_t DRIVER_LEN
void setDeviceName(const std::string &name)
void hexDump(char *buf, const char *data, int size)
hexDump Helper function to print non-string commands to the logger so it is easier to debug
virtual bool setCurrentHome()
virtual bool setRA(double ra)
virtual bool setSlewRate(SlewRate rate)
bool getStatus(Info *info)
FirmwareInfo m_FirmwareInfo
virtual bool setTrackEnabled(bool enabled)
bool initCommunication(int fd)
initCommunication Checks if communication with the mount is working
virtual bool setLocalDate(int yy, int mm, int dd)
constexpr static const double ieqHours
bool isCommandSupported(const std::string &command, bool silent=false)
isCommandSupported Check if specific iOptron command is supported for this mount model
virtual bool setAlt(double alt)
bool getCoords(double *ra, double *dec)
bool getPierSide(IEQ_PIER_SIDE *pierSide)
double DecodeString(const char *data, size_t size, double factor)
DecodeString converts the string to a double by dividing by the factor.
virtual bool setParkAlt(double alt)
virtual bool setLatitude(double latitude)
virtual bool setParkAz(double az)
constexpr static const double ieqDegrees
virtual bool getGuideRate(double *raRate, double *deRate)
virtual bool setAz(double az)
virtual bool setDE(double dec)
const char * getDeviceName()
virtual bool setUTCOffset(double offset_hours)
virtual bool stopMotion(Direction dir)
virtual bool setGuideRate(double raRate, double deRate)
static const char DRIVER_STOP_CHAR
const std::vector< MountInfo > m_MountList
bool sendCommand(const char *cmd, char *res=nullptr, int cmd_len=-1, int res_len=-1)
sendCommand Send a string command to device.
virtual bool setDST(bool enabled)
void setDebugEnabled(bool enable)
bool getUTCDateTime(double *utc_hours, int *yy, int *mm, int *dd, int *hh, int *minute, int *ss)
virtual bool setLongitude(double longitude)
virtual bool setCustomRATrackRate(double rate)
static const uint8_t DRIVER_TIMEOUT
virtual bool startGuide(Direction dir, uint32_t ms)
virtual bool startMotion(Direction dir)
virtual bool setLocalTime(int hh, int mm, int ss)
virtual bool setTrackMode(TrackRate rate)
const FirmwareInfo & getFirmwareInfo() const
struct FirmwareInfo FirmwareInfo
std::string MainBoardFirmware
std::string ControllerFirmware
SystemStatus systemStatus
SystemStatus rememberSystemStatus