Commit Graph
23181 Commits
Author SHA1 Message Date
J. Nick Koston ad546edbb7 fix 2026-02-08 03:31:06 -06:00
J. Nick Koston a07b429510 Merge branch 'hlk_fm22x_eliminate_heap_alloc' into integration 2026-02-08 03:28:50 -06:00
J. Nick Koston 94d6ca22b2 Merge branch 'voice-assistant-timer-vector' into integration 2026-02-08 03:28:43 -06:00
J. Nick Koston 78f98fa08f [hlk_fm22x] Drain exact frame bytes on oversize response
Discard exactly length+1 (payload + checksum) instead of flushing
the entire RX buffer, which could eat bytes from the next frame.
2026-02-08 02:51:27 -06:00
J. Nick Koston eb3bad823b [hlk_fm22x] Reword comment to avoid lint false positive on 'byte' 2026-02-08 02:40:04 -06:00
J. Nick Koston 5374252470 [hlk_fm22x] Add bounds checks and fix format specifiers
- Flush UART RX buffer when response exceeds max size
- Guard handle_note_ against zero-length data
- Guard handle_reply_ against length < 2
- Validate VERIFY response has full name payload before access
- Guard GET_VERSION against length underflow
- Cast %.*s precision to int, use %zu for size_t
- Improve MAX_RESPONSE_SIZE comment with payload layout
2026-02-08 02:38:40 -06:00
J. Nick Koston f7630075ff Fix Trigger/Automation type mismatch for timer_tick_trigger_ 2026-02-08 02:32:03 -06:00
J. Nick Koston 8677f3db03 Add timer automation tests for voice_assistant 2026-02-08 02:27:23 -06:00
J. Nick Koston 9add30b900 Pass timer tick vector as const ref through automation to avoid copy 2026-02-08 02:26:22 -06:00
J. Nick Koston 2e50651400 [hlk_fm22x] Replace per-cycle vector allocation with member buffer
Replace std::vector<uint8_t> in recv_command_() with a member
std::array<uint8_t, 36> buffer to eliminate heap allocation on
every polling cycle. Also use pointer+length instead of vector
references in handle_note_/handle_reply_, and use TextSensor's
publish_state(const char*, size_t) overload to avoid temporary
std::string construction for version and face name publishing.
2026-02-08 02:17:22 -06:00
J. Nick Koston bfee24421a Merge branch 'voice-assistant-timer-vector' into integration 2026-02-08 02:07:34 -06:00
J. Nick Koston 86fee6e4af [voice_assistant] Replace timer unordered_map with vector to eliminate per-tick heap allocation 2026-02-08 02:02:55 -06:00
J. Nick Koston 48ea97139e Merge branch 'web_server_idf_namespace' into integration 2026-02-08 01:47:01 -06:00
J. Nick Koston 67fbd31e46 [web_server_idf] Use C++17 nested namespace style 2026-02-08 01:45:22 -06:00
schrob 7b40e8afcb [epaper_spi] Declare leaf classes final (#13776) 2026-02-07 19:21:37 -06:00
J. Nick Koston d73384ae46 revert this after https://github.com/libretiny-eu/libretiny/pull/361 2026-02-07 19:07:15 -06:00
J. Nick Koston 456e0f2679 revert this after https://github.com/libretiny-eu/libretiny/pull/361 2026-02-07 18:37:32 -06:00
J. Nick Koston 852efb06a8 Merge remote-tracking branch 'origin/libretiny_1120' into integration 2026-02-07 18:33:46 -06:00
J. Nick Koston 1b1efc5d49 revert this after https://github.com/libretiny-eu/libretiny/pull/361 2026-02-07 18:28:28 -06:00
J. Nick Koston 67bfbee567 revert this after https://github.com/libretiny-eu/libretiny/pull/361 2026-02-07 18:23:59 -06:00
J. Nick Koston 3deea03ff5 revert this after https://github.com/libretiny-eu/libretiny/pull/361 2026-02-07 18:19:08 -06:00
J. Nick Koston c139aff8d9 Merge remote-tracking branch 'upstream/libretiny_1120' into integration 2026-02-07 18:05:38 -06:00
J. Nick Koston 98f900183d update boards as well 2026-02-07 18:04:41 -06:00
J. Nick Koston 059087ed21 [libretiny] Update LibreTiny to v1.12.0 2026-02-07 18:01:52 -06:00
J. Nick Koston d3778af3e8 [libretiny] Update LibreTiny to v1.12.0 2026-02-07 18:01:19 -06:00
J. Nick Koston 663151821f Merge branch 'cswitch_sdk' into integration 2026-02-07 18:00:55 -06:00
J. Nick Koston 8c4a732eb7 copilot edge cases 2026-02-07 18:00:30 -06:00
J. Nick Koston 2d0b1db3dd Merge branch 'cswitch_sdk' into integration 2026-02-07 17:53:31 -06:00
J. Nick Koston 4e3ccb4fc5 [analyze-memory] Attribute CSWTCH symbols from SDK archives 2026-02-07 17:52:20 -06:00
J. Nick Koston 66ab62b3fb Merge branch 'deprecate_set_retry' into integration 2026-02-07 17:26:28 -06:00
J. Nick Koston 2a6e20dd32 [core] Deprecate set_retry, cancel_retry, and RetryResult
set_retry does a std::make_shared<RetryArgs>() heap allocation on every
invocation. No core component needs this pattern - all callers have been
migrated to set_timeout or set_interval in prior PRs. The feature wastes
flash and RAM on every firmware for a pattern that set_interval covers
better, and the hidden heap allocation is a footgun for component authors.

Deprecated in 2026.2.0, removal in 2026.8.0.

Depends on:
- #13841 [lps22] Replace set_retry with set_interval
- #13842 [ms8607] Replace set_retry with set_timeout chain
- #13843 [speaker] Replace set_retry with set_interval
- #13844 [esp32_hosted] Replace set_retry with set_interval
2026-02-07 17:25:59 -06:00
J. Nick Koston 7516e418f2 Merge branch 'ms8607_remove_set_retry' into integration 2026-02-07 17:23:25 -06:00
J. Nick Koston 3864f06a15 Merge branch 'esp32_hosted_remove_set_retry' into integration 2026-02-07 17:23:21 -06:00
J. Nick Koston 98dcea6e7d Merge branch 'speaker_media_player_remove_set_retry' into integration 2026-02-07 17:23:15 -06:00
J. Nick Koston 9ee51b06fa Merge branch 'deprecate_set_retry' into integration 2026-02-07 17:23:12 -06:00
J. Nick Koston 4efca40457 Merge branch 'lps22_remove_set_retry' into integration 2026-02-07 17:23:06 -06:00
J. Nick Koston a43e3e5948 [dashboard] Close WebSocket after process exit to prevent zombie connections (#13834) 2026-02-07 15:19:20 -06:00
J. Nick Koston f64f71b9ac Merge remote-tracking branch 'upstream/dev' into integration 2026-02-07 15:13:45 -06:00
J. Nick Koston 60298f67b8 [ms8607] Replace set_retry with set_timeout chain to avoid heap allocation
set_retry internally does a std::make_shared<RetryArgs>() heap allocation
on every invocation. Replace with a try_reset_() method that chains
set_timeout calls with manual backoff, preserving the same timing
(immediate, +5ms, +25ms).
2026-02-07 14:53:18 -06:00
J. Nick Koston 4d2354da2e [esp32_hosted] Replace set_retry with set_interval to avoid heap allocation
set_retry internally does a std::make_shared<RetryArgs>() heap allocation
on every invocation. Replace with set_interval + countdown counter which
avoids this entirely. The original code used fixed-interval polling
(no backoff), making set_interval a direct fit.
2026-02-07 14:51:45 -06:00
J. Nick Koston 6a3da67a1e [speaker] Replace set_retry with set_interval to avoid heap allocation
set_retry internally does a std::make_shared<RetryArgs>() heap allocation
on every invocation. Replace with set_interval + countdown counter which
avoids this entirely. All 3 call sites used fixed-interval polling
(no backoff), making set_interval a direct fit.
2026-02-07 14:48:34 -06:00
J. Nick Koston 6ebafa8a9e [core] Deprecate set_retry, cancel_retry, and RetryResult
set_retry does a std::make_shared<RetryArgs>() heap allocation on every
invocation. No core component needs this pattern - all callers have been
migrated to set_timeout or set_interval in prior PRs. The feature wastes
flash and RAM on every firmware for a pattern that set_interval covers
better, and the hidden heap allocation is a footgun for component authors.

Deprecated in 2026.2.0, removal in 2026.8.0.

Depends on:
- #13841 [lps22] Replace set_retry with set_interval
- #13842 [ms8607] Replace set_retry with set_timeout chain
- #13843 [speaker] Replace set_retry with set_interval
- #13844 [esp32_hosted] Replace set_retry with set_interval
2026-02-07 14:44:09 -06:00
J. Nick Koston 3ba7e48615 [lps22] Replace set_retry with set_interval to avoid heap allocation
set_retry internally does a std::make_shared<RetryArgs>() heap allocation
on every invocation. Replace with set_interval + countdown counter which
avoids this entirely.
2026-02-07 14:27:10 -06:00
schrob 9de91539e6 [epaper_spi] Add Waveshare 1.54-G (#13758) 2026-02-08 06:24:57 +11:00
J. Nick Koston 51b0661d9d Merge branch 'scheduler-inplace-cleanup' into integration 2026-02-07 19:56:42 +01:00
J. Nick Koston 3c85ff4744 try to avoid bloat 2026-02-07 19:56:20 +01:00
J. Nick Koston 6a383a62b8 Merge branch 'scheduler-inplace-cleanup' into integration 2026-02-07 19:52:42 +01:00
tronikos 9bc93415d8 fix 2026-02-07 03:07:09 -08:00
tronikos 02d3202026 add deprecated functions 2026-02-07 02:08:28 -08:00
tronikos 1aa4891c83 fix 2026-02-07 01:44:43 -08:00