Commit Graph

3013 Commits

Author SHA1 Message Date
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
JiriPrchal 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 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 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 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 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
rwrozelle 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 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
J. Nick Koston 15a792ecce bot review 2026-03-02 07:34:47 -10:00
J. Nick Koston deea16698d Add tests for setup_entity direct-call and decorator modes 2026-03-02 07:13:49 -10:00
J. Nick Koston 0f9c71714e Merge remote-tracking branch 'upstream/dev' into pack-entity-strings
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 07:05:08 -10:00
J. Nick Koston a1d91ac779 [core] Compile-time detection of loop() overrides (#14405) 2026-03-02 06:59:23 -10:00
J. Nick Koston 82da4935b6 [core] Auto-wrap static strings in PROGMEM on ESP8266 via TemplatableValue (#13885) 2026-03-02 06:57:08 -10:00
Copilot 77a7cbcffd Use cached files on network errors in external_files (#14055)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jesserockz <3060199+jesserockz@users.noreply.github.com>
2026-03-02 11:41:20 -05:00
J. Nick Koston 5041bc06aa Merge remote-tracking branch 'upstream/esp32-millis-euclidean-decomposition' into integration 2026-03-02 00:22:05 -10:00
J. Nick Koston cff32556a2 Add static_asserts and type hints to tests
Add compile-time static_asserts for micros_to_millis correctness.
Add parameter type hints and return annotations to test functions.
2026-03-02 00:21:44 -10:00
J. Nick Koston 7bed94aa38 Merge remote-tracking branch 'upstream/esp32-millis-euclidean-decomposition' into integration 2026-03-02 00:11:13 -10:00
J. Nick Koston df57c21368 [core] Template micros_to_millis for both 32/64-bit results
Make micros_to_millis a template on return type (default uint32_t).
millis_64() now calls micros_to_millis<uint64_t>() to eliminate
__udivdi3 there too — same Euclidean decomposition, just with a
32x32->64 multiply for hi*Q instead of truncating.

Add 64-bit variant tests (140 total, all passing).
2026-03-02 00:11:02 -10:00
J. Nick Koston a8f8c3753f Merge remote-tracking branch 'upstream/esp32-millis-euclidean-decomposition' into integration 2026-03-02 00:10:32 -10:00