mirror of
https://github.com/esphome/esphome.git
synced 2026-09-17 18:18:43 +00:00
Merge branch 'api/peel-first-write-iteration' into integration
This commit is contained in:
@@ -214,4 +214,4 @@ async def to_code(config):
|
||||
cg.add_define("USE_AUDIO_MP3_SUPPORT")
|
||||
if data.opus_support:
|
||||
cg.add_define("USE_AUDIO_OPUS_SUPPORT")
|
||||
add_idf_component(name="esphome/micro-opus", ref="0.3.5")
|
||||
add_idf_component(name="esphome/micro-opus", ref="0.3.6")
|
||||
|
||||
@@ -226,6 +226,9 @@ async def to_code(configs):
|
||||
config_0 = configs[0]
|
||||
# Global configuration
|
||||
if CORE.is_esp32:
|
||||
# Skip compiling lvgl examples
|
||||
add_idf_sdkconfig_option("CONFIG_LV_BUILD_EXAMPLES", False)
|
||||
add_idf_sdkconfig_option("CONFIG_LV_BUILD_DEMOS", False)
|
||||
if get_esp32_variant() == VARIANT_ESP32P4:
|
||||
add_idf_sdkconfig_option("CONFIG_LV_DRAW_BUF_ALIGN", 64)
|
||||
# disable use of PPA for fills until upstream bugs fixed
|
||||
@@ -406,7 +409,10 @@ async def to_code(configs):
|
||||
lv_conf_h_file = CORE.relative_src_path(LV_CONF_FILENAME)
|
||||
write_file_if_changed(lv_conf_h_file, generate_lv_conf_h())
|
||||
cg.add_build_flag("-DLV_CONF_H=1")
|
||||
cg.add_build_flag(f'-DLV_CONF_PATH=\\"{LV_CONF_FILENAME}\\"')
|
||||
# handle windows paths in a way that doesn't break the generated C++
|
||||
lv_conf_h_path = Path(lv_conf_h_file).as_posix()
|
||||
cg.add_build_flag(f'-DLV_CONF_PATH=\\"{lv_conf_h_path}\\"')
|
||||
cg.add_build_flag("-DLV_KCONFIG_IGNORE")
|
||||
|
||||
for prop in df.get_remapped_uses():
|
||||
df.LOGGER.warning(
|
||||
|
||||
@@ -71,7 +71,7 @@ inline void lv_style_set_text_font(lv_style_t *style, const font::Font *font) {
|
||||
lv_style_set_text_font(style, font->get_lv_font());
|
||||
}
|
||||
#endif
|
||||
#ifdef USE_IMAGE
|
||||
#if defined(USE_LVGL_IMAGE) && defined(USE_IMAGE)
|
||||
// Shortcut / overload, so that the source of an image can easily be updated
|
||||
// from within a lambda.
|
||||
inline void lv_image_set_src(lv_obj_t *obj, esphome::image::Image *image) {
|
||||
|
||||
@@ -16,6 +16,7 @@ from ..lv_validation import lv_bool, lv_int, lv_text
|
||||
from ..schemas import TEXT_SCHEMA
|
||||
from ..types import LvText
|
||||
from . import Widget, WidgetType
|
||||
from .label import CONF_LABEL
|
||||
|
||||
CONF_TEXTAREA = "textarea"
|
||||
|
||||
@@ -46,6 +47,9 @@ class TextareaType(WidgetType):
|
||||
TEXTAREA_SCHEMA,
|
||||
)
|
||||
|
||||
def get_uses(self):
|
||||
return (CONF_LABEL,)
|
||||
|
||||
async def to_code(self, w: Widget, config: dict):
|
||||
for prop in (CONF_TEXT, CONF_PLACEHOLDER_TEXT, CONF_ACCEPTED_CHARS):
|
||||
if (value := config.get(prop)) is not None:
|
||||
|
||||
@@ -284,13 +284,23 @@ def validate_tz(value: str) -> str:
|
||||
tzfile = _load_tzdata(value)
|
||||
if tzfile is not None:
|
||||
value = _extract_tz_string(tzfile)
|
||||
is_iana = True
|
||||
else:
|
||||
is_iana = False
|
||||
|
||||
# Validate that the POSIX TZ string is parseable (skip empty strings)
|
||||
if value:
|
||||
try:
|
||||
parse_posix_tz_python(value)
|
||||
except ValueError as e:
|
||||
raise cv.Invalid(f"Invalid POSIX timezone string '{value}': {e}") from e
|
||||
if is_iana:
|
||||
raise cv.Invalid(f"Invalid POSIX timezone string '{value}': {e}") from e
|
||||
raise cv.Invalid(
|
||||
f"Invalid POSIX timezone string '{value}': {e}. "
|
||||
f"If you meant to use an IANA timezone, check the list of valid "
|
||||
f"timezones at "
|
||||
f"https://en.wikipedia.org/wiki/List_of_tz_database_time_zones"
|
||||
) from e
|
||||
|
||||
return value
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ dependencies:
|
||||
esphome/esp-audio-libs:
|
||||
version: 2.0.3
|
||||
esphome/micro-opus:
|
||||
version: 0.3.5
|
||||
version: 0.3.6
|
||||
espressif/esp-dsp:
|
||||
version: "1.7.1"
|
||||
espressif/esp-tflite-micro:
|
||||
|
||||
@@ -83,6 +83,7 @@ ISOLATED_COMPONENTS = {
|
||||
"openthread": "Conflicts with wifi: used by most components",
|
||||
"openthread_info": "Conflicts with wifi: used by most components",
|
||||
"matrix_keypad": "Needs isolation due to keypad",
|
||||
"microphone": "Defines PDM microphone requiring I2S port 0 - conflicts with micro_wake_word PDM mic when merged",
|
||||
"modbus_controller": "Defines multiple modbus buses for testing client/server functionality - conflicts with package modbus bus",
|
||||
"neopixelbus": "RMT type conflict with ESP32 Arduino/ESP-IDF headers (enum vs struct rmt_channel_t)",
|
||||
"packages": "cannot merge packages",
|
||||
|
||||
Reference in New Issue
Block a user