mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00:00 
			
		
		
		
	[core] Convert LOG_UPDATE_INTERVAL macro to function to reduce flash usage (#10636)
This commit is contained in:
		| @@ -493,7 +493,7 @@ void BedJetHub::dump_config() { | |||||||
|                 "  ble_client.app_id: %d\n" |                 "  ble_client.app_id: %d\n" | ||||||
|                 "  ble_client.conn_id: %d", |                 "  ble_client.conn_id: %d", | ||||||
|                 this->get_name().c_str(), this->parent()->app_id, this->parent()->get_conn_id()); |                 this->get_name().c_str(), this->parent()->app_id, this->parent()->get_conn_id()); | ||||||
|   LOG_UPDATE_INTERVAL(this) |   LOG_UPDATE_INTERVAL(this); | ||||||
|   ESP_LOGCONFIG(TAG, "  Child components (%d):", this->children_.size()); |   ESP_LOGCONFIG(TAG, "  Child components (%d):", this->children_.size()); | ||||||
|   for (auto *child : this->children_) { |   for (auto *child : this->children_) { | ||||||
|     ESP_LOGCONFIG(TAG, "    - %s", child->describe().c_str()); |     ESP_LOGCONFIG(TAG, "    - %s", child->describe().c_str()); | ||||||
|   | |||||||
| @@ -152,7 +152,7 @@ void CCS811Component::send_env_data_() { | |||||||
| void CCS811Component::dump_config() { | void CCS811Component::dump_config() { | ||||||
|   ESP_LOGCONFIG(TAG, "CCS811"); |   ESP_LOGCONFIG(TAG, "CCS811"); | ||||||
|   LOG_I2C_DEVICE(this) |   LOG_I2C_DEVICE(this) | ||||||
|   LOG_UPDATE_INTERVAL(this) |   LOG_UPDATE_INTERVAL(this); | ||||||
|   LOG_SENSOR("  ", "CO2 Sensor", this->co2_); |   LOG_SENSOR("  ", "CO2 Sensor", this->co2_); | ||||||
|   LOG_SENSOR("  ", "TVOC Sensor", this->tvoc_); |   LOG_SENSOR("  ", "TVOC Sensor", this->tvoc_); | ||||||
|   LOG_TEXT_SENSOR("  ", "Firmware Version Sensor", this->version_) |   LOG_TEXT_SENSOR("  ", "Firmware Version Sensor", this->version_) | ||||||
|   | |||||||
| @@ -57,7 +57,7 @@ void GroveGasMultichannelV2Component::update() { | |||||||
| void GroveGasMultichannelV2Component::dump_config() { | void GroveGasMultichannelV2Component::dump_config() { | ||||||
|   ESP_LOGCONFIG(TAG, "Grove Multichannel Gas Sensor V2"); |   ESP_LOGCONFIG(TAG, "Grove Multichannel Gas Sensor V2"); | ||||||
|   LOG_I2C_DEVICE(this) |   LOG_I2C_DEVICE(this) | ||||||
|   LOG_UPDATE_INTERVAL(this) |   LOG_UPDATE_INTERVAL(this); | ||||||
|   LOG_SENSOR("  ", "Nitrogen Dioxide", this->nitrogen_dioxide_sensor_); |   LOG_SENSOR("  ", "Nitrogen Dioxide", this->nitrogen_dioxide_sensor_); | ||||||
|   LOG_SENSOR("  ", "Ethanol", this->ethanol_sensor_); |   LOG_SENSOR("  ", "Ethanol", this->ethanol_sensor_); | ||||||
|   LOG_SENSOR("  ", "Carbon Monoxide", this->carbon_monoxide_sensor_); |   LOG_SENSOR("  ", "Carbon Monoxide", this->carbon_monoxide_sensor_); | ||||||
|   | |||||||
| @@ -42,7 +42,7 @@ void HLW8012Component::dump_config() { | |||||||
|                 "  Current resistor: %.1f mΩ\n" |                 "  Current resistor: %.1f mΩ\n" | ||||||
|                 "  Voltage Divider: %.1f", |                 "  Voltage Divider: %.1f", | ||||||
|                 this->change_mode_every_, this->current_resistor_ * 1000.0f, this->voltage_divider_); |                 this->change_mode_every_, this->current_resistor_ * 1000.0f, this->voltage_divider_); | ||||||
|   LOG_UPDATE_INTERVAL(this) |   LOG_UPDATE_INTERVAL(this); | ||||||
|   LOG_SENSOR("  ", "Voltage", this->voltage_sensor_); |   LOG_SENSOR("  ", "Voltage", this->voltage_sensor_); | ||||||
|   LOG_SENSOR("  ", "Current", this->current_sensor_); |   LOG_SENSOR("  ", "Current", this->current_sensor_); | ||||||
|   LOG_SENSOR("  ", "Power", this->power_sensor_); |   LOG_SENSOR("  ", "Power", this->power_sensor_); | ||||||
|   | |||||||
| @@ -18,7 +18,7 @@ void IRAM_ATTR PulseWidthSensorStore::gpio_intr(PulseWidthSensorStore *arg) { | |||||||
|  |  | ||||||
| void PulseWidthSensor::dump_config() { | void PulseWidthSensor::dump_config() { | ||||||
|   LOG_SENSOR("", "Pulse Width", this); |   LOG_SENSOR("", "Pulse Width", this); | ||||||
|   LOG_UPDATE_INTERVAL(this) |   LOG_UPDATE_INTERVAL(this); | ||||||
|   LOG_PIN("  Pin: ", this->pin_); |   LOG_PIN("  Pin: ", this->pin_); | ||||||
| } | } | ||||||
| void PulseWidthSensor::update() { | void PulseWidthSensor::update() { | ||||||
|   | |||||||
| @@ -104,7 +104,7 @@ void UFireECComponent::write_data_(uint8_t reg, float data) { | |||||||
| void UFireECComponent::dump_config() { | void UFireECComponent::dump_config() { | ||||||
|   ESP_LOGCONFIG(TAG, "uFire-EC"); |   ESP_LOGCONFIG(TAG, "uFire-EC"); | ||||||
|   LOG_I2C_DEVICE(this) |   LOG_I2C_DEVICE(this) | ||||||
|   LOG_UPDATE_INTERVAL(this) |   LOG_UPDATE_INTERVAL(this); | ||||||
|   LOG_SENSOR("  ", "EC Sensor", this->ec_sensor_); |   LOG_SENSOR("  ", "EC Sensor", this->ec_sensor_); | ||||||
|   LOG_SENSOR("  ", "Temperature Sensor", this->temperature_sensor_); |   LOG_SENSOR("  ", "Temperature Sensor", this->temperature_sensor_); | ||||||
|   LOG_SENSOR("  ", "Temperature Sensor external", this->temperature_sensor_external_); |   LOG_SENSOR("  ", "Temperature Sensor external", this->temperature_sensor_external_); | ||||||
|   | |||||||
| @@ -141,7 +141,7 @@ void UFireISEComponent::write_data_(uint8_t reg, float data) { | |||||||
| void UFireISEComponent::dump_config() { | void UFireISEComponent::dump_config() { | ||||||
|   ESP_LOGCONFIG(TAG, "uFire-ISE"); |   ESP_LOGCONFIG(TAG, "uFire-ISE"); | ||||||
|   LOG_I2C_DEVICE(this) |   LOG_I2C_DEVICE(this) | ||||||
|   LOG_UPDATE_INTERVAL(this) |   LOG_UPDATE_INTERVAL(this); | ||||||
|   LOG_SENSOR("  ", "PH Sensor", this->ph_sensor_); |   LOG_SENSOR("  ", "PH Sensor", this->ph_sensor_); | ||||||
|   LOG_SENSOR("  ", "Temperature Sensor", this->temperature_sensor_); |   LOG_SENSOR("  ", "Temperature Sensor", this->temperature_sensor_); | ||||||
|   LOG_SENSOR("  ", "Temperature Sensor external", this->temperature_sensor_external_); |   LOG_SENSOR("  ", "Temperature Sensor external", this->temperature_sensor_external_); | ||||||
|   | |||||||
| @@ -181,7 +181,7 @@ void WaveshareEPaper2P13InV3::dump_config() { | |||||||
|   LOG_PIN("  Reset Pin: ", this->reset_pin_) |   LOG_PIN("  Reset Pin: ", this->reset_pin_) | ||||||
|   LOG_PIN("  DC Pin: ", this->dc_pin_) |   LOG_PIN("  DC Pin: ", this->dc_pin_) | ||||||
|   LOG_PIN("  Busy Pin: ", this->busy_pin_) |   LOG_PIN("  Busy Pin: ", this->busy_pin_) | ||||||
|   LOG_UPDATE_INTERVAL(this) |   LOG_UPDATE_INTERVAL(this); | ||||||
| } | } | ||||||
|  |  | ||||||
| void WaveshareEPaper2P13InV3::set_full_update_every(uint32_t full_update_every) { | void WaveshareEPaper2P13InV3::set_full_update_every(uint32_t full_update_every) { | ||||||
|   | |||||||
| @@ -342,6 +342,18 @@ void Component::status_momentary_error(const std::string &name, uint32_t length) | |||||||
|   this->set_timeout(name, length, [this]() { this->status_clear_error(); }); |   this->set_timeout(name, length, [this]() { this->status_clear_error(); }); | ||||||
| } | } | ||||||
| void Component::dump_config() {} | void Component::dump_config() {} | ||||||
|  |  | ||||||
|  | // Function implementation of LOG_UPDATE_INTERVAL macro to reduce code size | ||||||
|  | void log_update_interval(const char *tag, PollingComponent *component) { | ||||||
|  |   uint32_t update_interval = component->get_update_interval(); | ||||||
|  |   if (update_interval == SCHEDULER_DONT_RUN) { | ||||||
|  |     ESP_LOGCONFIG(tag, "  Update Interval: never"); | ||||||
|  |   } else if (update_interval < 100) { | ||||||
|  |     ESP_LOGCONFIG(tag, "  Update Interval: %.3fs", update_interval / 1000.0f); | ||||||
|  |   } else { | ||||||
|  |     ESP_LOGCONFIG(tag, "  Update Interval: %.1fs", update_interval / 1000.0f); | ||||||
|  |   } | ||||||
|  | } | ||||||
| float Component::get_actual_setup_priority() const { | float Component::get_actual_setup_priority() const { | ||||||
|   // Check if there's an override in the global vector |   // Check if there's an override in the global vector | ||||||
|   if (setup_priority_overrides) { |   if (setup_priority_overrides) { | ||||||
|   | |||||||
| @@ -47,14 +47,13 @@ extern const float LATE; | |||||||
|  |  | ||||||
| static const uint32_t SCHEDULER_DONT_RUN = 4294967295UL; | static const uint32_t SCHEDULER_DONT_RUN = 4294967295UL; | ||||||
|  |  | ||||||
| #define LOG_UPDATE_INTERVAL(this) \ | // Forward declaration | ||||||
|   if (this->get_update_interval() == SCHEDULER_DONT_RUN) { \ | class PollingComponent; | ||||||
|     ESP_LOGCONFIG(TAG, "  Update Interval: never"); \ |  | ||||||
|   } else if (this->get_update_interval() < 100) { \ | // Function declaration for LOG_UPDATE_INTERVAL | ||||||
|     ESP_LOGCONFIG(TAG, "  Update Interval: %.3fs", this->get_update_interval() / 1000.0f); \ | void log_update_interval(const char *tag, PollingComponent *component); | ||||||
|   } else { \ |  | ||||||
|     ESP_LOGCONFIG(TAG, "  Update Interval: %.1fs", this->get_update_interval() / 1000.0f); \ | #define LOG_UPDATE_INTERVAL(this) log_update_interval(TAG, this) | ||||||
|   } |  | ||||||
|  |  | ||||||
| extern const uint8_t COMPONENT_STATE_MASK; | extern const uint8_t COMPONENT_STATE_MASK; | ||||||
| extern const uint8_t COMPONENT_STATE_CONSTRUCTION; | extern const uint8_t COMPONENT_STATE_CONSTRUCTION; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user