9#include <soc/soc_caps.h>
11#include <driver/rmt_tx.h>
17#if defined(USE_ESP32) && SOC_RMT_SUPPORTED
18#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 5, 1)
38#if defined(USE_ESP32) && SOC_RMT_SUPPORTED
45 void setup()
override;
56#if defined(USE_ESP32) && SOC_RMT_SUPPORTED
66 void send_internal(uint32_t send_times, uint32_t send_wait)
override;
67#if defined(USE_ESP8266) || defined(USE_LIBRETINY) || defined(USE_RP2040) || (defined(USE_ESP32) && !SOC_RMT_SUPPORTED)
68 void calculate_on_off_time_(uint32_t carrier_frequency, uint32_t *on_time_period, uint32_t *off_time_period);
70 void mark_(uint32_t on_time, uint32_t off_time, uint32_t usec);
72 void space_(uint32_t usec);
78#if defined(USE_ESP32) && SOC_RMT_SUPPORTED
82#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 5, 1)
RemoteTransmitterBase(InternalGPIOPin *pin)
void send_internal(uint32_t send_times, uint32_t send_wait) override
void calculate_on_off_time_(uint32_t carrier_frequency, uint32_t *on_time_period, uint32_t *off_time_period)
float get_setup_priority() const override
Trigger complete_trigger_
void mark_(uint32_t on_time, uint32_t off_time, uint32_t usec)
void set_non_blocking(bool non_blocking)
Trigger * get_transmit_trigger()
uint32_t current_carrier_frequency_
void set_carrier_duty_percent(uint8_t carrier_duty_percent)
std::string error_string_
std::vector< rmt_symbol_half_t > rmt_temp_
void set_eot_level(bool eot_level)
Trigger transmit_trigger_
void space_(uint32_t usec)
RemoteTransmitterComponent(InternalGPIOPin *pin)
rmt_channel_handle_t channel_
std::vector< rmt_symbol_word_t > rmt_temp_
rmt_encoder_handle_t encoder_
void await_target_time_()
void digital_write(bool value)
Trigger * get_complete_trigger()
void set_with_dma(bool with_dma)
uint8_t carrier_duty_percent_
void dump_config() override
RemoteTransmitterComponentStore store_
const float DATA
For components that import data from directly connected sensors like DHT.