mirror of
https://github.com/esphome/esphome.git
synced 2026-02-08 00:31:58 +00:00
[opentherm] Fix ESP-IDF build by re-enabling legacy driver component (#13732)
This commit is contained in:
@@ -4,8 +4,10 @@ from typing import Any
|
|||||||
from esphome import automation, pins
|
from esphome import automation, pins
|
||||||
import esphome.codegen as cg
|
import esphome.codegen as cg
|
||||||
from esphome.components import sensor
|
from esphome.components import sensor
|
||||||
|
from esphome.components.esp32 import include_builtin_idf_component
|
||||||
import esphome.config_validation as cv
|
import esphome.config_validation as cv
|
||||||
from esphome.const import CONF_ID, CONF_TRIGGER_ID, PLATFORM_ESP32, PLATFORM_ESP8266
|
from esphome.const import CONF_ID, CONF_TRIGGER_ID, PLATFORM_ESP32, PLATFORM_ESP8266
|
||||||
|
from esphome.core import CORE
|
||||||
|
|
||||||
from . import const, generate, schema, validate
|
from . import const, generate, schema, validate
|
||||||
|
|
||||||
@@ -83,6 +85,12 @@ CONFIG_SCHEMA = cv.All(
|
|||||||
|
|
||||||
|
|
||||||
async def to_code(config: dict[str, Any]) -> None:
|
async def to_code(config: dict[str, Any]) -> None:
|
||||||
|
if CORE.is_esp32:
|
||||||
|
# Re-enable ESP-IDF's legacy driver component (excluded by default to save compile time)
|
||||||
|
# Provides driver/timer.h header for hardware timer API
|
||||||
|
# TODO: Remove this once opentherm migrates to GPTimer API (driver/gptimer.h)
|
||||||
|
include_builtin_idf_component("driver")
|
||||||
|
|
||||||
var = cg.new_Pvariable(config[CONF_ID])
|
var = cg.new_Pvariable(config[CONF_ID])
|
||||||
await cg.register_component(var, config)
|
await cg.register_component(var, config)
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,8 @@
|
|||||||
#include "opentherm.h"
|
#include "opentherm.h"
|
||||||
#include "esphome/core/helpers.h"
|
#include "esphome/core/helpers.h"
|
||||||
#include <cinttypes>
|
#include <cinttypes>
|
||||||
|
// TODO: Migrate from legacy timer API (driver/timer.h) to GPTimer API (driver/gptimer.h)
|
||||||
|
// The legacy timer API is deprecated in ESP-IDF 5.x. See opentherm.h for details.
|
||||||
#ifdef USE_ESP32
|
#ifdef USE_ESP32
|
||||||
#include "driver/timer.h"
|
#include "driver/timer.h"
|
||||||
#include "esp_err.h"
|
#include "esp_err.h"
|
||||||
|
|||||||
@@ -12,6 +12,10 @@
|
|||||||
#include "esphome/core/helpers.h"
|
#include "esphome/core/helpers.h"
|
||||||
#include "esphome/core/log.h"
|
#include "esphome/core/log.h"
|
||||||
|
|
||||||
|
// TODO: Migrate from legacy timer API (driver/timer.h) to GPTimer API (driver/gptimer.h)
|
||||||
|
// The legacy timer API is deprecated in ESP-IDF 5.x. Migration would allow removing the
|
||||||
|
// "driver" IDF component dependency. See:
|
||||||
|
// https://docs.espressif.com/projects/esp-idf/en/latest/esp32/migration-guides/release-5.x/5.0/peripherals.html#id4
|
||||||
#ifdef USE_ESP32
|
#ifdef USE_ESP32
|
||||||
#include "driver/timer.h"
|
#include "driver/timer.h"
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user