38 virtual bool ISNewNumber(
const char *dev,
const char *name,
double values[],
char *names[],
int n)
override;
39 virtual bool ISNewSwitch(
const char *dev,
const char *name,
ISState *states,
char *names[],
int n)
override;
55 bool Handshake()
override;
62 bool getRotatorSpeed();
67 bool reloadFirmware();
68 bool setDerotation(uint32_t ms);
69 bool setRotatorSpeed(uint32_t speed);
85 bool sendCommand(
const char *
cmd,
char * res =
nullptr,
int cmd_len = -1,
int res_len = -1);
86 void hexDump(
char * buf,
const char * data, uint32_t size);
87 std::vector<std::string> split(
const std::string &input,
const std::string ®ex);
93 void cleanupResponse(
char *response);
107 std::vector<std::string> lastStatusData;
112 static constexpr const uint8_t DRIVER_STOP_CHAR {0xA};
113 static constexpr const uint8_t DRIVER_TIMEOUT {3};
114 static constexpr const uint8_t DRIVER_LEN {128};
virtual bool updateProperties() override
updateProperties is called whenever there is a change in the CONNECTION status of the driver....
virtual bool ISNewSwitch(const char *dev, const char *name, ISState *states, char *names[], int n) override
Process the client newSwitch command.
virtual bool saveConfigItems(FILE *fp) override
saveConfigItems Saves the reverse direction property in the configuration file
virtual bool AbortRotator() override
AbortRotator Abort all motion.
virtual void TimerHit() override
Callback function to be called once SetTimer duration elapses.
virtual bool initProperties() override
Initialize properties initial state and value. The child class must implement this function.
virtual bool ReverseRotator(bool enabled) override
reverse action ("FN:0" disabled, "FN:1" enabled)
const char * getDefaultName() override
virtual IPState MoveRotator(double angle) override
move to degrees (Command "MD:nn.nn"; Response "MD:nn.nn")
virtual bool ISNewNumber(const char *dev, const char *name, double values[], char *names[], int n) override
Process the client newNumber command.
virtual bool SyncRotator(double angle) override
SyncRotator Set current angle as the supplied angle without moving the rotator.