86 std::string
getProtocolName()
const override {
return "WandererCover V4 Pro-EC (Legacy < 20250405)"; }
108 std::string
getProtocolName()
const override {
return "WandererCover V4 Pro-EC (Modern >= 20250405)"; }
134 virtual bool ISNewNumber(
const char *dev,
const char *name,
double values[],
char *names[],
int n)
override;
135 virtual bool ISNewSwitch(
const char *dev,
const char *name,
ISState *states,
char *names[],
int n)
override;
136 virtual bool ISNewText(
const char *dev,
const char *name,
char *texts[],
char *names[],
int n)
override;
162 bool toggleCover(
bool open);
163 bool sendCommand(std::string command);
165 bool parseDeviceData(
const char *data);
166 double closesetread=0;
167 double opensetread=0;
168 double positionread=0;
169 double voltageread=0;
170 double asiaircontrolenabledread=0;
171 double flatpanelbrightnessread=0;
172 bool setClose(
double value);
173 bool setOpen(
double value);
174 void updateData(
double closesetread,
double opensetread,
double positionread,
double voltageread,
double flatpanelbrightnessread,
double asiaircontrolenabledread);
177 bool detectProtocol();
178 void setProtocol(std::unique_ptr<IWandererCoverProtocol> protocol);
182 std::unique_ptr<IWandererCoverProtocol> currentProtocol;
195 flat_panel_brightness_read,
197 asiair_control_enabled_read,
244 std::timed_mutex serialPortMutex;
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 std::string generateSetClosePositionCommand(double value) const =0
virtual int getMinFirmwareVersion() const =0
virtual bool detectProtocol(const char *data)=0
virtual int getProtocolVersion() const =0
virtual std::string generateCustomBrightnessCommand(int brightness, int customNumber) const =0
virtual bool supportsFeature(const std::string &feature) const =0
virtual std::string generateASIAIRControlCommand(bool enable) const =0
virtual ~IWandererCoverProtocol()=default
virtual bool parseDeviceData(const char *data, WandererCoverV4ProEC *device)=0
virtual std::string generateCloseCommand() const =0
virtual std::string generateOpenCommand() const =0
virtual std::string generateSetOpenPositionCommand(double value) const =0
virtual std::string generateSetBrightnessCommand(uint16_t value) const =0
virtual std::string generateTurnOffLightCommand() const =0
virtual std::string getProtocolName() const =0
int getMinFirmwareVersion() const override
bool detectProtocol(const char *data) override
std::string generateSetBrightnessCommand(uint16_t value) const override
std::string generateCustomBrightnessCommand(int brightness, int customNumber) const override
std::string generateCloseCommand() const override
int getProtocolVersion() const override
std::string getProtocolName() const override
std::string generateSetClosePositionCommand(double value) const override
bool supportsFeature(const std::string &feature) const override
std::string generateSetOpenPositionCommand(double value) const override
std::string generateOpenCommand() const override
std::string generateTurnOffLightCommand() const override
bool parseDeviceData(const char *data, WandererCoverV4EC *device) override
std::string generateASIAIRControlCommand(bool enable) const override
std::string generateTurnOffLightCommand() const override
bool supportsFeature(const std::string &feature) const override
std::string generateASIAIRControlCommand(bool enable) const override
std::string getProtocolName() const override
bool parseDeviceData(const char *data, WandererCoverV4EC *device) override
bool detectProtocol(const char *data) override
std::string generateCloseCommand() const override
std::string generateSetBrightnessCommand(uint16_t value) const override
int getProtocolVersion() const override
std::string generateSetOpenPositionCommand(double value) const override
std::string generateCustomBrightnessCommand(int brightness, int customNumber) const override
std::string generateOpenCommand() const override
int getMinFirmwareVersion() const override
std::string generateSetClosePositionCommand(double value) const override
virtual bool initProperties() override
Initialize properties initial state and value. The child class must implement this function.
virtual IPState ParkCap() override
Park dust cap (close cover). Must be implemented by child.
virtual bool ISNewNumber(const char *dev, const char *name, double values[], char *names[], int n) override
Process the client newNumber command.
virtual bool updateProperties() override
updateProperties is called whenever there is a change in the CONNECTION status of the driver....
const char * getDefaultName() override
virtual void TimerHit() override
Callback function to be called once SetTimer duration elapses.
virtual bool SetLightBoxBrightness(uint16_t value) override
setBrightness Set light level. Must be implemented in the child class, if supported.
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 bool saveConfigItems(FILE *fp) override
saveConfigItems Save specific properties in the provide config file handler. Child class usually over...
virtual bool ISSnoopDevice(XMLEle *root) override
Process a snoop event from INDI server. This function is called when a snooped property is updated in...
virtual IPState UnParkCap() override
unPark dust cap (open cover). Must be implemented by child.
virtual ~WandererCoverV4ProEC()=default
virtual bool ISNewText(const char *dev, const char *name, char *texts[], char *names[], int n) override
Process the client newSwitch command.
virtual bool EnableLightBox(bool enable) override
EnableLightBox Turn on/off on a light box. Must be implemented in the child class.
virtual bool ISNewSwitch(const char *dev, const char *name, ISState *states, char *names[], int n) override
Process the client newSwitch command.
Combines all INDI Connection Plugins. Each INDI connection plugin is responsible of managing communic...
bool asiairControlEnabled