Commit Graph
27309 Commits
Author SHA1 Message Date
J. Nick Koston bdb9618938 Enable configSUPPORT_STATIC_ALLOCATION for all LibreTiny platforms
The FreeRTOS timer command queue moves from heap to BSS on all
LibreTiny targets, not just BK72xx. RTL87xx and LN882x benefit
from the same heap savings.
2026-03-31 22:00:22 -10:00
J. Nick Koston d3545c960f Document intentional no-destructor and fast-path read rationale 2026-03-31 21:45:15 -10:00
J. Nick Koston 6e9ebf6b1b Fix scoping: declare count outside portENTER_CRITICAL block
BK72xx portENTER_CRITICAL expands to something that introduces a
scope, so variables declared between ENTER/EXIT are not visible after.
2026-03-31 21:43:21 -10:00
J. Nick Koston b980978f05 Enable configSUPPORT_STATIC_ALLOCATION on BK72xx
Add build flag and required callbacks (following ESP-IDF's pvPortMalloc
approach) so FreeRTOSQueue can use xQueueCreateStatic — queue storage
lives in BSS with zero runtime heap allocation.
2026-03-31 21:42:59 -10:00
J. Nick Koston b829bbee95 Use increment_dropped_count() internally in push() 2026-03-31 21:33:57 -10:00
J. Nick Koston 1e156d46b6 Fast path for get_and_reset_dropped_count to avoid critical section
Plain read of aligned uint16_t is safe on ARM. Since drops are rare,
almost every call returns 0 without entering a critical section.
2026-03-31 21:32:26 -10:00
J. Nick Koston bb2991bfda Address review: critical sections for dropped_count_, delete copy/move
- Protect dropped_count_ increment and get+reset with
  portENTER_CRITICAL/portEXIT_CRITICAL since std::atomic is unavailable
  on NO_ATOMICS platforms
- Delete copy/move constructors and assignment operators
- Remove volatile qualifier (critical sections provide proper
  synchronization)
2026-03-31 21:31:41 -10:00
J. Nick Koston 4f33faf89d Restore nullptr checks for xQueueCreate failure 2026-03-31 20:48:33 -10:00
J. Nick Koston 586e37c864 Use xQueueCreate — BK72xx FreeRTOS lacks static allocation
BK72xx's FreeRTOS does not enable configSUPPORT_STATIC_ALLOCATION,
so xQueueCreateStatic is unavailable. Fall back to xQueueCreate
which is a one-time heap allocation during setup.
2026-03-31 20:47:47 -10:00
J. Nick Koston 948449502f Guard freertos_queue.h with ESPHOME_THREAD_MULTI_NO_ATOMICS
Prevents compilation failure on host/native builds where FreeRTOS
headers are not available.
2026-03-31 20:44:43 -10:00
J. Nick Koston 9db5c8ac2d Use xQueueCreateStatic to avoid heap allocation
Storage buffer and control block are now class members, matching
LockFreeQueue's static buffer approach. Removes all null handle checks.
2026-03-31 20:42:13 -10:00
J. Nick Koston 42c2f1906f Use constexpr for queue size with +1 for LockFreeQueue ring buffer 2026-03-31 20:39:43 -10:00
J. Nick Koston 8b81cf3fda [wifi] Use queue abstraction for LibreTiny WiFi events
Replace static FreeRTOS queue globals in the LibreTiny WiFi component
with the same queue abstraction used by ESP32:

- ESPHOME_THREAD_MULTI_ATOMICS (RTL87xx, LN882x): LockFreeQueue
- ESPHOME_THREAD_MULTI_NO_ATOMICS (BK72xx): new FreeRTOSQueue wrapper

Add FreeRTOSQueue in freertos_queue.h — an xQueue wrapper providing
the same API as LockFreeQueue (push, pop, get_and_reset_dropped_count)
for platforms without hardware atomic instructions.

The event queue is now a class member instead of a static global,
matching the ESP32 pattern.
2026-03-31 20:39:21 -10:00
J. Nick Koston 24f916ba67 merge 2026-03-31 20:15:57 -10:00
J. Nick Koston 6f4f852d8e Merge remote-tracking branch 'upstream/dev' into integration 2026-03-31 20:15:36 -10:00
Rene GucaandRene 212b3e1688 [cover] move time_based_cover to its own subdirectory (#15313)
Co-authored-by: Rene <rene@guca.at>
2026-03-31 21:59:24 -04:00
Kevin Ahrendt 31a70ab299 [resampler] Future-proof resampler task to avoid potential memory leaks (#15186) 2026-03-31 21:44:54 -04:00
Christian Handpre-commit-ci-lite[bot] 8f2cf8b8a7 [bmp581_base] Add support for BMP585 (#15277)
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-03-31 21:39:41 -04:00
Jesse Hills 600ca01fd3 Bump version to 2026.3.2 2026-04-01 13:18:24 +13:00
65051153ac [esp32_ble_tracker] Restart BLE scan after OTA failure (#15308)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2026-04-01 13:18:24 +13:00
Kevin Ahrendt 514c0c8331 [mixer] Fix memory leak in mixer task on stop/start cycles (#15185) 2026-04-01 13:18:24 +13:00
Edward Firmo dc634b8c7b [uart] fix baud rate not applied on load_settings() for ESP32 (IDF) (#15341) 2026-04-01 13:18:24 +13:00
Jonathan Swoboda 66a4acafd0 [tormatic] Fix UART stream desync on ESP32 (#15337) 2026-04-01 13:18:24 +13:00
Jonathan Swoboda 3bf45d8fe0 [haier] Fix hOn half-degree temperature setting (#15312) 2026-04-01 13:18:24 +13:00
Keith Burzinski 9cd7c5e700 [thermostat] Fix stale max_runtime_exceeded causing spurious supplemental heating/cooling (#15274) 2026-04-01 13:18:24 +13:00
J. Nick Koston d79cf1d718 [esp8266] Add enable_scanf_float option (#15284) 2026-04-01 13:18:24 +13:00
J. Nick Koston 3d8a3a91f2 [esp32_ble_server] Fix set_value action with static data lists (#15285) 2026-04-01 13:18:24 +13:00
Jonathan Swoboda 3fd3dcc7e5 [sgp4x] Fix NOx index_offset default (should be 1, not 100) (#15212) 2026-04-01 13:18:23 +13:00
Jonathan Swoboda 7b5a4b466a [uart] Fix debug callback missing peeked byte and reading past end (#15169) 2026-04-01 13:18:23 +13:00
Jonathan Swoboda 92642df419 [wifi] Filter fast_connect by band_mode and use background scan for roaming (#15152) 2026-04-01 13:18:23 +13:00
J. Nick Koston f5f99071fb [wifi] Fix roaming counter reset from delayed disconnect and successful retry (#15126) 2026-04-01 13:18:23 +13:00
J. Nick Koston cb15e98765 [datetime] Fix state_as_esptime() returning invalid timestamp (#15128) 2026-04-01 13:18:23 +13:00
Jonathan Swoboda 2f2c7ac393 [sx127x] Fix FIFO read corruption (#15114) 2026-04-01 13:18:23 +13:00
J. Nick Koston d9788aaefc [wifi] Reduce ESP8266 roaming scan dwell time to match ESP32 (#15127) 2026-04-01 13:18:23 +13:00
J. Nick Koston f7b410fd0c [wifi] Fix roaming attempt counter reset on disconnect during scan (#15099) 2026-04-01 13:18:23 +13:00
J. Nick Koston e261b5de65 [time] Point to valid IANA timezone list on validation failure (#15110) 2026-04-01 13:18:23 +13:00
954227b203 [esp32_ble_tracker] Restart BLE scan after OTA failure (#15308)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2026-03-31 23:26:26 +00:00
Kevin Ahrendt 4a23ba7d8a [mixer] Fix memory leak in mixer task on stop/start cycles (#15185) 2026-04-01 12:06:48 +13:00
Edward Firmo b71c406e70 [uart] fix baud rate not applied on load_settings() for ESP32 (IDF) (#15341) 2026-04-01 12:04:07 +13:00
Jesse Hills 15bcd62f22 [internal_temperature] Move code into platform specific files (#15339) 2026-04-01 11:59:53 +13:00
J. Nick Koston 23dcc5389d [time] Fix strftime %Z and %z returning wrong timezone (#15330) 2026-04-01 11:59:45 +13:00
Jonathan Swoboda 9dca7e0daf [tormatic] Fix UART stream desync on ESP32 (#15337) 2026-03-31 18:01:33 -04:00
J. Nick Koston 9b564a76f8 Merge branch 'fix-ble-scan-restart-after-ota-failure' into integration 2026-03-31 11:12:29 -10:00
J. Nick Koston 0acdbfd007 de-nest 2026-03-31 11:12:11 -10:00
J. Nick KostonandCopilot 217808b0fc Update esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-31 11:09:34 -10:00
J. Nick Koston 4746b95722 Merge remote-tracking branch 'upstream/fix-strftime-tz-designation' into integration
# Conflicts:
#	esphome/components/time/posix_tz.cpp
#	esphome/components/time/posix_tz.h
2026-03-31 11:08:48 -10:00
Clyde StubbsandJesse Hills 66b6d36a26 [lvgl] Fixes #3 (#15304)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2026-04-01 10:04:10 +13:00
Jonathan Swoboda 2064eef273 [esp32_hosted] Guard against empty firmware URL in perform() (#15338) 2026-03-31 10:53:12 -10:00
dependabot[bot] 64e836f9c8 Bump CodSpeedHQ/action from 4.12.1 to 4.13.0 (#15340)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-31 10:49:17 -10:00
2cb987095d [modbus] Share helper functions across modbus components - part B (#14172)
Co-authored-by: J. Nick Koston <nick+github@koston.org>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-03-31 10:48:16 -10:00