162#define CMD_MAX_LEN 32
164#define PORTS_COUNT 10
165#define STARTING_PORT 0
169enum Errors {
ERR_NONE,
ERR_MOTOR_FAULT,
ERR_ALT_MIN,
ERR_LIMIT_SENSE,
ERR_DEC,
ERR_AZM,
ERR_UNDER_POLE,
ERR_MERIDIAN,
ERR_SYNC,
ERR_PARK,
ERR_GOTO_SYNC,
ERR_UNSPECIFIED,
ERR_ALT_MAX,
ERR_GOTO_ERR_NONE,
ERR_GOTO_ERR_BELOW_HORIZON,
ERR_GOTO_ERR_ABOVE_OVERHEAD,
ERR_GOTO_ERR_STANDBY,
ERR_GOTO_ERR_PARK,
ERR_GOTO_ERR_GOTO,
ERR_GOTO_ERR_OUTSIDE_LIMITS,
ERR_GOTO_ERR_HARDWARE_FAULT,
ERR_GOTO_ERR_IN_MOTION,
ERR_GOTO_ERR_UNSPECIFIED};
186 virtual bool ISNewNumber(
const char *dev,
const char *name,
double values[],
char *names[],
int n)
override;
187 virtual bool ISNewSwitch(
const char *dev,
const char *name,
ISState *states,
char *names[],
int n)
override;
192 virtual bool Park()
override;
193 virtual bool UnPark()
override;
197 virtual bool updateLocation(
double latitude,
double longitude,
double elevation)
override;
198 virtual bool setLocalDate(uint8_t days, uint8_t months, uint16_t years)
override;
202 virtual bool SetTrackRate(
double raRate,
double deRate)
override;
203 virtual void slewError(
int slewCode)
override;
204 virtual bool Sync(
double ra,
double dec)
override;
225 virtual bool Goto(
double ra,
double dec)
override;
439 virtual void SetParked(
bool isparked)
override;
450 int currentSubCatalog;
Provides interface to implement weather reporting and safety monitoring functionality.
bool AbortRotator() override
AbortRotator Abort all motion.
char OldOSStat[RB_MAX_LEN]
IPState ClearPECBuffer(int axis)
virtual bool Goto(double ra, double dec) override
Move the scope to the supplied RA and DEC coordinates.
INDI::PropertyNumber OSSetTemperatureNP
IPState PECStatus(int axis)
virtual void Init_Outputs()
virtual bool MoveNS(INDI_DIR_NS dir, TelescopeMotionCommand command) override
Start or Stop the telescope motion in the direction dir.
int getCommandSingleCharResponse(int fd, char *data, const char *cmd)
IPState MoveFocuser(FocusDirection dir, int speed, uint16_t duration) override
MoveFocuser the focuser in a particular direction with a specific speed for a finite duration.
INDI::PropertyNumber OSPECRWValuesNP
int getCommandDoubleResponse(int fd, double *value, char *data, const char *cmd)
INDI::PropertySwitch TFCCompensationSP
virtual IPState ExecuteHomeAction(TelescopeHomeAction action) override
Execute a homing action.
INDI::PropertyNumber OutputPorts_NP
int getCommandIntResponse(int fd, int *value, char *data, const char *cmd)
virtual bool ISNewNumber(const char *dev, const char *name, double values[], char *names[], int n) override
Process the client newNumber command.
OnStepVersion OnStepMountVersion
virtual bool setLocalDate(uint8_t days, uint8_t months, uint16_t years) override
INDI::PropertyNumber MaxSlewRateNP
INDI::PropertySwitch SolarSP
IPState OSDisableOutput(int output)
INDI::PropertySwitch HomePauseSP
INDI::PropertySwitch DeepSkyCatalogSP
INDI::PropertyNumber GuideRateNP
virtual bool setUTCOffset(double offset) override
INDI::PropertyNumber TFCDeadbandNP
INDI::PropertyNumber ElevationLimitNP
bool ISPECRecorded(int axis)
INDI::PropertyText VersionTP
INDI::PropertySwitch OSRotatorDerotateSP
IPState OSEnableOutput(int output)
INDI::PropertyNumber ObjectNoNP
INDI::PropertySwitch OSPECStatusSP
IPState AlignStartGeometric(int stars)
IPState StartPECPlayback(int axis)
bool SetRotatorBacklash(int32_t steps) override
SetRotatorBacklash Set the Rotatorer backlash compensation value.
uint32_t m_RememberPollingPeriod
virtual bool UnPark() override
Unpark the telescope if already parked.
IPState StopPECPlayback(int axis)
IPState SavePECBuffer(int axis)
INDI::PropertySwitch OSNAlignWriteSP
virtual bool saveConfigItems(FILE *fp) override
saveConfigItems Save specific properties in the provide config file handler. Child class usually over...
INDI::PropertyNumber minutesPastMeridianNP
INDI::PropertyNumber OSPECCurrentIndexNP
virtual bool MoveWE(INDI_DIR_WE dir, TelescopeMotionCommand command) override
Move the telescope in the direction dir.
virtual bool Sync(double ra, double dec) override
Set the telescope current RA and DEC coordinates to the supplied RA and DEC coordinates.
INDI::PropertyText OnstepStatTP
virtual void getBasicData() override
virtual bool SetDefaultPark() override
SetDefaultPark Set default coordinates/encoders value as the desired parking position.
IPState MoveRelFocuser(FocusDirection dir, uint32_t ticks) override
MoveFocuser the focuser to an relative position.
bool sendOnStepCommand(const char *cmd)
INDI::PropertySwitch OSFocus2RateSP
INDI::PropertySwitch OSNAlignSP
virtual int setSiteLongitude(int fd, double Long)
long int OSTimeoutMicroSeconds
IPState MoveAbsFocuser(uint32_t targetTicks) override
MoveFocuser the focuser to an absolute position.
IPState AlignAddStar()
AlignStartGeometric starts the OnStep Multistar align process.
INDI::PropertyNumber TFCCoefficientNP
virtual bool SetTrackEnabled(bool enabled) override
SetTrackEnabled Engages or disengages mount tracking. If there are no tracking modes available,...
INDI::PropertySwitch OSFocus1InitializeSP
INDI::PropertyNumber OSPECUserIndexNP
virtual bool initProperties() override
Called to initialize basic properties required all the time.
INDI::PropertySwitch TrackAxisSP
bool sendOnStepCommandBlind(const char *cmd)
IPState StartPECRecord(int axis)
bool OSSupports_bitfield_Gu
virtual int setSiteLatitude(int fd, double Long)
long int OSTimeoutSeconds
virtual void SyncParkStatus(bool isparked) override
SyncParkStatus Update the state and switches for parking.
virtual bool sendScopeLocation() override
INDI::PropertyNumber BacklashNP
char OSNAlignStat[RB_MAX_LEN]
int setMinElevationLimit(int fd, int min)
IPState ReadPECBuffer(int axis)
IPState WritePECBuffer(int axis)
INDI::PropertyText OSNAlignErrTP
char OldOSPier[RB_MAX_LEN]
IPState HomeRotator() override
HomeRotator Go to home position.
INDI::PropertyNumber OSSetHumidityNP
virtual bool Park() override
Park the telescope to its home position.
virtual void slewError(int slewCode) override
INDI::PropertyNumber OSSetAltitudeNP
bool SetRotatorBacklashEnabled(bool enabled) override
SetRotatorBacklashEnabled Enables or disables the Rotator backlash compensation.
INDI::PropertyText ObjectInfoTP
INDI::PropertySwitch ReticSP
INDI::PropertySwitch StarCatalogSP
int getCommandSingleCharErrorOrLongResponse(int fd, char *data, const char *cmd)
virtual bool UpdateAlignErr()
INDI::PropertySwitch OSPECRecordSP
virtual bool SetTrackRate(double raRate, double deRate) override
SetTrackRate Set custom tracking rates.
INDI::PropertyNumber FocusTemperatureNP
INDI::PropertyNumber OSFocus2TargNP
INDI::PropertySwitch OSPECReadSP
INDI::PropertySwitch OSFocus2MotionSP
virtual bool sendScopeTime() override
bool OSGetOutputState(int output)
virtual bool UpdateAlignStatus()
INDI::PropertySwitch OSFocusSelectSP
IPState MoveRotator(double angle) override
MoveRotator Go to specific angle.
void PrintTrackState()
PrintTrackState will print to the debug log the status of TrackState if DEBUG_TRACKSTATE is defined o...
virtual bool ISNewSwitch(const char *dev, const char *name, ISState *states, char *names[], int n) override
Process the client newSwitch command.
INDI::PropertyText OSNAlignTP
virtual const char * getDefaultName() override
INDI::PropertySwitch OSPECIndexSP
virtual void ISGetProperties(const char *dev) override
define the driver's properties to the client. Usually, only a minimum set of properties are defined t...
INDI::PropertySwitch FrequencyAdjustSP
virtual void SetParked(bool isparked) override
SetParked Change the mount parking status. The data park file (stored in ~/.indi/ParkData....
INDI::PropertySwitch OSNAlignPolarRealignSP
virtual IPState updateWeather() override
updateWeather Update weather conditions from device or service. The function should not change the st...
INDI::PropertySwitch OSNAlignStarsSP
INDI::PropertySwitch PreferredPierSideSP
INDI::PropertySwitch OSRotatorRateSP
virtual bool Handshake() override
perform handshake with device to check communication
bool OSSeparate_Pulse_Guide_Rate
INDI::PropertyNumber OSSetPressureNP
INDI::PropertySwitch TrackCompSP
virtual bool updateLocation(double latitude, double longitude, double elevation) override
Update telescope location settings.
virtual bool updateProperties() override
Called when connected state changes, to add/remove properties.
virtual bool ReadScopeStatus() override
Read telescope status.
bool AbortFocuser() override
AbortFocuser all focus motion.
virtual bool SetCurrentPark() override
SetCurrentPark Set current coordinates/encoders value as the desired parking position.
INDI::PropertySwitch AutoFlipSP
Implementations for common driver routines.
@ ERR_GOTO_ERR_ABOVE_OVERHEAD
@ ERR_GOTO_ERR_OUTSIDE_LIMITS
@ ERR_GOTO_ERR_BELOW_HORIZON
@ ERR_GOTO_ERR_UNSPECIFIED
@ ERR_GOTO_ERR_HARDWARE_FAULT