13static const uint8_t RF_MESSAGE_SIZE = 9;
14static const uint8_t RF_CODE_START = 0xAA;
15static const uint8_t RF_CODE_ACK = 0xA0;
16static const uint8_t RF_CODE_LEARN = 0xA1;
17static const uint8_t RF_CODE_LEARN_KO = 0xA2;
18static const uint8_t RF_CODE_LEARN_OK = 0xA3;
19static const uint8_t RF_CODE_RFIN = 0xA4;
20static const uint8_t RF_CODE_RFOUT = 0xA5;
21static const uint8_t RF_CODE_ADVANCED_RFIN = 0xA6;
22static const uint8_t RF_CODE_SNIFFING_ON = 0xA6;
23static const uint8_t RF_CODE_SNIFFING_OFF = 0xA7;
24static const uint8_t RF_CODE_RFOUT_NEW = 0xA8;
25static const uint8_t RF_CODE_LEARN_NEW = 0xA9;
26static const uint8_t RF_CODE_LEARN_KO_NEW = 0xAA;
27static const uint8_t RF_CODE_LEARN_OK_NEW = 0xAB;
28static const uint8_t RF_CODE_RFOUT_BUCKET = 0xB0;
29static const uint8_t RF_CODE_RFIN_BUCKET = 0xB1;
30static const uint8_t RF_CODE_BEEP = 0xC0;
31static const uint8_t RF_CODE_STOP = 0x55;
32static const uint8_t RF_DEBOUNCE = 200;
63 void send_raw(
const std::string &code);
64 void beep(uint16_t ms);
103 data.
sync = this->sync_.value(
x...);
104 data.low = this->low_.value(
x...);
105 data.high = this->high_.value(
x...);
106 data.code = this->code_.value(
x...);
107 this->parent_->send_code(data);
123 data.
length = this->length_.value(
x...);
124 data.protocol = this->protocol_.value(
x...);
125 data.code = this->code_.value(
x...);
126 this->parent_->send_advanced_code(data);
virtual void play(Ts... x)=0
RFBridgeBeepAction(RFBridgeComponent *parent)
TEMPLATABLE_VALUE(uint16_t, duration) void play(Ts... x)
RFBridgeComponent * parent_
void send_raw(const std::string &code)
uint32_t last_bridge_byte_
CallbackManager< void(RFBridgeAdvancedData)> advanced_data_callback_
void send_advanced_code(const RFBridgeAdvancedData &data)
void start_bucket_sniffing()
void start_advanced_sniffing()
CallbackManager< void(RFBridgeData)> data_callback_
void write_byte_str_(const std::string &codes)
void dump_config() override
void add_on_advanced_code_received_callback(std::function< void(RFBridgeAdvancedData)> callback)
void add_on_code_received_callback(std::function< void(RFBridgeData)> callback)
void stop_advanced_sniffing()
bool parse_bridge_byte_(uint8_t byte)
void send_code(RFBridgeData data)
std::vector< uint8_t > rx_buffer_
RFBridgeLearnAction(RFBridgeComponent *parent)
RFBridgeComponent * parent_
RFBridgeReceivedAdvancedCodeTrigger(RFBridgeComponent *parent)
RFBridgeReceivedCodeTrigger(RFBridgeComponent *parent)
RFBridgeSendAdvancedCodeAction(RFBridgeComponent *parent)
RFBridgeComponent * parent_
TEMPLATABLE_VALUE(uint8_t, length) TEMPLATABLE_VALUE(uint8_t
low code void play(Ts... x)
TEMPLATABLE_VALUE(uint16_t, sync) TEMPLATABLE_VALUE(uint16_t
RFBridgeComponent * parent_
RFBridgeSendCodeAction(RFBridgeComponent *parent)
RFBridgeComponent * parent_
TEMPLATABLE_VALUE(std::string, raw) void play(Ts... x)
RFBridgeSendRawAction(RFBridgeComponent *parent)
RFBridgeStartAdvancedSniffingAction(RFBridgeComponent *parent)
RFBridgeComponent * parent_
RFBridgeStartBucketSniffingAction(RFBridgeComponent *parent)
RFBridgeComponent * parent_
RFBridgeStopAdvancedSniffingAction(RFBridgeComponent *parent)
RFBridgeComponent * parent_
Providing packet encoding functions for exchanging data with a remote host.