32#define MDCP_GET_LCD_STATE "5#"
33#define MDCP_GET_LCD_STATE_RESPONSE "5%d$"
34#define MDCP_LCD_DISABLE "{#"
35#define MDCP_LCD_ENABLE "}#"
36#define MDCP_GET_LCD_DISPLAY_TIME "H#"
37#define MDCP_GET_LCD_DISPLAY_TIME_RESPONSE "H%d$"
38#define MDCP_SET_LCD_DISPLAY_TIME "b%d#"
39#define MDCP_GET_TEMP_DISPLAY "h#"
40#define MDCP_GET_TEMP_DISPLAY_RESPONSE "h%d$"
41#define MDCP_LCD_DISPLAY_CELSIUS "c#"
42#define MDCP_LCD_DISPLAY_FAHRENHEIT "f#"
46#define MDCP_GET_VERSION "v#"
47#define MDCP_IDENTIFY_RESPONSE "v%u$"
48#define MDCP_SAVE_TO_EEPROM "w#"
49#define MDCP_RESET_EEPROM_TO_DEFAULT "r#"
50#define MDCP_GET_NUMBER_OF_PROBES "g#"
54#define MDCP_SET_TRACKING_MODE "a%1u#"
55#define MDCP_GET_TRACKING_MODE "T#"
56#define MDCP_GET_TRACKING_MODE_RESPONSE "T%d$"
57#define MDCP_GET_TRACKING_MODE_OFFSET "y#"
58#define MDCP_GET_TRACKING_MODE_OFFSET_RESPONSE "y%d$"
59#define MDCP_SET_TRACKING_MODE_OFFSET "3%d#"
63#define MDCP_GET_AMB_TEMP "A#"
64#define MDCP_GET_AMB_TEMP_REPSONSE "A%f$"
65#define MDCP_GET_AMB_TEMP_OFFSET "B#"
66#define MDCP_GET_AMB_TEMP_OFFSET_RESPONSE "B%d$"
67#define MDCP_SET_AMB_TEMP_OFFSET "e%1d#"
68#define MDCP_GET_REL_HUMIDITY "R#"
69#define MDCP_GET_REL_HUMIDITY_REPSONSE "R%f$"
70#define MDCP_GET_DEW_POINT "D#"
71#define MDCP_GET_DEW_POINT_RESPONSE "D%f$"
76#define MDCP_GET_PROBE_TEMPS "C#"
77#define MDCP_SET_TEMP_CH1_OFFSET "[%.1f#"
78#define MDCP_SET_TEMP_CH2_OFFSET "]%.1f#"
79#define MDCP_SET_TEMP_CH3_OFFSET "%%%.1f#"
80#define MDCP_CLEAR_TEMP_OFFSETS "&#"
81#define MDCP_GET_TEMP_OFFSETS "?#"
82#define MDCP_GET_TEMP_OFFSETS_RESPONSE "?%f#%f#%f$"
83#define MDCP_GET_TEMP_RESPONSE "C%f#%f#%f$"
87#define MDCP_GET_FAN_SPEED "F#"
88#define MDCP_SET_FAN_SPEED "s%d#"
89#define MDCP_GET_BOARD_TEMP "K#"
90#define MDCP_GET_BOARD_TEMP_RESPONSE "K%f$"
91#define MDCP_GET_FAN_ON_TEMP "J#"
92#define MDCP_GET_FAN_ON_TEMP_RESPONSE "J%d$"
93#define MDCP_GET_FAN_OFF_TEMP "L#"
94#define MDCP_GET_FAN_OFF_TEMP_RESPONSE "L%d$"
95#define MDCP_SET_FAN_ON_TEMP "N%d#"
96#define MDCP_SET_FAN_OFF_TEMP "M%d#"
97#define MDCP_GET_FAN_MODE "O#"
98#define MDCP_GET_FAN_MODE_RESPONSE "O%d$"
99#define MDCP_SET_FAN_MODE "I%d#"
103#define MDCP_BOOST_CH1 "1#"
104#define MDCP_BOOST_CH2 "2#"
105#define MDCP_CANCEL_BOOST "n#"
106#define MDCP_GET_CHANNEL_POWER "W#"
107#define MDCP_GET_CHANNEL_POWER_RESPONSE "W%d#%d#%d$"
108#define MDCP_GET_CH3_SETTINGS "E#"
109#define MDCP_GET_CH3_SETTINGS_RESPONSE "E%d$"
110#define MDCP_SET_CH3_SETTINGS "S%d#"
111#define MDCP_SET_CH3_MANUAL_POWER "G%d#"
113#define MDCP_RES_LEN 80
132 virtual bool ISNewNumber(
const char *dev,
const char *name,
double values[],
char *names[],
int n)
override;
133 virtual bool ISNewSwitch(
const char *dev,
const char *name,
ISState *states,
char *names[],
int n)
override;
137 virtual bool SetDewPort(
size_t port,
bool enabled,
double dutyCycle)
override;
142 bool sendCommand(
const char *
cmd,
char *response);
145 bool readMainValues();
146 bool readLCDDisplayValues();
147 bool readBoardFanValues();
148 bool readOffsetValues();
149 bool setOutputBoost(
unsigned int channel);
150 bool cancelOutputBoost();
151 bool setTempCalibrations(
float ch1,
float ch2,
float ch3,
int ambient);
152 bool setFanTempTrigger(
int tempOn,
int tempOff);
153 bool zeroTempCalibrations();
154 bool setInt(
int mode,
const char* mask,
const char* errMessage);
155 bool setChoice(
int testInt,
const char* positiveChoice,
const char* negativeChoice,
const char* errMessage);
166 DEW_STRAP_THREE_POWER
206 TEMP_PROBE_ONE_OFFSET,
207 TEMP_PROBE_TWO_OFFSET,
208 TEMP_PROBE_THREE_OFFSET,
209 AMBIENT_TEMP_PROBE_OFFSET
257 static constexpr const char *ENVIRONMENT_TAB {
"Environment"};
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.
virtual ~myDewControllerPro()=default
virtual bool updateProperties() override
updateProperties is called whenever there is a change in the CONNECTION status of the driver....
virtual const char * getDefaultName() override
virtual bool SetDewPort(size_t port, bool enabled, double dutyCycle) override
SetDewPort Set DEW/Dew port duty cycle.
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 Save specific properties in the provide config file handler. Child class usually over...
virtual void TimerHit() override
Callback function to be called once SetTimer duration elapses.
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 initProperties() override
Initialize properties initial state and value. The child class must implement this function.
Combines all INDI Connection Plugins. Each INDI connection plugin is responsible of managing communic...