mirror of
https://github.com/esphome/esphome.git
synced 2024-12-22 13:34:54 +01:00
commit
1a9f66e630
4 changed files with 53 additions and 11 deletions
|
@ -68,7 +68,7 @@ ENV \
|
||||||
# See: https://unix.stackexchange.com/questions/553743/correct-way-to-add-lib-ld-linux-so-3-in-debian
|
# See: https://unix.stackexchange.com/questions/553743/correct-way-to-add-lib-ld-linux-so-3-in-debian
|
||||||
RUN \
|
RUN \
|
||||||
if [ "$TARGETARCH$TARGETVARIANT" = "armv7" ]; then \
|
if [ "$TARGETARCH$TARGETVARIANT" = "armv7" ]; then \
|
||||||
ln -s /lib/arm-linux-gnueabihf/ld-linux.so.3 /lib/ld-linux.so.3; \
|
ln -s /lib/arm-linux-gnueabihf/ld-linux-armhf.so.3 /lib/ld-linux.so.3; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
|
|
|
@ -3,23 +3,26 @@ from typing import Union, Optional
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
import esphome.final_validate as fv
|
||||||
|
|
||||||
from esphome.helpers import copy_file_if_changed, write_file_if_changed, mkdir_p
|
from esphome.helpers import copy_file_if_changed, write_file_if_changed, mkdir_p
|
||||||
from esphome.const import (
|
from esphome.const import (
|
||||||
|
CONF_ADVANCED,
|
||||||
CONF_BOARD,
|
CONF_BOARD,
|
||||||
CONF_COMPONENTS,
|
CONF_COMPONENTS,
|
||||||
|
CONF_ESPHOME,
|
||||||
CONF_FRAMEWORK,
|
CONF_FRAMEWORK,
|
||||||
|
CONF_IGNORE_EFUSE_MAC_CRC,
|
||||||
CONF_NAME,
|
CONF_NAME,
|
||||||
|
CONF_PATH,
|
||||||
|
CONF_PLATFORMIO_OPTIONS,
|
||||||
|
CONF_REF,
|
||||||
|
CONF_REFRESH,
|
||||||
CONF_SOURCE,
|
CONF_SOURCE,
|
||||||
CONF_TYPE,
|
CONF_TYPE,
|
||||||
|
CONF_URL,
|
||||||
CONF_VARIANT,
|
CONF_VARIANT,
|
||||||
CONF_VERSION,
|
CONF_VERSION,
|
||||||
CONF_ADVANCED,
|
|
||||||
CONF_REFRESH,
|
|
||||||
CONF_PATH,
|
|
||||||
CONF_URL,
|
|
||||||
CONF_REF,
|
|
||||||
CONF_IGNORE_EFUSE_MAC_CRC,
|
|
||||||
KEY_CORE,
|
KEY_CORE,
|
||||||
KEY_FRAMEWORK_VERSION,
|
KEY_FRAMEWORK_VERSION,
|
||||||
KEY_NAME,
|
KEY_NAME,
|
||||||
|
@ -327,6 +330,32 @@ def _detect_variant(value):
|
||||||
return value
|
return value
|
||||||
|
|
||||||
|
|
||||||
|
def final_validate(config):
|
||||||
|
if CONF_PLATFORMIO_OPTIONS not in fv.full_config.get()[CONF_ESPHOME]:
|
||||||
|
return config
|
||||||
|
|
||||||
|
pio_flash_size_key = "board_upload.flash_size"
|
||||||
|
pio_partitions_key = "board_build.partitions"
|
||||||
|
if (
|
||||||
|
CONF_PARTITIONS in config
|
||||||
|
and pio_partitions_key
|
||||||
|
in fv.full_config.get()[CONF_ESPHOME][CONF_PLATFORMIO_OPTIONS]
|
||||||
|
):
|
||||||
|
raise cv.Invalid(
|
||||||
|
f"Do not specify '{pio_partitions_key}' in '{CONF_PLATFORMIO_OPTIONS}' with '{CONF_PARTITIONS}' in esp32"
|
||||||
|
)
|
||||||
|
|
||||||
|
if (
|
||||||
|
pio_flash_size_key
|
||||||
|
in fv.full_config.get()[CONF_ESPHOME][CONF_PLATFORMIO_OPTIONS]
|
||||||
|
):
|
||||||
|
raise cv.Invalid(
|
||||||
|
f"Please specify {CONF_FLASH_SIZE} within esp32 configuration only"
|
||||||
|
)
|
||||||
|
|
||||||
|
return config
|
||||||
|
|
||||||
|
|
||||||
CONF_PLATFORM_VERSION = "platform_version"
|
CONF_PLATFORM_VERSION = "platform_version"
|
||||||
|
|
||||||
ARDUINO_FRAMEWORK_SCHEMA = cv.All(
|
ARDUINO_FRAMEWORK_SCHEMA = cv.All(
|
||||||
|
@ -387,6 +416,7 @@ FRAMEWORK_SCHEMA = cv.typed_schema(
|
||||||
|
|
||||||
|
|
||||||
FLASH_SIZES = [
|
FLASH_SIZES = [
|
||||||
|
"2MB",
|
||||||
"4MB",
|
"4MB",
|
||||||
"8MB",
|
"8MB",
|
||||||
"16MB",
|
"16MB",
|
||||||
|
@ -394,6 +424,7 @@ FLASH_SIZES = [
|
||||||
]
|
]
|
||||||
|
|
||||||
CONF_FLASH_SIZE = "flash_size"
|
CONF_FLASH_SIZE = "flash_size"
|
||||||
|
CONF_PARTITIONS = "partitions"
|
||||||
CONFIG_SCHEMA = cv.All(
|
CONFIG_SCHEMA = cv.All(
|
||||||
cv.Schema(
|
cv.Schema(
|
||||||
{
|
{
|
||||||
|
@ -401,6 +432,7 @@ CONFIG_SCHEMA = cv.All(
|
||||||
cv.Optional(CONF_FLASH_SIZE, default="4MB"): cv.one_of(
|
cv.Optional(CONF_FLASH_SIZE, default="4MB"): cv.one_of(
|
||||||
*FLASH_SIZES, upper=True
|
*FLASH_SIZES, upper=True
|
||||||
),
|
),
|
||||||
|
cv.Optional(CONF_PARTITIONS): cv.file_,
|
||||||
cv.Optional(CONF_VARIANT): cv.one_of(*VARIANTS, upper=True),
|
cv.Optional(CONF_VARIANT): cv.one_of(*VARIANTS, upper=True),
|
||||||
cv.Optional(CONF_FRAMEWORK, default={}): FRAMEWORK_SCHEMA,
|
cv.Optional(CONF_FRAMEWORK, default={}): FRAMEWORK_SCHEMA,
|
||||||
}
|
}
|
||||||
|
@ -410,6 +442,9 @@ CONFIG_SCHEMA = cv.All(
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
FINAL_VALIDATE_SCHEMA = cv.Schema(final_validate)
|
||||||
|
|
||||||
|
|
||||||
async def to_code(config):
|
async def to_code(config):
|
||||||
cg.add_platformio_option("board", config[CONF_BOARD])
|
cg.add_platformio_option("board", config[CONF_BOARD])
|
||||||
cg.add_platformio_option("board_upload.flash_size", config[CONF_FLASH_SIZE])
|
cg.add_platformio_option("board_upload.flash_size", config[CONF_FLASH_SIZE])
|
||||||
|
@ -462,6 +497,9 @@ async def to_code(config):
|
||||||
add_idf_sdkconfig_option("CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0", False)
|
add_idf_sdkconfig_option("CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0", False)
|
||||||
add_idf_sdkconfig_option("CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1", False)
|
add_idf_sdkconfig_option("CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1", False)
|
||||||
|
|
||||||
|
if CONF_PARTITIONS in config:
|
||||||
|
cg.add_platformio_option("board_build.partitions", config[CONF_PARTITIONS])
|
||||||
|
else:
|
||||||
cg.add_platformio_option("board_build.partitions", "partitions.csv")
|
cg.add_platformio_option("board_build.partitions", "partitions.csv")
|
||||||
|
|
||||||
for name, value in conf[CONF_SDKCONFIG_OPTIONS].items():
|
for name, value in conf[CONF_SDKCONFIG_OPTIONS].items():
|
||||||
|
@ -507,6 +545,9 @@ async def to_code(config):
|
||||||
[f"platformio/framework-arduinoespressif32@{conf[CONF_SOURCE]}"],
|
[f"platformio/framework-arduinoespressif32@{conf[CONF_SOURCE]}"],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if CONF_PARTITIONS in config:
|
||||||
|
cg.add_platformio_option("board_build.partitions", config[CONF_PARTITIONS])
|
||||||
|
else:
|
||||||
cg.add_platformio_option("board_build.partitions", "partitions.csv")
|
cg.add_platformio_option("board_build.partitions", "partitions.csv")
|
||||||
|
|
||||||
cg.add_define(
|
cg.add_define(
|
||||||
|
@ -518,6 +559,7 @@ async def to_code(config):
|
||||||
|
|
||||||
|
|
||||||
APP_PARTITION_SIZES = {
|
APP_PARTITION_SIZES = {
|
||||||
|
"2MB": 0x0C0000, # 768 KB
|
||||||
"4MB": 0x1C0000, # 1792 KB
|
"4MB": 0x1C0000, # 1792 KB
|
||||||
"8MB": 0x3C0000, # 3840 KB
|
"8MB": 0x3C0000, # 3840 KB
|
||||||
"16MB": 0x7C0000, # 7936 KB
|
"16MB": 0x7C0000, # 7936 KB
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
"""Constants used by esphome."""
|
"""Constants used by esphome."""
|
||||||
|
|
||||||
__version__ = "2023.11.1"
|
__version__ = "2023.11.2"
|
||||||
|
|
||||||
ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_"
|
ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_"
|
||||||
VALID_SUBSTITUTIONS_CHARACTERS = (
|
VALID_SUBSTITUTIONS_CHARACTERS = (
|
||||||
|
|
|
@ -10,7 +10,7 @@ platformio==6.1.11 # When updating platformio, also update Dockerfile
|
||||||
esptool==4.6.2
|
esptool==4.6.2
|
||||||
click==8.1.7
|
click==8.1.7
|
||||||
esphome-dashboard==20231107.0
|
esphome-dashboard==20231107.0
|
||||||
aioesphomeapi==18.4.0
|
aioesphomeapi==18.5.2
|
||||||
zeroconf==0.123.0
|
zeroconf==0.123.0
|
||||||
|
|
||||||
# esp-idf requires this, but doesn't bundle it by default
|
# esp-idf requires this, but doesn't bundle it by default
|
||||||
|
|
Loading…
Reference in a new issue