86 explicit Driver(
const char *deviceName);
89 static const std::map<std::string, std::string>
models;
97 bool sendCommand(
const char *command,
int count = 1,
char *response =
nullptr, uint8_t timeout = IOP_TIMEOUT,
112 bool getUTCDateTime(
double *
JD,
int *utcOffsetMinutes,
bool *dayLightSaving);
198 bool getMainFirmware(std::string &mainFirmware, std::string &controllerFirmware);
200 bool getRADEFirmware(std::string &RAFirmware, std::string &DEFirmware);
223 bool m_Debug = {
false};
224 bool m_Simulation = {
false};
225 const char *m_DeviceName;
228 static const uint8_t IOP_TIMEOUT = 5;
230 static const uint8_t IOP_BUFFER = 64;
bool setTrackMode(IOP_TRACK_RATE rate)
void setSimulation(bool enable)
static const std::map< std::string, std::string > models
bool setPETEnabled(bool enabled)
bool setCustomRATrackRate(double rate)
bool setDaylightSaving(bool enabled)
bool startGuide(IOP_DIRECTION dir, uint32_t ms)
bool getUTCDateTime(double *JD, int *utcOffsetMinutes, bool *dayLightSaving)
bool setMeridianBehavior(IOP_MB_STATE action, uint8_t degrees)
void setSimGPSstatus(IOP_GPS_STATUS value)
void setSimSlewRate(IOP_SLEW_RATE value)
bool getPETEnabled(bool enabled)
bool getGuideRate(double *RARate, double *DERate)
bool getRADEFirmware(std::string &RAFirmware, std::string &DEFirmware)
bool sendCommand(const char *command, int count=1, char *response=nullptr, uint8_t timeout=IOP_TIMEOUT, uint8_t debugLog=INDI::Logger::DBG_DEBUG)
bool setGuideRate(double RARate, double DERate)
void setSimTrackRate(IOP_TRACK_RATE value)
bool getStatus(IOPInfo *info)
void setSimTimeSource(IOP_TIME_SOURCE value)
void setSimGuideRate(double raRate, double deRate)
bool setParkAz(double az)
bool setParkAlt(double alt)
bool setLatitude(double latitude)
Driver(const char *deviceName)
bool setLongitude(double longitude)
bool getCoords(double *ra, double *de, IOP_PIER_STATE *pierState, IOP_CW_STATE *cwState)
bool sendCommandOk(const char *command)
void setDebug(bool enable)
bool getMeridianBehavior(IOP_MB_STATE &action, uint8_t °rees)
bool stopMotion(IOP_DIRECTION dir)
bool setTrackEnabled(bool enabled)
bool setSlewRate(IOP_SLEW_RATE rate)
bool checkConnection(int fd)
void setSimHemisphere(IOP_HEMISPHERE value)
bool setUTCDateTime(double JD)
void setSimSytemStatus(IOP_SYSTEM_STATUS value)
void setSimLongLat(double longitude, double latitude)
bool setUTCOffset(int offsetMinutes)
struct IOPv3::Driver::@168 simData
bool getFirmwareInfo(FirmwareInfo *info)
bool setPECEnabled(bool enabled)
bool startMotion(IOP_DIRECTION dir)
static const uint16_t IOP_SLEW_RATES[]
IOP_PIER_STATE pier_state
bool getMainFirmware(std::string &mainFirmware, std::string &controllerFirmware)
bool getModel(std::string &model)
Encapsulates classes and structures required for iOptron Command Set v3 implementation.
struct FirmwareInfo FirmwareInfo
std::string ControllerFirmware
std::string MainBoardFirmware
IOP_SYSTEM_STATUS rememberSystemStatus
IOP_HEMISPHERE hemisphere
IOP_SYSTEM_STATUS systemStatus
IOP_TIME_SOURCE timeSource