climate display implementation
This commit is contained in:
parent
2d0d38ecf3
commit
ea2c2e076b
14 changed files with 213 additions and 342 deletions
|
@ -28,19 +28,22 @@ struct AirConditioner {
|
|||
uint8_t max_temperature;
|
||||
uint8_t min_temperature;
|
||||
uint8_t modes;
|
||||
char **mode_names;
|
||||
const char **mode_names;
|
||||
uint8_t fan_speeds;
|
||||
char **fan_speed_names;
|
||||
uint16_t ****infraredCodes;
|
||||
const char **fan_speed_names;
|
||||
// function to get IR code
|
||||
// takes 3 arguments: mode, fan speed, temperature, all uint8_t
|
||||
// return size of IR code array
|
||||
size_t (*getInfraredCode)(uint8_t, uint8_t, uint8_t, const uint16_t**);
|
||||
};
|
||||
// This requires 3 bytes of FRAM
|
||||
|
||||
class ClimateCard : public ExpansionCard {
|
||||
public:
|
||||
ClimateCard(uint8_t ir_pin);
|
||||
ClimateCard(uint8_t ir_pin, AirConditioner ac, uint8_t sensor_type, uint8_t sensor_pin);
|
||||
ClimateCard(uint8_t ir_pin, AirConditioner ac);
|
||||
~ClimateCard();
|
||||
bool begin(AirConditioner ac, uint8_t sensor_type, uint8_t sensor_pin);
|
||||
bool begin(AirConditioner ac);
|
||||
bool begin();
|
||||
void loop();
|
||||
void bindFRAM(FRAM *fram, uint16_t fram_address);
|
||||
void setFRAMAutoSave(bool autoSave);
|
||||
|
@ -83,4 +86,5 @@ class ClimateCard : public ExpansionCard {
|
|||
FRAM *fram;
|
||||
uint8_t fram_address;
|
||||
bool fram_auto_save;
|
||||
uint16_t* getIrIndex(uint8_t mode, uint8_t fan_speed, uint8_t temperature);
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue