90 std::string
getProtocolName()
const override {
return "WandererCover V4-EC (Legacy < 20250404)"; }
115 std::string
getProtocolName()
const override {
return "WandererCover V4-EC (Modern >= 20250404)"; }
144 virtual bool ISNewNumber(
const char *dev,
const char *name,
double values[],
char *names[],
int n)
override;
145 virtual bool ISNewSwitch(
const char *dev,
const char *name,
ISState *states,
char *names[],
int n)
override;
146 virtual bool ISNewText(
const char *dev,
const char *name,
char *texts[],
char *names[],
int n)
override;
172 bool toggleCover(
bool open);
173 bool sendCommand(std::string command);
175 bool parseDeviceData(
const char *data);
176 double closesetread=0;
177 double opensetread=0;
178 double positionread=0;
179 double voltageread=0;
180 double dewheaterpowerread=0;
181 double asiaircontrolenabledread=0;
182 double flatpanelbrightnessread=0;
183 bool setDewPWM(
int id,
int value);
184 bool setClose(
double value);
185 bool setOpen(
double value);
186 void updateData(
double closesetread,
double opensetread,
double positionread,
double voltageread,
double flatpanelbrightnessread,
double dewheaterpowerread,
double asiaircontrolenabledread);
189 bool detectProtocol();
190 void setProtocol(std::unique_ptr<IWandererCoverProtocol> protocol);
194 std::unique_ptr<IWandererCoverProtocol> currentProtocol;
207 flat_panel_brightness_read,
208 dew_heater_power_read,
209 asiair_control_enabled_read,
266 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 generateAutoDetectOpenPositionCommand() const =0
virtual std::string generateASIAIRControlCommand(bool enable) const =0
virtual ~IWandererCoverProtocol()=default
virtual std::string generateDewHeaterCommand(int value) const =0
virtual std::string generateCloseCommand() const =0
virtual std::string generateAutoDetectClosePositionCommand() const =0
virtual std::string generateOpenCommand() const =0
virtual bool parseDeviceData(const char *data, WandererCoverV4EC *device)=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
std::string generateAutoDetectClosePositionCommand() const override
bool supportsFeature(const std::string &feature) const override
std::string generateSetOpenPositionCommand(double value) const override
std::string generateOpenCommand() const override
std::string generateDewHeaterCommand(int value) const override
std::string generateTurnOffLightCommand() const override
bool parseDeviceData(const char *data, WandererCoverV4EC *device) override
std::string generateAutoDetectOpenPositionCommand() const override
std::string generateASIAIRControlCommand(bool enable) const override
std::string generateTurnOffLightCommand() const override
std::string generateAutoDetectOpenPositionCommand() 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 generateDewHeaterCommand(int value) const override
std::string generateAutoDetectClosePositionCommand() 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 IPState ParkCap() override
Park dust cap (close cover). Must be implemented by child.
const char * getDefaultName() override
virtual bool initProperties() override
Initialize properties initial state and value. The child class must implement this function.
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 bool ISNewText(const char *dev, const char *name, char *texts[], char *names[], int n) override
Process the client newSwitch command.
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....
virtual void TimerHit() override
Callback function to be called once SetTimer duration elapses.
virtual IPState UnParkCap() override
unPark dust cap (open cover). Must be implemented by child.
virtual bool EnableLightBox(bool enable) override
EnableLightBox Turn on/off on a light box. Must be implemented in the child class.
virtual ~WandererCoverV4EC()=default
virtual bool SetLightBoxBrightness(uint16_t value) override
setBrightness Set light level. Must be implemented in the child class, if supported.
virtual bool ISNewSwitch(const char *dev, const char *name, ISState *states, char *names[], int n) override
Process the client newSwitch command.
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...
Combines all INDI Connection Plugins. Each INDI connection plugin is responsible of managing communic...
bool asiairControlEnabled