8namespace remote_transmitter {
10static const char *
const TAG =
"remote_transmitter";
19 "Remote Transmitter:\n"
20 " Carrier Duty: %u%%",
22 LOG_PIN(
" Pin: ", this->
pin_);
26 uint32_t *off_time_period) {
27 if (carrier_frequency == 0) {
32 uint32_t period = (1000000UL + carrier_frequency / 2) / carrier_frequency;
33 period = std::max(uint32_t(1), period);
35 *off_time_period = period - *on_time_period;
39 const uint32_t current_time =
micros();
79 ESP_LOGD(TAG,
"Sending remote code");
80 uint32_t on_time, off_time;
84 for (uint32_t i = 0; i < send_times; i++) {
88 const auto length = uint32_t(item);
91 const auto length = uint32_t(-item);
99 if (i + 1 < send_times)
void feed_wdt(uint32_t time=0)
virtual void digital_write(bool value)=0
void trigger(Ts... x)
Inform the parent automation that the event has triggered.
uint32_t get_carrier_frequency() const
const RawTimings & get_data() const
RemoteTransmitData temp_
Use same vector for all transmits, avoids many allocations.
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)
void mark_(uint32_t on_time, uint32_t off_time, uint32_t usec)
Trigger * complete_trigger_
void space_(uint32_t usec)
Trigger * transmit_trigger_
void await_target_time_()
uint8_t carrier_duty_percent_
void dump_config() override
Providing packet encoding functions for exchanging data with a remote host.
uint32_t IRAM_ATTR HOT micros()
Application App
Global storage of Application pointer - only one Application can exist.