Commit Graph

22711 Commits

Author SHA1 Message Date
J. Nick Koston 21659f61e2 Merge branch 'loglistener-to-logcallback' into integration 2026-02-18 23:08:39 -06:00
J. Nick Koston e9fee86c9d [logger] Replace LogListener virtual interface with LogCallback struct
Replace the LogListener abstract class (single pure virtual method) with
a lightweight LogCallback struct containing a function pointer + instance
pointer. This eliminates a vtable sub-table and thunk from every class
that previously inherited LogListener.

Savings per former LogListener implementer:
- 12 bytes vtable (sub-table header + thunk slot)
- 4 bytes vtable (on_log in primary table)
- ~23 bytes thunk code
- ~39 bytes total per class

Affected classes: APIServer, WebServer, MQTTClientComponent, Syslog,
BLENUS, LoggerMessageTrigger (6 classes, ~234 bytes total).

The non-capturing lambdas used at registration sites decay to plain
function pointers at compile time -- zero closure/std::function overhead.
2026-02-18 22:42:59 -06:00
J. Nick Koston 280f135ac7 Merge remote-tracking branch 'origin/dev' into integration 2026-02-18 22:07:36 -06:00
Marc Hörsken 4d05e4d576 [esp32_camera] Add support for sensors without JPEG support (#9496)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@home-assistant.io>
Co-authored-by: J. Nick Koston <nick@koston.org>
2026-02-18 21:52:38 -06:00
Kevin Ahrendt eefad194d0 [audio, speaker] Add support for decoding Ogg Opus files (#13967) 2026-02-18 21:51:33 -06:00
Kevin Ahrendt ba7134ee3f [mdns] add Sendspin advertisement support (#14013)
Co-authored-by: J. Nick Koston <nick@home-assistant.io>
2026-02-18 21:51:16 -06:00
Kevin Ahrendt 264c8faedd [media_player] Add more commands to support Sendspin (#12258)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick+github@koston.org>
2026-02-18 21:51:01 -06:00
Kevin Ahrendt 3c227eeca4 [audio] Add support for sinking via an arbitrary callback (#14035) 2026-02-18 21:50:39 -06:00
J. Nick Koston c8598fe620 [bluetooth_proxy] Use constexpr for remaining compile-time constants (#14080) 2026-02-18 21:34:25 -06:00
J. Nick Koston 2f9b76f129 [pn7160] Use constexpr for compile-time constants (#14078) 2026-02-18 21:33:39 -06:00
J. Nick Koston 9a8b00a428 [nfc] Use constexpr for compile-time constants (#14077) 2026-02-18 21:33:23 -06:00
J. Nick Koston eaf0d03a37 [ld2420] Use constexpr for compile-time constants (#14079) 2026-02-18 21:32:37 -06:00
J. Nick Koston e7f2021864 [http_request] Replace std::map with std::vector in action template (#14026) 2026-02-18 21:32:24 -06:00
J. Nick Koston dff9780d3a [core] Use constexpr for compile-time constants (#14071) 2026-02-19 03:19:48 +00:00
J. Nick Koston 20239d1bb3 [remote_base] Use constexpr for compile-time constants (#14076) 2026-02-19 03:16:09 +00:00
J. Nick Koston d3fc9ec1ec Merge branch 'constexpr-cse7761' into integration 2026-02-18 21:13:42 -06:00
J. Nick Koston 5cb0267d4d [cse7761] Use constexpr for compile-time constants 2026-02-18 21:13:19 -06:00
J. Nick Koston ee7d63f73a [packet_transport] Use constexpr for compile-time constants (#14074) 2026-02-18 21:09:49 -06:00
J. Nick Koston ecdbe18cf6 Merge branch 'constexpr-ble-followup' into integration 2026-02-18 21:08:46 -06:00
J. Nick Koston a8cf54face [bluetooth_proxy] Use constexpr for remaining compile-time constants
Followup to #14073 addressing review feedback.
2026-02-18 21:08:08 -06:00
J. Nick Koston 76c151c6e6 [api] Use constexpr for compile-time constant (#14072) 2026-02-18 21:07:38 -06:00
J. Nick Koston 9c9365c146 [bluetooth_proxy][esp32_ble_client][esp32_ble_server] Use constexpr for compile-time constants (#14073) 2026-02-18 21:07:06 -06:00
J. Nick Koston 8f9581c5ce Merge branch 'constexpr-ld2420' into integration 2026-02-18 21:05:35 -06:00
J. Nick Koston 115d700e5c [ld2420] Use constexpr for compile-time constants 2026-02-18 21:03:36 -06:00
J. Nick Koston 8e83c141a9 Merge branch 'constexpr-nfc' into integration 2026-02-18 21:02:19 -06:00
J. Nick Koston 48502d22e6 Merge branch 'constexpr-pn71xx' into integration 2026-02-18 21:02:14 -06:00
J. Nick Koston 7e118178b3 [web_server] Fix water_heater JSON key names and move traits to DETAIL_ALL (#14064) 2026-02-18 21:00:24 -06:00
J. Nick Koston 66d2ac8cb9 [web_server] Move climate static traits to DETAIL_ALL only (#14066) 2026-02-18 21:00:09 -06:00
J. Nick Koston 70b77754c5 [pn7160] Use constexpr for compile-time constants
pn7160.h and pn7150.h are each included by 3 translation units,
so static const causes duplicate copies in each TU's literal pool.
constexpr allows the compiler to use immediate values instead.
2026-02-18 20:59:31 -06:00
J. Nick Koston e4c233b6ce [mqtt] Use constexpr for compile-time constants (#14075) 2026-02-18 20:59:31 -06:00
J. Nick Koston c855e20434 [nfc] Use constexpr for compile-time constants
These headers are included by multiple translation units, so
static const causes duplicate copies in each TU's literal pool.
constexpr allows the compiler to use immediate values instead.
2026-02-18 20:58:19 -06:00
J. Nick Koston be853afc24 [core] Conditionally compile setup_priority override infrastructure (#14057) 2026-02-18 20:57:56 -06:00
J. Nick Koston 683f5783dd Merge branch 'constexpr-remote-base' into integration 2026-02-18 20:56:11 -06:00
J. Nick Koston e756ae1f0c Merge branch 'constexpr-mqtt' into integration 2026-02-18 20:56:06 -06:00
J. Nick Koston ac0d163b0e Merge branch 'constexpr-packet-transport' into integration 2026-02-18 20:55:55 -06:00
J. Nick Koston 6bb4f24e6f Merge branch 'constexpr-ble' into integration 2026-02-18 20:55:50 -06:00
J. Nick Koston 52e6633e6e Merge branch 'constexpr-api' into integration 2026-02-18 20:55:43 -06:00
J. Nick Koston f9c171b347 Merge branch 'constexpr-core-constants' into integration 2026-02-18 20:55:39 -06:00
J. Nick Koston ba30496a7e Merge branch 'constexpr-high-impact-constants' into integration 2026-02-18 20:55:31 -06:00
J. Nick Koston 4eeef177af [remote_base] Use constexpr for compile-time constants 2026-02-18 20:39:45 -06:00
J. Nick Koston e11dbed85f [mqtt] Use constexpr for compile-time constants 2026-02-18 20:37:58 -06:00
J. Nick Koston 872594ec6f [packet_transport] Use constexpr for compile-time constants 2026-02-18 20:36:43 -06:00
J. Nick Koston 3ee7f3197c [bluetooth_proxy] Use constexpr for compile-time constants 2026-02-18 20:35:54 -06:00
J. Nick Koston abea6fabbb [api] Use constexpr for compile-time constant 2026-02-18 20:35:04 -06:00
J. Nick Koston cf2e9dfd11 [core] Use constexpr for compile-time constants
Replace const with constexpr for integer constants initialized
with literal values to enable compile-time evaluation.
2026-02-18 20:31:00 -06:00
J. Nick Koston 565443b710 [pulse_counter] Fix compilation on ESP32-C6/C5/H2/P4 (#14070) 2026-02-18 19:08:53 -06:00
J. Nick Koston 3b869f1720 [web_server] Double socket allocation to prevent connection exhaustion (#14067) 2026-02-18 19:01:37 -06:00
J. Nick Koston 5f82017a31 [udp] Register socket consumption for CONFIG_LWIP_MAX_SOCKETS (#14068) 2026-02-18 19:01:00 -06:00
J. Nick Koston c28f9b148c Merge branch 'udp-consume-sockets' into integration 2026-02-18 18:45:32 -06:00
J. Nick Koston c58ecaf909 Merge branch 'fix-pulse-counter-c6-compile' into integration 2026-02-18 18:45:24 -06:00