147 #define RB_MAX_LEN 64
148 #define CMD_MAX_LEN 32
150 #define PORTS_COUNT 10
151 #define STARTING_PORT 0
155 enum 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};
172 virtual bool ISNewNumber(
const char *dev,
const char *name,
double values[],
char *names[],
int n)
override;
173 virtual bool ISNewSwitch(
const char *dev,
const char *name,
ISState *states,
char *names[],
int n)
override;
177 virtual bool Park()
override;
178 virtual bool UnPark()
override;
182 virtual bool updateLocation(
double latitude,
double longitude,
double elevation)
override;
183 virtual bool setLocalDate(uint8_t days, uint8_t months, uint16_t years)
override;
187 virtual bool SetTrackRate(
double raRate,
double deRate)
override;
188 virtual void slewError(
int slewCode)
override;
189 virtual bool Sync(
double ra,
double dec)
override;
207 virtual bool Goto(
double ra,
double dec)
override;
486 virtual void SetParked(
bool isparked)
override;
497 int currentSubCatalog;
Provides interface to implement weather reporting 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.
INumberVectorProperty BacklashNP
ISwitchVectorProperty AutoFlipSP
INumberVectorProperty FocuserTNP
INumber OSPECCurrentIndexN[2]
IPState PECStatus(int axis)
virtual void Init_Outputs()
ITextVectorProperty OnstepStatTP
int getCommandSingleCharResponse(int fd, char *data, const char *cmd)
ISwitch OSFocus1InitializeS[4]
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.
int getCommandDoubleResponse(int fd, double *value, char *data, const char *cmd)
ISwitchVectorProperty OSRotatorDerotateSP
INumber ElevationLimitN[2]
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
ITextVectorProperty OSNAlignErrTP
virtual bool setLocalDate(uint8_t days, uint8_t months, uint16_t years) override
ISwitchVectorProperty OSNAlignStarsSP
ISwitchVectorProperty OSOutput1SP
INumberVectorProperty GuideRateNP
ISwitch PreferredPierSideS[3]
ISwitch OSRotatorDerotateS[2]
ISwitchVectorProperty OSNAlignPolarRealignSP
INumberVectorProperty ObjectNoNP
IPState OSDisableOutput(int output)
INumberVectorProperty minutesPastMeridianNP
ISwitch OSRotatorRateS[4]
INumberVectorProperty OSFocus2TargNP
virtual bool setUTCOffset(double offset) override
INumber OSPECUserIndexN[2]
bool ISPECRecorded(int axis)
IPState OSEnableOutput(int output)
ISwitch OSNAlignWriteS[1]
ISwitchVectorProperty PreferredPierSideSP
ISwitchVectorProperty OSRotatorRateSP
INumber minutesPastMeridianN[2]
IPState AlignStartGeometric(int stars)
IPState StartPECPlayback(int axis)
bool SetRotatorBacklash(int32_t steps) override
SetRotatorBacklash Set the Rotatorer backlash compensation value.
virtual bool UnPark() override
Unpark the telescope if already parked.
IPState StopPECPlayback(int axis)
INumberVectorProperty OSSetPressureNP
ISwitch OSFocusSelectS[9]
ISwitchVectorProperty OSFocus2MotionSP
ITextVectorProperty OSNAlignTP
IPState SavePECBuffer(int axis)
ISwitchVectorProperty DeepSkyCatalogSP
ISwitchVectorProperty OSPECIndexSP
ISwitch OSFocus2MotionS[3]
ISwitch TFCCompensationS[2]
INumber OSSetTemperatureN[1]
virtual bool saveConfigItems(FILE *fp) override
saveConfigItems Save parameters ranges in the config file.
ISwitchVectorProperty HomePauseSP
ISwitchVectorProperty TFCCompensationSP
virtual bool Sync(double ra, double dec) override
Set the telescope current RA and DEC coordinates to the supplied RA and DEC coordinates.
INumberVectorProperty OSSetAltitudeNP
virtual void getBasicData() override
virtual bool SetDefaultPark() override
SetDefaultPark Set default coordinates/encoders value as the desired parking position.
ISwitchVectorProperty OSPECStatusSP
IPState MoveRelFocuser(FocusDirection dir, uint32_t ticks) override
MoveFocuser the focuser to an relative position.
ISwitchVectorProperty OSPECRecordSP
bool sendOnStepCommand(const char *cmd)
virtual int setSiteLongitude(int fd, double Long)
long int OSTimeoutMicroSeconds
ISwitchVectorProperty OSFocus2RateSP
IPState MoveAbsFocuser(uint32_t targetTicks) override
MoveFocuser the focuser to an absolute position.
ISwitch FrequencyAdjustS[3]
IPState AlignAddStar()
AlignStartGeometric starts the OnStep Multistar align process.
virtual bool SetTrackEnabled(bool enabled) override
SetTrackEnabled Engages or disengages mount tracking. If there are no tracking modes available,...
ISwitch OSNAlignPolarRealignS[2]
virtual bool initProperties() override
Called to initialize basic properties required all the time.
ISwitchVectorProperty ReticSP
bool sendOnStepCommandBlind(const char *cmd)
INumber OSSetHumidityN[1]
INumber OutputPorts[PORTS_COUNT]
INumber OSSetAltitudeN[1]
IPState StartPECRecord(int axis)
bool OSSupports_bitfield_Gu
virtual int setSiteLatitude(int fd, double Long)
ISwitchVectorProperty OSNAlignWriteSP
long int OSTimeoutSeconds
virtual void SyncParkStatus(bool isparked) override
SyncParkStatus Update the state and switches for parking.
ISwitchVectorProperty FrequencyAdjustSP
INumberVectorProperty TFCCoefficientNP
virtual bool sendScopeLocation() override
ISwitchVectorProperty SolarSP
char OSNAlignStat[RB_MAX_LEN]
INumber OSPECRWValuesN[2]
int setMinElevationLimit(int fd, int min)
IPState ReadPECBuffer(int axis)
ISwitchVectorProperty OSFocus1InitializeSP
IPState WritePECBuffer(int axis)
ISwitchVectorProperty OSOutput2SP
char OldOSPier[RB_MAX_LEN]
IPState HomeRotator() override
HomeRotator Go to home position.
virtual bool Park() override
Park the telescope to its home position.
ISwitchVectorProperty StarCatalogSP
virtual void slewError(int slewCode) override
bool SetRotatorBacklashEnabled(bool enabled) override
SetRotatorBacklashEnabled Enables or disables the Rotator backlash compensation.
ISwitchVectorProperty OSPECReadSP
ISwitchVectorProperty SetHomeSP
ISwitch DeepSkyCatalogS[7]
INumberVectorProperty TFCDeadbandNP
ISwitchVectorProperty TrackAxisSP
INumberVectorProperty ElevationLimitNP
int getCommandSingleCharErrorOrLongResponse(int fd, char *data, const char *cmd)
virtual bool UpdateAlignErr()
virtual bool SetTrackRate(double raRate, double deRate) override
SetTrackRate Set custom tracking rates.
ISwitchVectorProperty OSNAlignSP
INumberVectorProperty OSSetHumidityNP
INumberVectorProperty OSPECCurrentIndexNP
virtual bool sendScopeTime() override
ISwitch OSNAlignStarsS[9]
ITextVectorProperty VersionTP
bool OSGetOutputState(int output)
virtual bool UpdateAlignStatus()
INumber TFCCoefficientN[1]
IPState MoveRotator(double angle) override
MoveRotator Go to specific angle.
ISwitchVectorProperty TrackCompSP
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.
INumber OSSetPressureN[1]
INumberVectorProperty OSPECUserIndexNP
INumberVectorProperty MaxSlewRateNP
virtual const char * getDefaultName() override
ISwitchVectorProperty OSFocusSelectSP
ITextVectorProperty ObjectInfoTP
INumberVectorProperty OSSetTemperatureNP
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...
virtual void SetParked(bool isparked) override
SetParked Change the mount parking status. The data park file (stored in ~/.indi/ParkData....
INumberVectorProperty OutputPorts_NP
virtual IPState updateWeather() override
updateWeather Update weather conditions from device or service. The function should not change the st...
INumberVectorProperty OSPECRWValuesNP
bool OSSeparate_Pulse_Guide_Rate
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.
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
Number vector property descriptor.
Switch vector property descriptor.
Text vector property descriptor.