53 virtual bool SetPowerPort(
size_t port,
bool enabled)
override;
54 virtual bool SetDewPort(
size_t port,
bool enabled,
double dutyCycle)
override;
55 virtual bool SetVariablePort(
size_t port,
bool enabled,
double voltage)
override;
60 virtual bool ISNewSwitch(
const char *dev,
const char *name,
ISState *states,
char *names[],
int n)
override;
61 virtual bool ISNewNumber(
const char *dev,
const char *name,
double values[],
char *names[],
int n)
override;
62 virtual bool ISNewText(
const char *dev,
const char *name,
char *texts[],
char *names[],
int n)
override;
68 bool setupComplete {
false};
78 bool tty_set_speed(speed_t speed);
79 void hex_dump(
char *buf,
AUXBuffer data,
size_t size);
80 int aux_tty_read(
char *buf,
int bufsiz,
int timeout,
int *n);
81 int aux_tty_write(
char *buf,
int bufsiz,
int *n);
84 bool getDewPowerControllerVersion();
85 bool getNumberOfPorts();
87 bool getPortInfo(uint8_t portNumber);
88 bool getDewHeaterPortInfo(uint8_t portNumber);
89 bool setPortEnabled(uint8_t portNumber,
bool enabled);
90 bool setPortVoltage(uint8_t portNumber, uint16_t voltage_mV);
91 bool setDewHeaterAuto(uint8_t portNumber, uint8_t mode, uint8_t temp_C);
92 bool setDewHeaterManual(uint8_t portNumber, uint8_t powerLevel);
93 bool setLEDBrightness(uint8_t brightness);
104 POWER_STATUS_OVERCURRENT,
105 POWER_STATUS_UNDERVOLTAGE,
106 POWER_STATUS_OVERVOLTAGE
111 std::vector<AUXBuffer> lastPortInfoData;
112 std::vector<AUXBuffer> lastDewHeaterPortInfoData;
115 std::vector<uint8_t> m_PortTypes;
116 uint8_t m_NumPorts {0};
117 uint8_t m_NumDCPorts {0};
118 uint8_t m_NumDewPorts {0};
119 uint8_t m_NumVariablePorts {0};
120 uint8_t m_NumUSBPorts {0};
128 static constexpr uint8_t READ_TIMEOUT {1};
std::vector< uint8_t > AUXBuffer
virtual bool updateProperties() override
updateProperties is called whenever there is a change in the CONNECTION status of the driver....
virtual bool SetVariablePort(size_t port, bool enabled, double voltage) override
SetVariablePort Set variable voltage port.
virtual bool saveConfigItems(FILE *fp) override
saveConfigItems Save specific properties in the provide config file handler. Child class usually over...
virtual bool ISNewSwitch(const char *dev, const char *name, ISState *states, char *names[], int n) override
Process the client newSwitch command.
virtual bool SetAutoDewEnabled(size_t port, bool enabled) override
SetAutoDewEnabled Enable/disable automatic dew control.
virtual bool ISNewNumber(const char *dev, const char *name, double values[], char *names[], int n) override
Process the client newNumber command.
virtual bool SetLEDEnabled(bool enabled) override
SetLEDEnabled Enable/disable power LEDs.
virtual bool SetDewPort(size_t port, bool enabled, double dutyCycle) override
SetDewPort Set DEW/Dew port duty cycle.
virtual bool initProperties() override
Initialize properties initial state and value. The child class must implement this function.
virtual bool ISNewText(const char *dev, const char *name, char *texts[], char *names[], int n) override
Process the client newSwitch command.
virtual const char * getDefaultName() override
virtual void TimerHit() override
Callback function to be called once SetTimer duration elapses.
virtual IPState updateWeather() override
updateWeather Update weather conditions from device or service. The function should not change the st...
virtual bool SetPowerPort(size_t port, bool enabled) override
SetPowerPort Set power port on/off.
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...
Provides interface to implement weather reporting and safety monitoring functionality.