mirror of
https://github.com/esphome/esphome.git
synced 2024-12-23 14:04:53 +01:00
commit
9b72a3a584
9 changed files with 198 additions and 14 deletions
|
@ -50,7 +50,7 @@ RUN \
|
||||||
libssl-dev=3.0.11-1~deb12u2 \
|
libssl-dev=3.0.11-1~deb12u2 \
|
||||||
libffi-dev=3.4.4-1 \
|
libffi-dev=3.4.4-1 \
|
||||||
libopenjp2-7=2.5.0-2 \
|
libopenjp2-7=2.5.0-2 \
|
||||||
libtiff6=4.5.0-6 \
|
libtiff6=4.5.0-6+deb12u1 \
|
||||||
cargo=0.66.0+ds1-1 \
|
cargo=0.66.0+ds1-1 \
|
||||||
pkg-config=1.8.1-1 \
|
pkg-config=1.8.1-1 \
|
||||||
gcc-arm-linux-gnueabihf=4:12.2.0-3; \
|
gcc-arm-linux-gnueabihf=4:12.2.0-3; \
|
||||||
|
|
|
@ -133,6 +133,10 @@ ESP32_BOARD_PINS = {
|
||||||
"BUTTON": 0,
|
"BUTTON": 0,
|
||||||
"SWITCH": 0,
|
"SWITCH": 0,
|
||||||
},
|
},
|
||||||
|
"airm2m_core_esp32c3": {
|
||||||
|
"LED1_BUILTIN": 12,
|
||||||
|
"LED2_BUILTIN": 13,
|
||||||
|
},
|
||||||
"alksesp32": {
|
"alksesp32": {
|
||||||
"A0": 32,
|
"A0": 32,
|
||||||
"A1": 33,
|
"A1": 33,
|
||||||
|
|
|
@ -172,7 +172,9 @@ CONFIG_SCHEMA = cv.All(
|
||||||
esp8266=UART0,
|
esp8266=UART0,
|
||||||
esp32=UART0,
|
esp32=UART0,
|
||||||
esp32_s2=USB_CDC,
|
esp32_s2=USB_CDC,
|
||||||
esp32_s3=USB_CDC,
|
esp32_s3_idf=USB_SERIAL_JTAG,
|
||||||
|
esp32_c3_idf=USB_SERIAL_JTAG,
|
||||||
|
esp32_s3_arduino=USB_CDC,
|
||||||
rp2040=USB_CDC,
|
rp2040=USB_CDC,
|
||||||
bk72xx=DEFAULT,
|
bk72xx=DEFAULT,
|
||||||
rtl87xx=DEFAULT,
|
rtl87xx=DEFAULT,
|
||||||
|
|
|
@ -285,6 +285,7 @@ void Logger::pre_setup() {
|
||||||
#if defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3)
|
#if defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3)
|
||||||
#if ARDUINO_USB_CDC_ON_BOOT
|
#if ARDUINO_USB_CDC_ON_BOOT
|
||||||
this->hw_serial_ = &Serial;
|
this->hw_serial_ = &Serial;
|
||||||
|
Serial.setTxTimeoutMs(0); // workaround for 2.0.9 crash when there's no data connection
|
||||||
Serial.begin(this->baud_rate_);
|
Serial.begin(this->baud_rate_);
|
||||||
#else
|
#else
|
||||||
this->hw_serial_ = &Serial;
|
this->hw_serial_ = &Serial;
|
||||||
|
|
|
@ -1541,6 +1541,9 @@ class SplitDefault(Optional):
|
||||||
esp32_s3=vol.UNDEFINED,
|
esp32_s3=vol.UNDEFINED,
|
||||||
esp32_s3_arduino=vol.UNDEFINED,
|
esp32_s3_arduino=vol.UNDEFINED,
|
||||||
esp32_s3_idf=vol.UNDEFINED,
|
esp32_s3_idf=vol.UNDEFINED,
|
||||||
|
esp32_c3=vol.UNDEFINED,
|
||||||
|
esp32_c3_arduino=vol.UNDEFINED,
|
||||||
|
esp32_c3_idf=vol.UNDEFINED,
|
||||||
rp2040=vol.UNDEFINED,
|
rp2040=vol.UNDEFINED,
|
||||||
bk72xx=vol.UNDEFINED,
|
bk72xx=vol.UNDEFINED,
|
||||||
rtl87xx=vol.UNDEFINED,
|
rtl87xx=vol.UNDEFINED,
|
||||||
|
@ -1549,22 +1552,28 @@ class SplitDefault(Optional):
|
||||||
super().__init__(key)
|
super().__init__(key)
|
||||||
self._esp8266_default = vol.default_factory(esp8266)
|
self._esp8266_default = vol.default_factory(esp8266)
|
||||||
self._esp32_arduino_default = vol.default_factory(
|
self._esp32_arduino_default = vol.default_factory(
|
||||||
_get_priority_default(esp32, esp32_arduino)
|
_get_priority_default(esp32_arduino, esp32)
|
||||||
)
|
)
|
||||||
self._esp32_idf_default = vol.default_factory(
|
self._esp32_idf_default = vol.default_factory(
|
||||||
_get_priority_default(esp32, esp32_idf)
|
_get_priority_default(esp32_idf, esp32)
|
||||||
)
|
)
|
||||||
self._esp32_s2_arduino_default = vol.default_factory(
|
self._esp32_s2_arduino_default = vol.default_factory(
|
||||||
_get_priority_default(esp32_s2, esp32, esp32_s2_arduino, esp32_arduino)
|
_get_priority_default(esp32_s2_arduino, esp32_s2, esp32_arduino, esp32)
|
||||||
)
|
)
|
||||||
self._esp32_s2_idf_default = vol.default_factory(
|
self._esp32_s2_idf_default = vol.default_factory(
|
||||||
_get_priority_default(esp32_s2, esp32, esp32_s2_idf, esp32_idf)
|
_get_priority_default(esp32_s2_idf, esp32_s2, esp32_idf, esp32)
|
||||||
)
|
)
|
||||||
self._esp32_s3_arduino_default = vol.default_factory(
|
self._esp32_s3_arduino_default = vol.default_factory(
|
||||||
_get_priority_default(esp32_s3, esp32, esp32_s3_arduino, esp32_arduino)
|
_get_priority_default(esp32_s3_arduino, esp32_s3, esp32_arduino, esp32)
|
||||||
)
|
)
|
||||||
self._esp32_s3_idf_default = vol.default_factory(
|
self._esp32_s3_idf_default = vol.default_factory(
|
||||||
_get_priority_default(esp32_s3, esp32, esp32_s3_idf, esp32_idf)
|
_get_priority_default(esp32_s3_idf, esp32_s3, esp32_idf, esp32)
|
||||||
|
)
|
||||||
|
self._esp32_c3_arduino_default = vol.default_factory(
|
||||||
|
_get_priority_default(esp32_c3_arduino, esp32_c3, esp32_arduino, esp32)
|
||||||
|
)
|
||||||
|
self._esp32_c3_idf_default = vol.default_factory(
|
||||||
|
_get_priority_default(esp32_c3_idf, esp32_c3, esp32_idf, esp32)
|
||||||
)
|
)
|
||||||
self._rp2040_default = vol.default_factory(rp2040)
|
self._rp2040_default = vol.default_factory(rp2040)
|
||||||
self._bk72xx_default = vol.default_factory(bk72xx)
|
self._bk72xx_default = vol.default_factory(bk72xx)
|
||||||
|
@ -1580,6 +1589,7 @@ class SplitDefault(Optional):
|
||||||
from esphome.components.esp32.const import (
|
from esphome.components.esp32.const import (
|
||||||
VARIANT_ESP32S2,
|
VARIANT_ESP32S2,
|
||||||
VARIANT_ESP32S3,
|
VARIANT_ESP32S3,
|
||||||
|
VARIANT_ESP32C3,
|
||||||
)
|
)
|
||||||
|
|
||||||
variant = get_esp32_variant()
|
variant = get_esp32_variant()
|
||||||
|
@ -1593,6 +1603,11 @@ class SplitDefault(Optional):
|
||||||
return self._esp32_s3_arduino_default
|
return self._esp32_s3_arduino_default
|
||||||
if CORE.using_esp_idf:
|
if CORE.using_esp_idf:
|
||||||
return self._esp32_s3_idf_default
|
return self._esp32_s3_idf_default
|
||||||
|
elif variant == VARIANT_ESP32C3:
|
||||||
|
if CORE.using_arduino:
|
||||||
|
return self._esp32_c3_arduino_default
|
||||||
|
if CORE.using_esp_idf:
|
||||||
|
return self._esp32_c3_idf_default
|
||||||
else:
|
else:
|
||||||
if CORE.using_arduino:
|
if CORE.using_arduino:
|
||||||
return self._esp32_arduino_default
|
return self._esp32_arduino_default
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
"""Constants used by esphome."""
|
"""Constants used by esphome."""
|
||||||
|
|
||||||
__version__ = "2023.12.1"
|
__version__ = "2023.12.2"
|
||||||
|
|
||||||
ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_"
|
ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_"
|
||||||
VALID_SUBSTITUTIONS_CHARACTERS = (
|
VALID_SUBSTITUTIONS_CHARACTERS = (
|
||||||
|
|
|
@ -792,13 +792,22 @@ class EditRequestHandler(BaseHandler):
|
||||||
"""Get the content of a file."""
|
"""Get the content of a file."""
|
||||||
loop = asyncio.get_running_loop()
|
loop = asyncio.get_running_loop()
|
||||||
filename = settings.rel_path(configuration)
|
filename = settings.rel_path(configuration)
|
||||||
content = await loop.run_in_executor(None, self._read_file, filename)
|
content = await loop.run_in_executor(
|
||||||
self.write(content)
|
None, self._read_file, filename, configuration
|
||||||
|
)
|
||||||
|
if content is not None:
|
||||||
|
self.write(content)
|
||||||
|
|
||||||
def _read_file(self, filename: str) -> bytes:
|
def _read_file(self, filename: str, configuration: str) -> bytes | None:
|
||||||
"""Read a file and return the content as bytes."""
|
"""Read a file and return the content as bytes."""
|
||||||
with open(file=filename, encoding="utf-8") as f:
|
try:
|
||||||
return f.read()
|
with open(file=filename, encoding="utf-8") as f:
|
||||||
|
return f.read()
|
||||||
|
except FileNotFoundError:
|
||||||
|
if configuration in const.SECRETS_FILES:
|
||||||
|
return ""
|
||||||
|
self.set_status(404)
|
||||||
|
return None
|
||||||
|
|
||||||
def _write_file(self, filename: str, content: bytes) -> None:
|
def _write_file(self, filename: str, content: bytes) -> None:
|
||||||
"""Write a file with the given content."""
|
"""Write a file with the given content."""
|
||||||
|
|
78
tests/test8.1.yaml
Normal file
78
tests/test8.1.yaml
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
# Tests for ESP32-S3 boards - IDf
|
||||||
|
---
|
||||||
|
wifi:
|
||||||
|
ssid: "ssid"
|
||||||
|
|
||||||
|
network:
|
||||||
|
enable_ipv6: true
|
||||||
|
|
||||||
|
esp32:
|
||||||
|
board: esp32s3box
|
||||||
|
variant: ESP32S3
|
||||||
|
framework:
|
||||||
|
type: esp-idf
|
||||||
|
|
||||||
|
esphome:
|
||||||
|
name: esp32-s3-test
|
||||||
|
|
||||||
|
logger:
|
||||||
|
|
||||||
|
debug:
|
||||||
|
|
||||||
|
psram:
|
||||||
|
|
||||||
|
spi:
|
||||||
|
- id: spi_id_1
|
||||||
|
clk_pin:
|
||||||
|
number: GPIO7
|
||||||
|
allow_other_uses: false
|
||||||
|
mosi_pin: GPIO6
|
||||||
|
interface: any
|
||||||
|
|
||||||
|
spi_device:
|
||||||
|
id: spidev
|
||||||
|
data_rate: 2MHz
|
||||||
|
spi_id: spi_id_1
|
||||||
|
mode: 3
|
||||||
|
bit_order: lsb_first
|
||||||
|
|
||||||
|
display:
|
||||||
|
- platform: ili9xxx
|
||||||
|
id: displ8
|
||||||
|
model: ili9342
|
||||||
|
cs_pin: GPIO5
|
||||||
|
dc_pin: GPIO4
|
||||||
|
reset_pin:
|
||||||
|
number: GPIO48
|
||||||
|
allow_other_uses: true
|
||||||
|
|
||||||
|
i2c:
|
||||||
|
scl: GPIO18
|
||||||
|
sda: GPIO8
|
||||||
|
|
||||||
|
touchscreen:
|
||||||
|
- platform: tt21100
|
||||||
|
display: displ8
|
||||||
|
interrupt_pin:
|
||||||
|
number: GPIO3
|
||||||
|
ignore_strapping_warning: true
|
||||||
|
allow_other_uses: false
|
||||||
|
reset_pin:
|
||||||
|
number: GPIO48
|
||||||
|
allow_other_uses: true
|
||||||
|
|
||||||
|
binary_sensor:
|
||||||
|
- platform: tt21100
|
||||||
|
name: Home Button
|
||||||
|
index: 1
|
||||||
|
|
||||||
|
sensor:
|
||||||
|
- platform: debug
|
||||||
|
free:
|
||||||
|
name: "Heap Free"
|
||||||
|
block:
|
||||||
|
name: "Max Block Free"
|
||||||
|
loop_time:
|
||||||
|
name: "Loop Time"
|
||||||
|
psram:
|
||||||
|
name: "PSRAM Free"
|
75
tests/test8.2.yaml
Normal file
75
tests/test8.2.yaml
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
# Tests for ESP32-C3 boards - IDf
|
||||||
|
---
|
||||||
|
wifi:
|
||||||
|
ssid: "ssid"
|
||||||
|
|
||||||
|
network:
|
||||||
|
enable_ipv6: true
|
||||||
|
|
||||||
|
esp32:
|
||||||
|
board: lolin_c3_mini
|
||||||
|
variant: ESP32C3
|
||||||
|
framework:
|
||||||
|
type: esp-idf
|
||||||
|
|
||||||
|
esphome:
|
||||||
|
name: esp32-c3-test
|
||||||
|
|
||||||
|
logger:
|
||||||
|
|
||||||
|
debug:
|
||||||
|
|
||||||
|
psram:
|
||||||
|
|
||||||
|
spi:
|
||||||
|
- id: spi_id_1
|
||||||
|
clk_pin:
|
||||||
|
number: GPIO7
|
||||||
|
allow_other_uses: false
|
||||||
|
mosi_pin: GPIO6
|
||||||
|
interface: any
|
||||||
|
|
||||||
|
spi_device:
|
||||||
|
id: spidev
|
||||||
|
data_rate: 2MHz
|
||||||
|
spi_id: spi_id_1
|
||||||
|
mode: 3
|
||||||
|
bit_order: lsb_first
|
||||||
|
|
||||||
|
display:
|
||||||
|
- platform: ili9xxx
|
||||||
|
id: displ8
|
||||||
|
model: ili9342
|
||||||
|
cs_pin: GPIO5
|
||||||
|
dc_pin: GPIO4
|
||||||
|
reset_pin:
|
||||||
|
number: GPIO21
|
||||||
|
|
||||||
|
i2c:
|
||||||
|
scl: GPIO18
|
||||||
|
sda: GPIO8
|
||||||
|
|
||||||
|
touchscreen:
|
||||||
|
- platform: tt21100
|
||||||
|
display: displ8
|
||||||
|
interrupt_pin:
|
||||||
|
number: GPIO3
|
||||||
|
allow_other_uses: false
|
||||||
|
reset_pin:
|
||||||
|
number: GPIO20
|
||||||
|
|
||||||
|
binary_sensor:
|
||||||
|
- platform: tt21100
|
||||||
|
name: Home Button
|
||||||
|
index: 1
|
||||||
|
|
||||||
|
sensor:
|
||||||
|
- platform: debug
|
||||||
|
free:
|
||||||
|
name: "Heap Free"
|
||||||
|
block:
|
||||||
|
name: "Max Block Free"
|
||||||
|
loop_time:
|
||||||
|
name: "Loop Time"
|
||||||
|
psram:
|
||||||
|
name: "PSRAM Free"
|
Loading…
Reference in a new issue