43 virtual bool ISNewNumber(
const char *dev,
const char *name,
double values[],
char *names[],
int n)
override;
44 virtual bool ISNewSwitch(
const char *dev,
const char *name,
ISState *states,
char *names[],
int n)
override;
53 bool sendCommand(std::string command);
55 bool parseDeviceData(
const char *data);
101 std::timed_mutex serialPortMutex;
102 bool m_Initializing {
true};
103 bool m_FirstRead {
true};
109 double target[3] {0, 0, 0};
110 bool pending[3] {
false,
false,
false};
111 int currentPoint {0};
112 double startPosition[3] {0, 0, 0};
114 int timeoutCount[3] {0, 0, 0};
115 bool isZeroAll {
false};
116 bool isApplyOffset {
false};
119 static constexpr double POSITION_TOLERANCE = 0.005;
120 static constexpr double MOTOR_SPEED_MMS = 0.015;
121 static constexpr int TIMEOUT_SAFETY_S = 25;
123 void startMove(
int pointIndex,
double target);
124 void startMultiPointMove(
double targets[3],
bool isZeroAll,
bool isApplyOffset);
125 void checkMoveProgress();
126 void sendPointCommand(
int pointIndex,
double target);
128 void setPositionNP(
int index,
double values[],
char *names[],
int n,
IPState state);
129 void setPositionState(
int index,
IPState state);
130 void updateAllTargets(
double targets[3]);
The Serial class manages connection with serial devices including Bluetooth. Serial communication is ...
Class to provide extended functionality for devices in addition to the functionality provided by INDI...
virtual bool saveConfigItems(FILE *fp) override
Save config items.
virtual bool ISNewNumber(const char *dev, const char *name, double values[], char *names[], int n) override
Handle new number values (position targets)
virtual ~WandererETA()=default
WandererETA()
Constructor.
const char * getDefaultName() override
Device name.
virtual bool initProperties() override
Init properties.
virtual void TimerHit() override
Timer callback - poll device status.
virtual bool updateProperties() override
Update properties on connect/disconnect.
virtual bool ISNewSwitch(const char *dev, const char *name, ISState *states, char *names[], int n) override
Handle new switch values (Zero All)
Combines all INDI Connection Plugins. Each INDI connection plugin is responsible of managing communic...