J. Nick Koston
b4741ade0d
Remove unreachable NONE case from process_active_iterator_()
2026-02-09 20:13:57 -06:00
J. Nick Koston
2c3a92db97
Add forward declaration for ComponentIterator in api_connection.h
2026-02-09 20:11:45 -06:00
J. Nick Koston
fc91a4d7a3
Extract iterator switch from loop() into process_active_iterator_()
...
The iterator switch only runs during initial connection handshake.
In steady state active_iterator_ is always NONE, so the entire
switch block is cold code that wastes icache in the hot loop path.
2026-02-09 20:10:44 -06:00
J. Nick Koston
9bf90eff01
[api] De-duplicate iterator batch processing in APIConnection::loop()
...
Replace the process_iterator_batch_ template (instantiated separately
for ListEntitiesIterator and InitialStateIterator) with a single
non-template method taking a ComponentIterator& base class reference.
Both iterators inherit from ComponentIterator, and the template only
called completed() and advance() which are both base class methods.
The two template instantiations generated ~160 bytes of duplicate code
in APIConnection::loop(). The single non-template version is 79 bytes,
saving 61 bytes net flash and removing 140 bytes of cold
connect/reconnect code from the hot loop path.
Also move the duplicated completed() method from ListEntitiesIterator
and InitialStateIterator to the ComponentIterator base class where
state_ is defined.
2026-02-09 19:57:29 -06:00
Jonathan Swoboda
dcbb020479
[uart] Fix available() return type to size_t across components ( #13898 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-09 20:02:41 -05:00
J. Nick Koston
87ac263264
[dsmr] Batch UART reads to reduce per-loop overhead ( #13826 )
2026-02-10 00:32:52 +00:00
Sean Kelly
097901e9c8
[aqi] Fix AQI calculation for specific pm2.5 or pm10 readings ( #13770 )
2026-02-09 19:30:37 -05:00
J. Nick Koston
01a90074ba
[ld2420] Batch UART reads to reduce loop overhead ( #13821 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-02-10 00:25:34 +00:00
J. Nick Koston
57b85a8400
[dlms_meter] Batch UART reads to reduce per-loop overhead ( #13828 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-02-10 00:24:20 +00:00
J. Nick Koston
2edfcf278f
[hlk_fm22x] Replace per-cycle vector allocation with member buffer ( #13859 )
2026-02-09 18:21:10 -06:00
J. Nick Koston
bcd4a9fc39
[pylontech] Batch UART reads to reduce loop overhead ( #13824 )
2026-02-09 18:20:53 -06:00
J. Nick Koston
78df8be31f
[logger] Resolve thread name once and pass through logging chain ( #13836 )
2026-02-09 18:16:27 -06:00
J. Nick Koston
dacc557a16
[uart] Convert parity_to_str to PROGMEM_STRING_TABLE ( #13805 )
2026-02-09 18:15:48 -06:00
J. Nick Koston
3767c5ec91
[scheduler] Make core timer ID collisions impossible with type-safe internal IDs ( #13882 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-02-09 16:48:08 -06:00
George Joseph
7c1327f96a
[mipi_dsi] Add WAVESHARE-ESP32-P4-WIFI6-TOUCH-LCD 3.4C and 4C ( #13840 )
2026-02-10 09:44:47 +11:00
Jonathan Swoboda
475db750e0
[uart] Change available() return type from int to size_t ( #13893 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-09 17:41:16 -05:00
dependabot[bot]
8f74b027b4
Bump setuptools from 80.10.2 to 82.0.0 ( #13897 )
2026-02-09 16:40:32 -06:00
tomaszduda23
b2b9e0cb0a
[nrf52,zigee] print reporting status ( #13890 )
...
Co-authored-by: Clyde Stubbs <2366188+clydebarrow@users.noreply.github.com >
2026-02-09 16:00:08 -05:00
tronikos
dbf202bf0d
Add get_away and get_on in WaterHeaterCall and deprecate get_state ( #13891 )
2026-02-09 20:57:36 +00:00
J. Nick Koston
b6fdd29953
[voice_assistant] Replace timer unordered_map with vector to eliminate per-tick heap allocation ( #13857 )
2026-02-09 14:42:40 -06:00
Clyde Stubbs
00256e3ca0
[mipi_rgb] Allow use on P4 ( #13740 )
2026-02-10 06:35:41 +11:00
J. Nick Koston
e0712cc53b
[scheduler] Make core timer ID collisions impossible with type-safe internal IDs ( #13882 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-02-09 13:16:22 -06:00
J. Nick Koston
6c6da8a3cd
[api] Skip class generation for empty SOURCE_CLIENT protobuf messages ( #13880 )
2026-02-09 18:45:24 +00:00
J. Nick Koston
e4ea016d1e
[ci] Block new std::to_string() usage, suggest snprintf alternatives ( #13369 )
2026-02-09 12:26:19 -06:00
J. Nick Koston
41a9588d81
[i2c] Replace switch with if-else to avoid CSWTCH table in RAM ( #13815 )
2026-02-09 12:26:06 -06:00
J. Nick Koston
cd55eb927d
[modbus] Batch UART reads to reduce loop overhead ( #13822 )
2026-02-09 12:21:15 -06:00
J. Nick Koston
4a9ff48f02
[nextion] Batch UART reads to reduce loop overhead ( #13823 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-09 12:20:50 -06:00
J. Nick Koston
8fffe7453d
[seeed_mr24hpc1/mr60fda2/mr60bha2] Batch UART reads to reduce per-loop overhead ( #13825 )
2026-02-09 12:18:12 -06:00
J. Nick Koston
a5ee451043
[tuya] Batch UART reads to reduce per-loop overhead ( #13827 )
2026-02-09 12:17:58 -06:00
J. Nick Koston
e176cf50ab
[dfplayer] Batch UART reads to reduce per-loop overhead ( #13832 )
2026-02-09 12:15:28 -06:00
J. Nick Koston
e7a900fbaa
[rf_bridge] Batch UART reads to reduce per-loop overhead ( #13831 )
2026-02-09 12:15:15 -06:00
J. Nick Koston
623f33c9f9
[rd03d] Batch UART reads to reduce per-loop overhead ( #13830 )
2026-02-09 12:15:04 -06:00
J. Nick Koston
8b24112be5
[pipsolar] Batch UART reads to reduce per-loop overhead ( #13829 )
2026-02-09 12:14:48 -06:00
J. Nick Koston
d33f23dc43
[ld2410] Batch UART reads to reduce loop overhead ( #13820 )
2026-02-09 12:07:55 -06:00
J. Nick Koston
c43d3889b0
[modbus] Use stack buffer instead of heap vector in send() ( #13853 )
2026-02-09 12:07:42 -06:00
J. Nick Koston
50fe8e51f9
[ld2412] Batch UART reads to reduce loop overhead ( #13819 )
2026-02-09 12:07:28 -06:00
J. Nick Koston
c7883cb5ae
[ld2450] Batch UART reads to reduce loop overhead ( #13818 )
2026-02-09 12:06:38 -06:00
J. Nick Koston
3b0df145b7
[cse7766] Batch UART reads to reduce loop overhead ( #13817 )
2026-02-09 12:05:59 -06:00
J. Nick Koston
2383b6b8b4
[core] Deprecate set_retry, cancel_retry, and RetryResult ( #13845 )
2026-02-09 12:05:32 -06:00
J. Nick Koston
c658d7b57f
[api] Merge auth check into base read_message, eliminate APIServerConnection ( #13873 )
2026-02-09 12:02:02 -06:00
Jonathan Swoboda
04a6238c7b
[esp32] Set UV_CACHE_DIR inside data dir so Clean All clears it ( #13888 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-09 17:49:58 +00:00
J. Nick Koston
919afa1553
[web_server_base] Fix RP2040 compilation when Crypto-no-arduino is present ( #13887 )
2026-02-09 12:47:59 -05:00
Kevin Ahrendt
c28c97fbaf
[mixer] Refactor for stability and to support Sendspin ( #12253 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2026-02-09 10:19:00 -05:00
J. Nick Koston
3cde3daceb
[api] Collapse APIServerConnection intermediary layer ( #13872 )
2026-02-09 08:45:33 -06:00
J. Nick Koston
be4e573cc4
[esp32_hosted] Replace set_retry with set_interval to avoid heap allocation ( #13844 )
2026-02-09 08:45:18 -06:00
J. Nick Koston
66af998098
[dashboard] Handle malformed Basic Auth headers gracefully ( #13866 )
2026-02-09 08:45:03 -06:00
J. Nick Koston
938a11595d
[speaker] Replace set_retry with set_interval to avoid heap allocation ( #13843 )
2026-02-09 08:44:50 -06:00
J. Nick Koston
c812ac8b29
[ms8607] Replace set_retry with set_timeout chain to avoid heap allocation ( #13842 )
2026-02-09 08:44:35 -06:00
J. Nick Koston
248fc06dac
[scheduler] Eliminate heap allocation in full_cleanup_removed_items_ ( #13837 )
2026-02-09 08:44:20 -06:00
J. Nick Koston
8b8acb3b27
[dashboard] Use constant-time comparison for username check ( #13865 )
2026-02-09 08:31:06 -06:00