Commit Graph

23014 Commits

Author SHA1 Message Date
J. Nick Koston
9eb0bac2f3 Merge branch 'logger-compile-time-tx-buffer' into integration 2026-02-22 12:07:07 -06:00
J. Nick Koston
92c1b1d481 Merge branch 'web_server_base_cleanup' into integration 2026-02-22 11:59:29 -06:00
J. Nick Koston
5101250eae [logger] Make tx_buffer_ compile-time sized
Replace the heap-allocated tx_buffer_ (new char[]) with a compile-time
sized inline array using ESPHOME_LOGGER_TX_BUFFER_SIZE define. This
eliminates a heap allocation during Logger construction, saving ~513
bytes of heap on memory-constrained devices like BK72xx.

Changes:
- Add ESPHOME_LOGGER_TX_BUFFER_SIZE define set from Python config
- Change tx_buffer_ from char* to char[ESPHOME_LOGGER_TX_BUFFER_SIZE+1]
- Remove tx_buffer_size_ member field
- Update constructor to no longer take tx_buffer_size parameter
- Update all references to use the compile-time constant
2026-02-22 11:57:36 -06:00
J. Nick Koston
5e7a400dc3 [web_server_base] Remove unnecessary Component inheritance and modernize
WebServerBase was registered as a Component but never used the lifecycle -
no setup(), loop(), or dump_config(). The get_setup_priority() override
was dead code since there was nothing to schedule. It is just a shared
base class that holds the AsyncWebServer and handler list, with init/deinit
called manually by consumers via reference counting.

- Remove Component inheritance and register_component call
- Use C++17 nested namespace syntax
- Replace unique_ptr<AsyncWebServer> with raw pointer (server is never
  deleted in practice - device runs until power loss)
- Remove unused includes (memory, component.h, application.h, helpers.h, log.h)
2026-02-22 11:37:15 -06:00
J. Nick Koston
7d8a103718 Merge branch 'setup_heap_stats' into integration 2026-02-22 10:53:42 -06:00
J. Nick Koston
bdaebe48d6 Merge branch 'dev' into setup_heap_stats 2026-02-22 10:53:21 -06:00
J. Nick Koston
1fa340c6a4 Merge remote-tracking branch 'origin/dev' into integration 2026-02-22 10:23:01 -06:00
Edward Firmo
e013b48675 [nextion] Add error log for failed HTTP status during TFT upload (#14190) 2026-02-21 23:44:06 -06:00
J. Nick Koston
49e4ae54be [bme68x_bsec2] Fix compilation on ESP32 Arduino (#14194) 2026-02-22 05:22:59 +00:00
J. Nick Koston
c98b955881 Merge remote-tracking branch 'origin/pack-entity-strings' into integration 2026-02-21 22:13:39 -06:00
J. Nick Koston
5fd0ee1717 Merge branch 'dev' into pack-entity-strings 2026-02-21 22:12:49 -06:00
J. Nick Koston
50e2f62c89 Merge remote-tracking branch 'origin/integration' into integration 2026-02-21 22:10:16 -06:00
J. Nick Koston
655968af66 Merge remote-tracking branch 'origin/api-stringref-user-services' into integration 2026-02-21 22:10:03 -06:00
J. Nick Koston
c636984e3a deferred 2026-02-21 21:53:57 -06:00
J. Nick Koston
e1e20422a6 deferred 2026-02-21 21:47:03 -06:00
J. Nick Koston
1183aae319 deferred 2026-02-21 21:38:03 -06:00
J. Nick Koston
b6e8e92416 deferred 2026-02-21 21:34:07 -06:00
J. Nick Koston
1003247a41 deferred 2026-02-21 21:32:59 -06:00
J. Nick Koston
83ccdc36cd deferred 2026-02-21 21:26:31 -06:00
J. Nick Koston
d21d897766 deferred 2026-02-21 21:12:31 -06:00
J. Nick Koston
38058d0308 deferred 2026-02-21 21:07:21 -06:00
J. Nick Koston
8bf757d989 deferred 2026-02-21 20:59:09 -06:00
J. Nick Koston
23a57b9224 revert format change 2026-02-21 20:53:08 -06:00
J. Nick Koston
fa343aa1ba tweaks 2026-02-21 20:49:49 -06:00
J. Nick Koston
b85878e1ee tweaks 2026-02-21 20:42:12 -06:00
J. Nick Koston
a4d19cdf57 tweaks 2026-02-21 20:39:23 -06:00
J. Nick Koston
ec1dbd39ae tests 2026-02-21 20:37:28 -06:00
J. Nick Koston
15a125ca00 overkill 2026-02-21 20:28:07 -06:00
J. Nick Koston
5e7a61ab20 Merge remote-tracking branch 'upstream/dev' into api-stringref-user-services 2026-02-21 20:21:58 -06:00
J. Nick Koston
ab7e02d6bf tweak 2026-02-21 20:21:34 -06:00
J. Nick Koston
4f55b993e7 Merge remote-tracking branch 'origin/libretiny-lwip-tune' into integration 2026-02-21 20:04:31 -06:00
J. Nick Koston
d5efbfde5c [socket] Return SocketCounts dataclass from get_socket_counts()
Replace the unwieldy 6-tuple with a frozen dataclass for clarity
and named attribute access at call sites.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 20:03:17 -06:00
J. Nick Koston
623bbc0dbe Merge branch 'dev' into libretiny-lwip-tune 2026-02-21 19:44:17 -06:00
J. Nick Koston
d5c9c56fdf [platformio] Add exponential backoff and session reset to download retries (#14191) 2026-02-21 19:41:43 -06:00
J. Nick Koston
a468261523 [scheduler] De-template and consolidate scheduler helper functions (#14164) 2026-02-21 19:41:26 -06:00
J. Nick Koston
30a2af0d54 [socket] Add MIN_TCP_LISTEN_SOCKETS constant for consistency
- Clarify MIN_TCP_SOCKETS comment: covers minimal configs (api-only);
  when web_server is present its 5 sockets push past the minimum.
- Add MIN_TCP_LISTEN_SOCKETS = 2 alongside MIN_TCP/MIN_UDP for
  consistency instead of hardcoding the value in libretiny.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 19:39:14 -06:00
J. Nick Koston
360a7ba9c7 [libretiny] Fix TCP_WND to show 3/10×MSS for BK reduced/default plans
BK SDK sets TCP_SND_BUF=10×MSS on both plans but TCP_WND varies:
3×MSS (reduced plan) vs 10×MSS (default plan). Also update stale
minimum counts in docstring (8 TCP / 6 UDP).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 19:29:39 -06:00
J. Nick Koston
57d5151c31 fix shadow 2026-02-21 19:24:48 -06:00
J. Nick Koston
367775dfd9 only during data 2026-02-21 19:24:05 -06:00
J. Nick Koston
66a2a0d62e only during data 2026-02-21 19:20:24 -06:00
J. Nick Koston
46c123ec61 Merge branch 'dev' into api-stringref-user-services 2026-02-21 19:01:36 -06:00
J. Nick Koston
3306fb2d21 Merge remote-tracking branch 'upstream/libretiny-lwip-tune' into integration 2026-02-21 17:50:04 -06:00
J. Nick Koston
ca82c7c7c6 [socket] Show (min) indicator when platform minimums are applied
Helps users understand why socket counts may be higher than what
their components registered.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 17:49:45 -06:00
J. Nick Koston
096694cd6b Merge remote-tracking branch 'upstream/libretiny-lwip-tune' into integration 2026-02-21 17:48:51 -06:00
J. Nick Koston
fadf7a2ba3 [socket] Lower minimum socket counts (TCP=8, UDP=6)
Previous minimums (10/8) were overly conservative. Most configs
register their actual needs via consume_sockets(), so the minimums
only need to cover unregistered components with modest headroom.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 17:48:35 -06:00
J. Nick Koston
2ece30ed76 Merge remote-tracking branch 'upstream/libretiny-lwip-tune' into integration 2026-02-21 17:47:20 -06:00
J. Nick Koston
e3154e48bd [libretiny] Log socket component details during lwIP configuration
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 17:47:06 -06:00
J. Nick Koston
2727f9c74f Merge remote-tracking branch 'upstream/libretiny-lwip-tune' into integration 2026-02-21 17:45:31 -06:00
J. Nick Koston
341b22c7e4 [socket] Include component details in platform lwIP log messages
get_socket_counts() now returns component detail strings alongside
counts so platforms can include them in their log messages. ESP32
INFO log now shows which components consume each socket type.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 17:45:13 -06:00
J. Nick Koston
1518875cd2 Merge remote-tracking branch 'origin/libretiny-lwip-tune' into integration 2026-02-21 17:41:18 -06:00