ESPHome  2023.5.5
remote_transmitter.h
Go to the documentation of this file.
1 #pragma once
2 
5 
6 #include <vector>
7 
8 namespace esphome {
9 namespace remote_transmitter {
10 
12  public Component
13 #ifdef USE_ESP32
14  ,
16 #endif
17 {
18  public:
20 
21  void setup() override;
22 
23  void dump_config() override;
24 
25  float get_setup_priority() const override { return setup_priority::DATA; }
26 
27  void set_carrier_duty_percent(uint8_t carrier_duty_percent) { this->carrier_duty_percent_ = carrier_duty_percent; }
28 
29  protected:
30  void send_internal(uint32_t send_times, uint32_t send_wait) override;
31 #ifdef USE_ESP8266
32  void calculate_on_off_time_(uint32_t carrier_frequency, uint32_t *on_time_period, uint32_t *off_time_period);
33 
34  void mark_(uint32_t on_time, uint32_t off_time, uint32_t usec);
35 
36  void space_(uint32_t usec);
37 
38  void await_target_time_();
39  uint32_t target_time_;
40 #endif
41 
42 #ifdef USE_ESP32
43  void configure_rmt_();
44 
45  uint32_t current_carrier_frequency_{UINT32_MAX};
46  bool initialized_{false};
47  std::vector<rmt_item32_t> rmt_temp_;
48  esp_err_t error_code_{ESP_OK};
49  bool inverted_{false};
50 #endif
51  uint8_t carrier_duty_percent_{50};
52 };
53 
54 } // namespace remote_transmitter
55 } // namespace esphome
const float DATA
For components that import data from directly connected sensors like DHT.
Definition: component.cpp:18
void calculate_on_off_time_(uint32_t carrier_frequency, uint32_t *on_time_period, uint32_t *off_time_period)
void set_carrier_duty_percent(uint8_t carrier_duty_percent)
void send_internal(uint32_t send_times, uint32_t send_wait) override
Definition: a4988.cpp:4
void mark_(uint32_t on_time, uint32_t off_time, uint32_t usec)