Instrument Neutral Distributed Interface INDI  2.0.2
simplescope.h

A simple GOTO telescope that simulator slewing operation.

/*
INDI Developers Manual
Tutorial #2
"Simple Telescope Driver"
We develop a simple telescope simulator.
Refer to README, which contains instruction on how to build this driver, and use it
with an INDI-compatible client.
*/
#pragma once
#include "inditelescope.h"
{
public:
protected:
bool Handshake() override;
const char *getDefaultName() override;
bool initProperties() override;
// Telescope specific functions
bool ReadScopeStatus() override;
bool Goto(double, double) override;
bool Abort() override;
private:
double currentRA {0};
double currentDEC {90};
double targetRA {0};
double targetDEC {0};
// Debug channel to write mount logs to
// Default INDI::Logger debugging/logging channel are Message, Warn, Error, and Debug
// Since scope information can be _very_ verbose, we create another channel SCOPE specifically
// for extra debug logs. This way the user can turn it on/off as desired.
uint8_t DBG_SCOPE { INDI::Logger::DBG_IGNORE };
// slew rate, degrees/s
static const uint8_t SLEW_RATE = 3;
};
bool Handshake() override
perform handshake with device to check communication
Definition: simplescope.cpp:61
bool Goto(double, double) override
Move the scope to the supplied RA and DEC coordinates.
Definition: simplescope.cpp:79
const char * getDefaultName() override
Definition: simplescope.cpp:71
bool Abort() override
Abort any telescope motion including tracking if possible.
bool initProperties() override
Called to initialize basic properties required all the time.
Definition: simplescope.cpp:40
bool ReadScopeStatus() override
Read telescope status.