J. Nick Koston and Claude Opus 4.6
c90eb90ff6
Fix clang-tidy naming and add PROTO_VARINT_PARSE_FAILED constant
...
- Rename parse_slow_ -> parse_slow and parse_wide_ -> parse_wide
(static methods should not have trailing underscore per clang-tidy)
- Add PROTO_VARINT_PARSE_FAILED constant for consumed field sentinel
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 17:23:36 -10:00
J. Nick Koston
e285fd6815
[api] Inline ProtoVarInt::parse fast path and return consumed in struct
...
Replace optional<ProtoVarInt> + consumed pointer with ProtoVarIntResult
struct that returns value + consumed count directly. This eliminates
memory stores through a pointer on the fast path (single-byte varints
< 128), keeping everything in registers.
The parse() method is now ESPHOME_ALWAYS_INLINE with the multi-byte
slow path outlined to parse_slow_(). The common case for protobuf
field tags, small enums, booleans, and typical message sizes/types
is a simple high-bit check + register return with no function call.
Measured on ESP32 (Xtensa): try_read_frame_ grows only +12 bytes
(320 → 332) for two inlined parse sites, while eliminating two
function calls per message on the hot path.
2026-03-08 17:13:03 -10:00
Jonathan Swoboda and Claude Opus 4.6
5b9cab02be
[multiple] Add default initializers to uninitialized member variables ( #14636 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 22:37:54 -04:00
cac751e9e8
[nextion] Add configurable HTTP parameters for TFT upload ( #14234 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-03-09 01:29:41 +00:00
6ba5c9a705
[api] Skip state_action_() call in noise data path ( #14629 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 01:22:39 +00:00
J. Nick Koston
c681dc8872
[socket] Add socket wake support for RP2040 ( #14498 )
2026-03-08 15:11:24 -10:00
J. Nick Koston and Claude Opus 4.6
d0285cdc41
[core] Pack entity flags into configure_entity_() and protect setters ( #14564 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 15:11:15 -10:00
J. Nick Koston
9547a54fac
[const] Move CONF_ENABLE_FULL_PRINTF to const.py ( #14633 )
2026-03-08 14:52:40 -10:00
J. Nick Koston
b05dbfccd3
[api] Bump noise-c to 0.1.11 ( #14632 )
2026-03-08 14:52:21 -10:00
J. Nick Koston
aef2d74e41
[ld2450] Add integration tests with mock UART ( #14611 )
2026-03-08 14:32:59 -10:00
J. Nick Koston
e1c849d5d2
[esp8266] Wrap printf/vprintf/fprintf to eliminate _vfiprintf_r (~1.6 KB flash) ( #14621 )
2026-03-08 14:32:47 -10:00
J. Nick Koston
c11ad7f0e6
[rp2040] Wrap printf/vprintf/fprintf to eliminate _vfprintf_r (~9.2 KB flash) ( #14622 )
2026-03-08 14:32:35 -10:00
J. Nick Koston and Clyde Stubbs
88536ff72b
[modbus] Fix timeout for non-hardware UARTs (e.g., USB UART) ( #14614 )
...
Co-authored-by: Clyde Stubbs <2366188+clydebarrow@users.noreply.github.com >
2026-03-08 14:31:42 -10:00
J. Nick Koston
93d7ec4d72
[esp32_ble] Inline ble_addr_to_uint64 to eliminate call overhead ( #14591 )
2026-03-08 14:07:59 -10:00
J. Nick Koston
66a5ad0d75
[core] Skip zero-initialization of StaticVector data array ( #14592 )
2026-03-08 14:06:55 -10:00
J. Nick Koston
771404668d
[api] Inline fast path of try_to_clear_buffer ( #14630 )
2026-03-08 14:01:01 -10:00
J. Nick Koston
76c567a71c
[scheduler] Use std::atomic<uint8_t> instead of std::atomic<bool> for remove flag ( #14626 )
2026-03-08 14:00:04 -10:00
J. Nick Koston
e7730cff00
[esp32_ble] Optimize BLE event hot path performance ( #14627 )
2026-03-08 13:59:40 -10:00
d5dc4a39cb
[i2s_audio] Fix mono sample swap and block 8-bit mono on ESP32 ( #14516 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-03-08 12:10:43 -10:00
Keith Burzinski
50b3f9d25c
[mixer_speaker] Add task debounce ( #14581 )
2026-03-08 18:09:06 -04:00
J. Nick Koston
ad5811280a
[ci] Add medium-pr label for PRs with ≤100 lines changed ( #14628 )
2026-03-08 10:59:43 -10:00
tomaszduda23 and J. Nick Koston
9be1876fae
[ble_nus] make ble_nus timeout shorter than watchdog ( #14619 )
...
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2026-03-08 10:52:16 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1b3a7f0b6a
Bump aioesphomeapi from 44.5.0 to 44.5.1 ( #14624 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-08 18:18:14 +00:00
Diorcet Yann
3f143d9f19
[ethernet] Fix commit 3f700bac1c ( #14618 )
2026-03-08 09:50:32 -04:00
Oliver Kleinecke
a9b5f95c76
[usb_uart] ch34x chip-type & port-count enumeration ( #14544 )
2026-03-08 21:24:39 +11:00
0c4a44566f
[serial_proxy] New component ( #13944 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-03-08 03:55:49 -05:00
2c705810cd
[nrf52] allow to update OTA via cmd ( #12344 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick+github@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-03-08 08:40:52 +00:00
J. Nick Koston and Claude Opus 4.6
a530aeec22
[api] Inline varint and encode_varint_raw fast paths for hot loop performance ( #14607 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 22:09:12 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
d9e76da806
Bump aioesphomeapi from 44.4.0 to 44.5.0 ( #14617 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-08 07:59:25 +00:00
e4b89a69d4
[nrf52, ota] ble and serial OTA based on mcumgr ( #11932 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick+github@koston.org >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-03-07 20:32:20 -10:00
Keith Burzinski
04cff1c916
[usb_uart] Return flush result, expose timeout via config ( #14616 )
2026-03-08 00:04:14 -06:00
5e842a8b20
[uart] Return flush result, expose timeout via config ( #14608 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-03-08 05:23:13 +00:00
J. Nick Koston and Claude Opus 4.6
be6c3c52ac
[api] Add force proto field option to skip zero checks on hot path ( #14610 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 18:59:13 -10:00
Jonathan Swoboda and Claude Opus 4.6
9fea8fe01b
[vbus][rf_bridge][sensirion_common] Add buffer size guards ( #14597 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 18:50:36 -10:00
J. Nick Koston and Keith Burzinski
d55fe9a34b
[api] Fix value-initialization of DeviceInfoResponse ( #14615 )
...
Co-authored-by: Keith Burzinski <kbx81x@gmail.com >
2026-03-07 18:34:35 -10:00
J. Nick Koston
66919ef969
[i2s_audio] Include legacy driver IDF component when use_legacy is set ( #14613 )
2026-03-07 22:33:54 -06:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ea7cfffdda
Bump aioesphomeapi from 44.3.1 to 44.4.0 ( #14609 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-08 02:40:13 +00:00
J. Nick Koston
888f3d804b
[ld2420] Add integration tests with mock UART ( #14471 )
2026-03-07 13:22:50 -10:00
J. Nick Koston
545395a6f0
[ci] Add RP2350 to PR template test environment ( #14599 )
2026-03-07 13:16:19 -10:00
Oliver Kleinecke
f2dfb5e1dc
[uart][usb_uart] Add debug_prefix option to distinguish multiple defined uarts in log ( #14525 )
2026-03-08 10:16:12 +11:00
Diorcet Yann and Jonathan Swoboda
3f700bac1c
[component] Fix components for compatibility with stricter compilers ( #14545 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-03-07 18:50:44 +00:00
J. Nick Koston
a0cd35c5fc
[core] Inline status_clear_warning/error fast path ( #14571 )
2026-03-07 07:27:08 -10:00
J. Nick Koston
e7b8ec18f1
[api] Inline APIServer::is_connected() for common no-arg path ( #14574 )
2026-03-07 07:26:50 -10:00
J. Nick Koston
77f2c371b2
[api] Single-pass protobuf encode for BLE proxy advertisements ( #14575 )
2026-03-07 07:26:34 -10:00
J. Nick Koston and Claude Opus 4.6
45f20d9c06
[core] Merge set_name + set_entity_strings into configure_entity_ ( #14444 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 07:26:01 -10:00
J. Nick Koston
f57fa4cc8d
[bluetooth_proxy] Add BLE connection parameters API ( #14577 )
2026-03-07 07:25:33 -10:00
J. Nick Koston
abc870006c
[captive_portal] Enable support for RP2040 ( #14505 )
2026-03-07 07:25:13 -10:00
puddly
15ffbb0b05
[uart] Fully enable raw mode with host serial ( #14573 )
2026-03-07 11:51:02 -05:00
Simon Redman
8b62c35ea7
[uart] Add error message when initializing UART with unsupported configuration ( #13229 )
2026-03-07 11:41:37 -05:00
tomaszduda23
0e106d843c
[nrf52][zephyr] support for multi on rate callbacks ( #14557 )
2026-03-07 11:18:21 -05:00