mirror of
https://github.com/esphome/esphome.git
synced 2026-10-14 10:12:52 +00:00
Seed the refresh gate with the interval it compares against
This commit is contained in:
@@ -101,8 +101,8 @@ void ESP32RMTLEDStripLightOutput::setup() {
|
||||
uint64_t frame_ticks = (uint64_t) bit_ticks * buffer_size * RMT_SYMBOLS_PER_BYTE + this->params_.reset.duration0 +
|
||||
this->params_.reset.duration1;
|
||||
this->frame_time_us_ = frame_ticks * 1000000 / resolution_hz + RESET_GAP_US;
|
||||
// Seed so the first frame is not deferred until uptime exceeds the frame time
|
||||
this->last_refresh_ = micros() - this->frame_time_us_;
|
||||
// Seed with the interval write_state() gates on, so the first frame is not deferred
|
||||
this->last_refresh_ = micros() - std::max(this->frame_time_us_, this->max_refresh_rate_);
|
||||
|
||||
rmt_tx_channel_config_t channel;
|
||||
memset(&channel, 0, sizeof(channel));
|
||||
|
||||
Reference in New Issue
Block a user