integrate IRBlaster into climate card

This commit is contained in:
Siwat Sirichai 2024-01-10 19:43:07 +07:00
parent 618f0b51e8
commit 81aa0c64f9
6 changed files with 60 additions and 50 deletions

View file

@ -1,14 +1,12 @@
#pragma once
#include <ExpansionCard.hpp>
#include <driver/rmt.h>
#include <IRBlaster.hpp>
#include <FRAM.h>
#include <OneWire.h>
#include <DS18B20.h>
#include <dhtnew.h>
#include <map>
#define RMT_TX_CHANNEL RMT_CHANNEL_0
#define CARD_TYPE_CLIMATE 0x03
#define AC_SENSOR_TYPE_NONE 0x00
@ -65,8 +63,8 @@ struct AirConditioner {
*/
class ClimateCard : public ExpansionCard {
public:
ClimateCard(uint8_t ir_pin, AirConditioner ac, uint8_t sensor_type, uint8_t sensor_pin);
ClimateCard(uint8_t ir_pin, AirConditioner ac);
ClimateCard(uint8_t ir_pin, AirConditioner ac, uint8_t sensor_type, uint8_t sensor_pin, rmt_channel_t channel);
ClimateCard(uint8_t ir_pin, AirConditioner ac, rmt_channel_t channel);
~ClimateCard();
bool begin();
void loop();
@ -107,6 +105,7 @@ class ClimateCard : public ExpansionCard {
void updateAirConditioner();
// IR variables
uint8_t ir_pin;
IRBlaster ir_blaster;
// Air conditioner variables
AirConditioner ac;
ClimateCardData state;