Commit Graph
14108 Commits
Author SHA1 Message Date
J. Nick KostonandClaude Opus 4.6 459288fb1a Merge upstream/dev, resolve conflict keeping LibreTiny sta_state_ guard
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 08:35:24 -10:00
J. Nick Koston 8688ef7125 [benchmark] Fix decode benchmarks being optimized away by compiler (#15293) 2026-03-30 08:24:48 -10:00
J. Nick Koston 46ea61666e [wifi] Replace FreeRTOS queue with LockFreeQueue on ESP-IDF (#15306) 2026-03-30 08:24:34 -10:00
J. Nick Koston 8969eb76e9 [wifi] Avoid redundant SDK calls in WiFi loop on ESP8266 (#15303) 2026-03-30 08:24:17 -10:00
J. Nick Koston ffee4c22b3 [esp32_ble] Devirtualize BLE event handler dispatch (#15310) 2026-03-30 08:21:58 -10:00
J. Nick Koston ad3f6ae313 [automation] Remove actions_end_ pointer from ActionList to save RAM (#15283) 2026-03-30 08:20:52 -10:00
Keith Burzinski b579758c46 [dht] Code clean-up (#15271) 2026-03-30 13:15:37 -05:00
Keith Burzinski 45e6d49d36 [shtcx] Code clean-up (#15261) 2026-03-30 13:15:27 -05:00
Keith Burzinski ddb188e8f0 [bme68x_bsec2] Fix warning spam, code clean-up (#15258) 2026-03-30 13:15:13 -05:00
Keith Burzinski 1a86e88373 [thermostat] Fix stale max_runtime_exceeded causing spurious supplemental heating/cooling (#15274) 2026-03-30 13:15:02 -05:00
Bonne EgglestonandJ. Nick Koston 31574a427b [modbus] Share helper functions across modbus components - part A (#15291)
Co-authored-by: J. Nick Koston <nick@home-assistant.io>
2026-03-30 06:56:47 -10:00
Edward Firmo 1bc6a8d956 [nextion] Fix queue age check using inconsistent time sources (#15317) 2026-03-30 06:54:09 -10:00
J. Nick Koston d420e7bc23 [modbus_controller] Fix off-by-one bounds check in byte_from_hex_str (#15301) 2026-03-30 08:57:27 -04:00
dependabot[bot] cd3c2ae77e Bump aioesphomeapi from 44.8.0 to 44.8.1 (#15309)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-29 22:45:46 -10:00
Edward Firmoandpre-commit-ci-lite[bot] 95b0e60617 [nextion] Add accessor const qualifiers, return by ref, and deprecate get_wave_chan_id() (#15204)
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-03-30 02:20:04 -05:00
Edward Firmo ffbbe5eab3 [nextion] Fix log level for command processing limit message (#15302) 2026-03-30 01:55:40 -05:00
J. Nick Koston 16aa0bf1a2 [wifi] Move LibreTiny WiFi STA state to member variable
Replace the file-static s_sta_state with the shared sta_state_
member variable on WiFiComponent, matching the ESP8266 change.
All accesses are in member functions so no global_wifi_component
indirection is needed.
2026-03-29 18:53:27 -10:00
J. Nick Koston 57e192543f Add atomicity comment for sta_state_ member variable 2026-03-29 18:52:58 -10:00
J. Nick Koston 37e181a797 Move ESP8266WiFiSTAState enum to cpp, use uint8_t in header
Keep the enum definition private to wifi_component_esp8266.cpp and
store as uint8_t in the class to avoid leaking platform-specific
types into the shared header.
2026-03-29 18:38:04 -10:00
J. Nick Koston 7086cf3392 Fix comment: if statements with early returns, not if-else 2026-03-29 18:33:15 -10:00
J. Nick Koston f19792df8c Revert wifi_sta_connect_status_ header inline attempt
GCC doesn't inline it into loop() due to code size heuristics,
so the #ifdef complexity isn't worth it. Keep it out-of-line.
2026-03-29 18:32:28 -10:00
J. Nick Koston 96a23e5d3d Inline is_connected_ and update_connected_state_ into header
Move these small methods to the header so the compiler can inline
them into loop(), eliminating two function call/return pairs from
every loop iteration on all platforms.
2026-03-29 18:29:03 -10:00
J. Nick Koston d52d5bbda3 Move ESP8266 WiFi STA state enum to member variable
Replace the file-static s_sta_state with a member variable sta_state_
on WiFiComponent, consistent with error_from_callback_ and pending_
which are also written from the static callback via global_wifi_component.
2026-03-29 18:16:41 -10:00
J. Nick Koston cee1168293 Use if-else instead of switch to avoid CSWTCH in rodata
On ESP8266, GCC generates a lookup table in .rodata for switch
statements, which lives in flash. Use if-else chain to keep the
logic entirely in IRAM.
2026-03-29 18:10:28 -10:00
J. Nick Koston 438553ccfe Fix clang-tidy NOLINT placement for s_sta_state
Move the NOLINT comment to NOLINTNEXTLINE so clang-tidy sees it
on the line with the variable declaration, not the continuation.
2026-03-29 18:09:49 -10:00
J. Nick Koston f43a598a83 [wifi] Avoid redundant SDK calls in WiFi loop on ESP8266
Replace five separate boolean state variables in the ESP8266 WiFi
implementation with a single enum state machine, matching the pattern
already used by LibreTiny. This eliminates the per-loop call to
wifi_station_get_connect_status() by reading cached state from the
existing event callback instead.

Also use the cached connected_ field (set unconditionally at the top
of loop()) in the STA_CONNECTED branch instead of calling
is_connected_() a second time. This applies to all platforms.
2026-03-29 17:55:55 -10:00
J. Nick Koston 18168ad7fd [sensor] Use std::array in CalibrateLinearFilter (#15263) 2026-03-29 15:07:15 -10:00
J. Nick Koston 17afbeb87b [binary_sensor] Use std::array in MultiClickTrigger (#15267) 2026-03-29 14:57:15 -10:00
J. Nick Koston d51b047f63 [sensor] Use std::array in CalibratePolynomialFilter (#15264) 2026-03-29 14:56:04 -10:00
J. Nick Koston 508ec295a4 [sensor] Use std::array in OrFilter (#15262) 2026-03-29 14:55:46 -10:00
J. Nick Koston 66754fa376 [text_sensor] Use std::array in SubstituteFilter (#15266) 2026-03-29 14:24:32 -10:00
J. Nick Koston 4da7f5ecc2 [binary_sensor] Use std::array in AutorepeatFilter (#15268) 2026-03-29 23:50:46 +00:00
J. Nick Koston 29419d9d97 [automation] Use std::array in And/Or/Xor conditions (#15282) 2026-03-29 13:36:08 -10:00
J. Nick Koston 3520ef7480 [text_sensor] Use std::array in MapFilter (#15269) 2026-03-29 22:38:04 +00:00
J. Nick Koston d6475eaeed [binary_sensor] Remove redundant optional<bool> state_, save 8 bytes per instance (#15095) 2026-03-29 12:15:18 -10:00
J. Nick Koston a9aaf29d83 [core] Shrink Component from 12 to 8 bytes per instance (#15103) 2026-03-29 12:09:21 -10:00
J. Nick Koston 38fa8925da [ai] Add automation, callback manager, and test grouping docs (#15243) 2026-03-29 12:02:47 -10:00
J. Nick Koston c2b8ea3361 [web_server_base] Reduce sizeof(WebServerBase) by 4 bytes (#15251) 2026-03-29 18:02:29 -04:00
J. Nick Koston 584807b039 [ld2410] Fix flaky integration test race condition (#15299) 2026-03-29 11:58:03 -10:00
J. Nick Koston 5da3253f4b [esp8266] Add enable_scanf_float option (#15284) 2026-03-29 11:57:52 -10:00
J. Nick Koston 2a97eca00b [sensor] Use std::array in ValueList/FilterOut/ThrottleWithPriority filters (#15265) 2026-03-29 11:55:52 -10:00
J. Nick Koston 1f3fd60d29 [version] Remove duplicate build_info_data.h include (#15288) 2026-03-29 11:55:39 -10:00
J. Nick Koston 8a802ca666 [benchmark] Add BLE raw advertisement proto encode benchmarks (#15289) 2026-03-29 11:54:07 -10:00
J. Nick Koston a91e6d92f6 [core] Remove dead get_loop_priority code (#15242) 2026-03-29 17:32:43 -04:00
Tobias StanzelandJonathan Swoboda d9adb078aa [tm1637] Add buffer manipulation methods (#13686)
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com>
2026-03-29 14:41:00 -03:00
J. Nick Koston 7a7c33fdb1 [esp32_ble_server] Fix set_value action with static data lists (#15285) 2026-03-28 15:38:06 -10:00
Jonathan Swoboda b6abfec82e [core] Fix area/device hash collision validation not running (#15259) 2026-03-27 22:22:24 -04:00
Jonathan Swoboda 47774fb644 [modbus_controller] Fix wrong enum in function_code_to_register (#15253) 2026-03-27 19:55:57 -04:00
Jonathan Swoboda 34410e92b7 [as5600] Remove dead angle/position sensor code (#15254) 2026-03-27 19:55:40 -04:00
Edward Firmoandpre-commit-ci-lite[bot] a99f051e19 [nextion] Replace queue name string literals with short Nextion-native identifiers (#15215)
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-03-27 13:49:00 -10:00