J. Nick Koston
53da01a2bf
Merge branch 'rp2040-upload-improvements' into integration
2026-03-05 13:11:22 -10:00
J. Nick Koston
ddbae0dd00
[rp2040] Always show BOOTSEL tip when no BOOTSEL device detected
...
Serial ports in the chooser may belong to other devices (e.g. FT232R),
not the RP2040. Show the BOOTSEL tip whenever no BOOTSEL device is
detected via picotool, regardless of whether serial ports are present.
2026-03-05 13:08:12 -10:00
J. Nick Koston
98e4a9f876
Merge branch 'dev' into rp2040-upload-improvements
2026-03-05 13:06:39 -10:00
J. Nick Koston
aec76fafce
[rp2040] Use picotool for BOOTSEL upload instead of mass storage copy
...
Replace UF2 file copy to mass storage volume with direct picotool upload.
This avoids macOS "disk not ejected properly" warnings caused by the RP2040
resetting immediately after receiving the firmware.
- Use picotool (already installed by PlatformIO) for BOOTSEL detection
and firmware upload via USB
- Upload ELF directly with `picotool load -v -x` for real-time progress
- Remove platform-specific mass storage volume detection (macOS/Linux/Windows)
- Show helpful udev rules message on Linux permission errors
2026-03-05 12:59:07 -10:00
J. Nick Koston
21fb5975d6
Merge remote-tracking branch 'upstream/dev' into integration
...
# Conflicts:
# esphome/components/esphome/ota/ota_esphome.h
# esphome/components/http_request/ota/ota_http_request.cpp
# esphome/components/http_request/ota/ota_http_request.h
# esphome/components/ota/ota_backend_factory.h
# esphome/components/web_server/ota/ota_web_server.cpp
# esphome/components/wifi/wifi_component.cpp
2026-03-05 10:57:44 -10:00
b0be02e16d
[modbus] Fix timing bugs and better adhere to spec ( #8032 )
...
Co-authored-by: brambo123 <52667932+brambo123@users.noreply.github.com >
Co-authored-by: Keith Burzinski <kbx81x@gmail.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick+github@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-03-05 20:54:17 +00:00
5c5ea8824e
[audio_file] New component for embedding files into firmware ( #14434 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-03-05 09:51:08 -10:00
J. Nick Koston
a1ae9fadc2
Merge branch 'dev' into rp2040-upload-improvements
2026-03-05 09:48:55 -10:00
rwrozelle and J. Nick Koston
9518d88a2a
[openthread] static log level code quality improvement ( #14456 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-03-05 08:35:20 -10:00
J. Nick Koston
31e4da5543
Merge branch 'enable-captive-portal-rp2040' into integration
2026-03-05 01:08:01 -10:00
J. Nick Koston
caa50ca199
[captive_portal] Enable support for RP2040
2026-03-05 01:06:46 -10:00
J. Nick Koston
6e99bc96a2
Merge remote-tracking branch 'upstream/rp2040-socket-wake' into integration
2026-03-04 22:37:44 -10:00
Clyde Stubbs
f5c37bf486
[packet_transport] Minimise heap allocations ( #14482 )
2026-03-05 14:24:01 +11:00
J. Nick Koston
97f7bd98a9
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-04 16:45:10 -10:00
J. Nick Koston
5df4fd0a27
[tests] Fix flaky uart_mock integration tests ( #14476 )
2026-03-04 15:51:51 -10:00
J. Nick Koston
cfc74ad638
Merge branch 'rp2040-upload-improvements' into integration
2026-03-04 14:25:09 -10:00
J. Nick Koston
f886aa7f9a
[rp2040] Fix firmware.bin.signed creation for nobuild upload
...
Move signed bin creation from post_build script to upload_using_platformio.
The post_build AddPostAction only runs during build, not during nobuild
upload, so the file was missing when PlatformIO tried to upload.
Now create firmware.bin.signed before calling PlatformIO upload.
2026-03-04 14:24:48 -10:00
J. Nick Koston
d30175d84d
Merge branch 'rp2040-upload-improvements' into integration
2026-03-04 14:18:29 -10:00
J. Nick Koston
d856046830
[rp2040] Add test coverage for Linux and Windows mass storage detection
...
Add tests for get_rp2040_mass_storage_volumes() on Linux, Windows,
and unsupported platforms to improve test coverage.
2026-03-04 14:12:39 -10:00
J. Nick Koston
5f79e3e0c2
[rp2040] Fix test assertions for Windows path separators
...
Use str(Path(...)) in test assertions so paths match platform-specific
separators (forward slashes on Unix, backslashes on Windows).
2026-03-04 14:00:35 -10:00
J. Nick Koston
74dd61442a
[rp2040] Improve upload experience with mass storage and BOOTSEL support
...
Add auto-detection of RP2040 BOOTSEL mass storage volumes (RPI-RP2) on
macOS, Linux, and Windows. Show detected volumes as upload targets with
a progress bar for UF2 file copy. Display helpful BOOTSEL instructions
when no RP2040 device is found.
- Add get_rp2040_mass_storage_volumes() to detect mounted RPI-RP2 volumes
- Add PortType.MASS_STORAGE and upload_using_uf2_copy() with progress bar
- Move ProgressBar to helpers.py for shared use
- Wait for USB-CDC serial port after upload for log output
- Auto-select single serial port for logs after mass storage upload
- Create firmware.bin.signed in post_build to fix nobuild upload target
- Show BOOTSEL tip when only OTA options are available
2026-03-04 13:50:52 -10:00
J. Nick Koston
1f9bdb2197
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-04 07:25:53 -10:00
J. Nick Koston
b2e8544c58
[ld2412] Add integration tests with mock UART ( #14448 )
2026-03-04 07:18:31 -10:00
37146ff565
[integration] Add set method to publish and save sensor value ( #13316 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-03-04 09:00:09 -05:00
J. Nick Koston and Claude Opus 4.6
9371159a7e
[core] Replace custom esphome::optional with std::optional ( #14368 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-04 01:14:05 +00:00
J. Nick Koston
395ab306bd
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-03 14:32:48 -10:00
Jesse Hills
989330d6bc
[globals] Fix handling of string booleans in yaml ( #14447 )
2026-03-03 22:54:40 +00:00
Jonathan Swoboda and Claude Opus 4.6
ee78d7a0c0
[tests] Fix integration test race condition in PlatformIO cache init ( #14435 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-03 17:42:41 -05:00
J. Nick Koston
f50d7b516e
Merge remote-tracking branch 'upstream/std-optional' into integration
2026-03-03 12:18:40 -10:00
J. Nick Koston
c52ff5dcbc
Merge branch 'configure_entity' into integration
...
# Conflicts:
# esphome/core/entity_base.h
2026-03-03 12:12:01 -10:00
J. Nick Koston and Claude Opus 4.6
c0873973c1
fix component tests to match configure_entity codegen
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-03 11:53:27 -10:00
J. Nick Koston and Claude Opus 4.6
42fa6ef818
[core] Merge set_name + set_entity_strings into configure_entity
...
Every entity generated two codegen calls:
entity->set_name("Name", hash);
entity->set_entity_strings(packed);
Merge these into a single configure_entity(name, hash, packed) call
to reduce generated code size. For a config with 50+ entities this
eliminates 50+ function calls from the generated setup() function.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-03 11:47:14 -10:00
J. Nick Koston
214a27d49f
Merge branch 'move_device_class_progmem' into integration
2026-03-03 11:23:20 -10:00
J. Nick Koston
2fe9de7dbc
add max length validation for device class strings
...
Defense-in-depth: validate device class strings don't exceed the
48-byte PROGMEM buffer limit (47 chars + null), matching the same
pattern used for icon strings.
2026-03-03 11:23:06 -10:00
J. Nick Koston
6fd20056ad
Merge branch 'move_icons_progmem' into integration
2026-03-03 08:23:52 -10:00
J. Nick Koston
7becceb3b1
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-03 08:23:42 -10:00
J. Nick Koston
1108511c63
move icons to progmem
2026-03-03 08:06:55 -10:00
J. Nick Koston
b4bad962b1
Merge branch 'dev' into std-optional
2026-03-03 07:12:29 -10:00
J. Nick Koston
1f1b20f4fe
[core] Pack entity string properties into PROGMEM-indexed uint8_t fields ( #14171 )
2026-03-03 07:03:24 -10:00
b6f0bb9b6b
[speaker] Add off on capability to media player ( #9295 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Kevin Ahrendt <kevin.ahrendt@openhomefoundation.org >
2026-03-03 10:59:01 -05:00
Clyde Stubbs
cfde0613bb
[const][uart][usb_uart][weikai][core] Move constants to components/const ( #14430 )
2026-03-03 07:53:18 -05:00
schrob and Jonathan Swoboda
60d66ca2dc
[openthread] Add tx power option ( #14200 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-03-02 23:28:01 -05:00
J. Nick Koston
3afcbd22b2
Merge branch 'add-codeowner-approved-label' into integration
2026-03-02 16:02:28 -10:00
J. Nick Koston
2e623fd6c3
[tests] Fix flaky log assertion race in oversized payload tests ( #14414 )
2026-03-02 11:48:50 -10:00
J. Nick Koston
3615a7b90c
[core] Eliminate __udivdi3 in millis() on ESP32 and RP2040 ( #14409 )
2026-03-02 11:42:25 -10:00
J. Nick Koston
24f17b7529
Merge branch 'dev' into std-optional
2026-03-02 09:49:30 -10:00
J. Nick Koston
74eda7fc01
Merge remote-tracking branch 'origin/pack-entity-strings' into integration
2026-03-02 09:31:46 -10:00
J. Nick Koston
8ee800bb35
Merge remote-tracking branch 'upstream/esp32-millis-euclidean-decomposition' into integration
2026-03-02 07:53:19 -10:00
J. Nick Koston
96a564a6e9
[core] Replace Python unit tests with C++ integration test for micros_to_millis
...
The Python tests were testing a Python reimplementation, not the
actual C++ code. Replace with an integration test that exercises
the real micros_to_millis() on the host platform, covering boundary
values, carry paths, and mod-8 shift edge cases (25 checks).
2026-03-02 07:41:52 -10:00
J. Nick Koston
61eb8f3e14
Merge remote-tracking branch 'upstream/cache-lwip-sock-pointers' into integration
...
# Conflicts:
# esphome/components/esp32/core.cpp
# esphome/components/esp8266/core.cpp
# esphome/components/host/core.cpp
# esphome/components/libretiny/core.cpp
# esphome/components/rp2040/core.cpp
# esphome/components/zephyr/core.cpp
# esphome/core/application.cpp
# esphome/core/hal.h
2026-03-02 07:38:28 -10:00