mirror of
https://github.com/esphome/esphome.git
synced 2026-10-10 05:23:07 +00:00
[core] Use numeric scheduler ids instead of string names (2/5) (#20375)
This commit is contained in:
@@ -5,6 +5,8 @@ namespace esphome::cs5460a {
|
||||
|
||||
ESPHOME_LOG_TAG(TAG, "cs5460a");
|
||||
|
||||
static constexpr uint32_t STATUS_CHECK_TIMEOUT_ID = 0;
|
||||
|
||||
void CS5460AComponent::write_register_(enum CS5460ARegister addr, uint32_t value) {
|
||||
this->write_byte(CMD_WRITE | (addr << 1));
|
||||
this->write_byte(value >> 16);
|
||||
@@ -149,13 +151,13 @@ void CS5460AComponent::schedule_next_check_() {
|
||||
this->status_momentary_warning("warning", 1000);
|
||||
} else {
|
||||
ESP_LOGCONFIG(TAG, "Device officially stuck, resetting");
|
||||
this->cancel_timeout("status-check");
|
||||
this->cancel_timeout(STATUS_CHECK_TIMEOUT_ID);
|
||||
this->hw_init_();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
this->set_timeout("status-check", time_left, [this]() {
|
||||
this->set_timeout(STATUS_CHECK_TIMEOUT_ID, time_left, [this]() {
|
||||
if (!this->check_status_())
|
||||
this->schedule_next_check_();
|
||||
});
|
||||
|
||||
@@ -8,6 +8,8 @@ namespace esphome::ct_clamp {
|
||||
|
||||
ESPHOME_LOG_TAG(TAG, "ct_clamp");
|
||||
|
||||
static constexpr uint32_t READ_TIMEOUT_ID = 0;
|
||||
|
||||
void CTClampSensor::dump_config() {
|
||||
LOG_SENSOR("", "CT Clamp Sensor", this);
|
||||
ESP_LOGCONFIG(TAG, " Sample Duration: %.2fs", this->sample_duration_ / 1e3f);
|
||||
@@ -21,7 +23,7 @@ void CTClampSensor::update() {
|
||||
this->high_freq_.start();
|
||||
|
||||
// Set timeout for ending sampling phase
|
||||
this->set_timeout("read", this->sample_duration_, [this]() {
|
||||
this->set_timeout(READ_TIMEOUT_ID, this->sample_duration_, [this]() {
|
||||
this->is_sampling_ = false;
|
||||
this->high_freq_.stop();
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@ namespace esphome::current_based {
|
||||
|
||||
ESPHOME_LOG_TAG(TAG, "current_based.cover");
|
||||
|
||||
static constexpr uint32_t ROLLBACK_TIMEOUT_ID = 0;
|
||||
|
||||
using namespace esphome::cover;
|
||||
|
||||
CoverTraits CurrentBasedCover::get_traits() {
|
||||
@@ -73,7 +75,7 @@ void CurrentBasedCover::loop() {
|
||||
ESP_LOGD(TAG, "'%s' - Obstacle detected during opening.", this->name_.c_str());
|
||||
this->direction_idle_();
|
||||
if (this->obstacle_rollback_ != 0) {
|
||||
this->set_timeout("rollback", 300, [this]() {
|
||||
this->set_timeout(ROLLBACK_TIMEOUT_ID, 300, [this]() {
|
||||
ESP_LOGD(TAG, "'%s' - Rollback.", this->name_.c_str());
|
||||
this->target_position_ = clamp(this->position - this->obstacle_rollback_, 0.0F, 1.0F);
|
||||
this->start_direction_(COVER_OPERATION_CLOSING);
|
||||
@@ -94,7 +96,7 @@ void CurrentBasedCover::loop() {
|
||||
ESP_LOGD(TAG, "'%s' - Obstacle detected during closing.", this->name_.c_str());
|
||||
this->direction_idle_();
|
||||
if (this->obstacle_rollback_ != 0) {
|
||||
this->set_timeout("rollback", 300, [this]() {
|
||||
this->set_timeout(ROLLBACK_TIMEOUT_ID, 300, [this]() {
|
||||
ESP_LOGD(TAG, "'%s' - Rollback.", this->name_.c_str());
|
||||
this->target_position_ = clamp(this->position + this->obstacle_rollback_, 0.0F, 1.0F);
|
||||
this->start_direction_(COVER_OPERATION_OPENING);
|
||||
|
||||
@@ -6,6 +6,8 @@ namespace esphome::dps310 {
|
||||
|
||||
ESPHOME_LOG_TAG(TAG, "dps310");
|
||||
|
||||
static constexpr uint32_t READ_RETRY_TIMEOUT_ID = 0;
|
||||
|
||||
void DPS310Component::setup() {
|
||||
uint8_t coef_data_raw[DPS310_NUM_COEF_REGS];
|
||||
auto timer = DPS310_INIT_TIMEOUT;
|
||||
@@ -126,7 +128,7 @@ void DPS310Component::read_() {
|
||||
this->update_in_progress_ = false;
|
||||
this->status_clear_warning();
|
||||
} else {
|
||||
this->set_timeout("dps310", 10, [this]() { this->read_(); });
|
||||
this->set_timeout(READ_RETRY_TIMEOUT_ID, 10, [this]() { this->read_(); });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -14,6 +14,8 @@ namespace esphome::ens210 {
|
||||
|
||||
ESPHOME_LOG_TAG(TAG, "ens210");
|
||||
|
||||
static constexpr uint32_t DATA_TIMEOUT_ID = 0;
|
||||
|
||||
// ENS210 chip constants
|
||||
static const uint8_t ENS210_BOOTING_MS = 2; // Booting time in ms (also after reset, or going to high power)
|
||||
static const uint8_t ENS210_SINGLE_MEASURMENT_CONVERSION_TIME_MS =
|
||||
@@ -149,7 +151,7 @@ void ENS210Component::update() {
|
||||
return;
|
||||
}
|
||||
// Wait for measurement to complete
|
||||
this->set_timeout("data", uint32_t(ENS210_SINGLE_MEASURMENT_CONVERSION_TIME_MS), [this]() {
|
||||
this->set_timeout(DATA_TIMEOUT_ID, uint32_t(ENS210_SINGLE_MEASURMENT_CONVERSION_TIME_MS), [this]() {
|
||||
int temperature_data, temperature_status, humidity_data, humidity_status;
|
||||
uint8_t data[6];
|
||||
uint32_t h_val_data, t_val_data;
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
namespace esphome::gp2y1010au0f {
|
||||
|
||||
ESPHOME_LOG_TAG(TAG, "gp2y1010au0f");
|
||||
|
||||
static constexpr uint32_t READ_TIMEOUT_ID = 0;
|
||||
|
||||
static const float MIN_VOLTAGE = 0.0f;
|
||||
static const float MAX_VOLTAGE = 4.0f;
|
||||
|
||||
@@ -22,7 +25,7 @@ void GP2Y1010AU0FSensor::dump_config() {
|
||||
void GP2Y1010AU0FSensor::update() {
|
||||
is_sampling_ = true;
|
||||
|
||||
this->set_timeout("read", this->sample_duration_, [this]() {
|
||||
this->set_timeout(READ_TIMEOUT_ID, this->sample_duration_, [this]() {
|
||||
this->is_sampling_ = false;
|
||||
if (this->num_samples_ == 0)
|
||||
return;
|
||||
|
||||
@@ -8,6 +8,8 @@ namespace esphome::hdc302x {
|
||||
|
||||
ESPHOME_LOG_TAG(TAG, "hdc302x.sensor");
|
||||
|
||||
static constexpr uint32_t HEATER_OFF_TIMEOUT_ID = 0;
|
||||
|
||||
// Commands (per datasheet Table 7-4)
|
||||
static const uint8_t HDC302X_CMD_SOFT_RESET[2] = {0x30, 0xa2};
|
||||
static const uint8_t HDC302X_CMD_CLEAR_STATUS_REGISTER[2] = {0x30, 0x41};
|
||||
@@ -68,14 +70,14 @@ void HDC302XComponent::start_heater(uint16_t power, uint32_t duration_ms) {
|
||||
return;
|
||||
}
|
||||
this->heater_active_ = true;
|
||||
this->cancel_timeout("heater_off");
|
||||
this->cancel_timeout(HEATER_OFF_TIMEOUT_ID);
|
||||
if (duration_ms > 0) {
|
||||
this->set_timeout("heater_off", duration_ms, [this]() { this->stop_heater(); });
|
||||
this->set_timeout(HEATER_OFF_TIMEOUT_ID, duration_ms, [this]() { this->stop_heater(); });
|
||||
}
|
||||
}
|
||||
|
||||
void HDC302XComponent::stop_heater() {
|
||||
this->cancel_timeout("heater_off");
|
||||
this->cancel_timeout(HEATER_OFF_TIMEOUT_ID);
|
||||
if (!this->disable_heater_()) {
|
||||
ESP_LOGW(TAG, "Heater stop failed");
|
||||
}
|
||||
|
||||
@@ -9,6 +9,8 @@ namespace esphome::honeywell_hih_i2c {
|
||||
|
||||
ESPHOME_LOG_TAG(TAG, "honeywell_hih.i2c");
|
||||
|
||||
static constexpr uint32_t MEASUREMENT_TIMEOUT_ID = 0;
|
||||
|
||||
static const uint8_t REQUEST_CMD[1] = {0x00}; // Measurement Request Format
|
||||
static const uint16_t MAX_COUNT = 0x3FFE; // 2^14 - 2
|
||||
|
||||
@@ -68,13 +70,13 @@ void HoneywellHIComponent::update() {
|
||||
|
||||
this->start_measurement_();
|
||||
// The measurement cycle duration is typically 36.65 ms for temperature and humidity readings.
|
||||
this->set_timeout("meas_timeout", 100, [this] { this->measurement_timeout_(); });
|
||||
this->set_timeout(MEASUREMENT_TIMEOUT_ID, 100, [this] { this->measurement_timeout_(); });
|
||||
}
|
||||
|
||||
void HoneywellHIComponent::loop() {
|
||||
if (this->measurement_running_ && this->is_measurement_ready_()) {
|
||||
this->measurement_running_ = false;
|
||||
this->cancel_timeout("meas_timeout");
|
||||
this->cancel_timeout(MEASUREMENT_TIMEOUT_ID);
|
||||
this->read_sensor_data_();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,8 @@ static const uint8_t STATUS_MATH_SAT = 0;
|
||||
|
||||
ESPHOME_LOG_TAG(TAG, "honeywellabp2");
|
||||
|
||||
static constexpr uint32_t MEASUREMENT_TIMEOUT_ID = 0;
|
||||
|
||||
void HONEYWELLABP2Sensor::read_sensor_data() {
|
||||
if (this->read(raw_data_, 7) != i2c::ERROR_OK) {
|
||||
ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
|
||||
@@ -62,7 +64,7 @@ float HONEYWELLABP2Sensor::get_temperature() { return this->last_temperature_; }
|
||||
void HONEYWELLABP2Sensor::loop() {
|
||||
if (this->measurement_running_) {
|
||||
if (this->is_measurement_ready()) {
|
||||
this->cancel_timeout("meas_timeout");
|
||||
this->cancel_timeout(MEASUREMENT_TIMEOUT_ID);
|
||||
|
||||
this->read_sensor_data();
|
||||
if (pressure_sensor_ != nullptr) {
|
||||
@@ -79,7 +81,7 @@ void HONEYWELLABP2Sensor::update() {
|
||||
ESP_LOGV(TAG, "Update Honeywell ABP2 Sensor");
|
||||
|
||||
this->start_measurement();
|
||||
this->set_timeout("meas_timeout", 100, [this] { this->measurement_timeout(); });
|
||||
this->set_timeout(MEASUREMENT_TIMEOUT_ID, 100, [this] { this->measurement_timeout(); });
|
||||
}
|
||||
|
||||
void HONEYWELLABP2Sensor::dump_config() {
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
namespace esphome::hydreon_rgxx {
|
||||
|
||||
ESPHOME_LOG_TAG(TAG, "hydreon_rgxx.sensor");
|
||||
|
||||
static constexpr uint32_t REBOOT_INTERVAL_ID = 0;
|
||||
|
||||
static const int MAX_DATA_LENGTH_BYTES = 80;
|
||||
static const uint8_t ASCII_LF = 0x0A;
|
||||
#define HYDREON_RGXX_COMMA ,
|
||||
@@ -138,7 +141,7 @@ void HydreonRGxxComponent::loop() {
|
||||
*/
|
||||
void HydreonRGxxComponent::schedule_reboot_() {
|
||||
this->boot_count_ = 0;
|
||||
this->set_interval("reboot", 5000, [this]() {
|
||||
this->set_interval(REBOOT_INTERVAL_ID, 5000, [this]() {
|
||||
if (this->boot_count_ < 0) {
|
||||
ESP_LOGW(TAG, "hydreon_rgxx failed to boot %d times", -this->boot_count_);
|
||||
}
|
||||
@@ -188,7 +191,7 @@ void HydreonRGxxComponent::process_line_() {
|
||||
} else {
|
||||
this->boot_count_++;
|
||||
}
|
||||
this->cancel_interval("reboot");
|
||||
this->cancel_interval(REBOOT_INTERVAL_ID);
|
||||
this->no_response_count_ = 0;
|
||||
ESP_LOGI(TAG, "Boot detected: %s", this->buffer_.substr(0, this->buffer_.size() - 2).c_str());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user