86 explicit Driver(
const char *deviceName);
89 static const std::map<std::string, std::string>
models;
99 char *response =
nullptr,
100 int minimumCount = -1,
101 uint8_t timeout = IOP_TIMEOUT,
116 bool getUTCDateTime(
double *
JD,
int *utcOffsetMinutes,
bool *dayLightSaving);
202 bool getMainFirmware(std::string &mainFirmware, std::string &controllerFirmware);
204 bool getRADEFirmware(std::string &RAFirmware, std::string &DEFirmware);
227 bool m_Debug = {
false};
228 bool m_Simulation = {
false};
229 const char *m_DeviceName;
232 static const uint8_t IOP_TIMEOUT = 5;
234 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 setGuideRate(double RARate, double DERate)
void setSimTrackRate(IOP_TRACK_RATE value)
bool getStatus(IOPInfo *info)
bool sendCommand(const char *command, int count=1, char *response=nullptr, int minimumCount=-1, uint8_t timeout=IOP_TIMEOUT, uint8_t debugLog=INDI::Logger::DBG_DEBUG)
void setSimTimeSource(IOP_TIME_SOURCE value)
void setSimGuideRate(double raRate, double deRate)
bool setParkAz(double az)
bool setParkAlt(double alt)
bool setLatitude(double latitude)
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)
struct IOPv3::Driver::@351 simData
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)
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.
std::string ControllerFirmware
std::string MainBoardFirmware
IOP_SYSTEM_STATUS rememberSystemStatus
IOP_HEMISPHERE hemisphere
IOP_SYSTEM_STATUS systemStatus
IOP_TIME_SOURCE timeSource