J. Nick Koston
b324630f8e
[light] Type-annotate to_code in mock_addressable_light
2026-04-13 14:56:02 -10:00
J. Nick Koston
32130e1cb1
[light] Address Copilot review feedback on PR #15726
...
- mock_addressable_light.h: add direct <memory>/<cstdint>/<cstddef> includes
- test: use asyncio.get_running_loop() instead of deprecated get_event_loop()
- test: rebase timing to command-issue time (not first-nonzero) and use
absolute progress for assertion 2, so late-transition check can't skew
when the first nonzero sample happens to land near the assertion-1 limit
2026-04-13 14:53:17 -10:00
J. Nick Koston
3f56e0255a
[light] Avoid addressable transition stall at low gamma-corrected values
...
When a uniform-colored addressable strip transitions from one color to
another, interpolate math-only against a cached start color instead of
reading each LED's current value back through the 8-bit stored byte.
The old algorithm used led.get_red()/etc. every step as the source for
the delta, which round-tripped through gamma uncorrect/correct and the
8-bit stored byte. At gamma 2.8, any pre-gamma value below ~27 rounds
to stored byte 0, so small early-transition steps produced stored 0 and
the next step read back 0, stalling progress until ~90% of the transition
before a single step produced a large-enough pre-gamma value to clear
the gamma threshold. Result: dark for the first 9s of a 10s fade, then
jump on in the final 1s.
Detect uniform start state in start() and take a cheap math-only lerp
path when true, so the stored byte advances through each gamma threshold
as smoothed_progress crosses it. Falls back to the existing per-LED
read-back algorithm when the buffer is non-uniform (e.g. when
transitioning out of an addressable effect).
2026-04-13 14:17:21 -10:00
J. Nick Koston
8e02d0a20e
[fan] Store preset mode vector on Fan entity to eliminate heap allocation ( #15209 )
2026-04-09 10:25:37 +12:00
J. Nick Koston
faa05031a7
[climate] Store custom mode vectors on Climate entity to eliminate heap allocation ( #15206 )
2026-04-09 10:25:29 +12:00
Keith Burzinski and Claude Sonnet 4.6
225330413a
[uart] Rename FlushResult to UARTFlushResult with UART_FLUSH_RESULT_ prefix ( #15101 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-23 01:55:14 -05: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
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
888f3d804b
[ld2420] Add integration tests with mock UART ( #14471 )
2026-03-07 13:22:50 -10:00
b0be02e16d
[modbus] Fix timing bugs and better adhere to spec ( #8032 )
...
Co-authored-by: brambo123 <52667932+brambo123@users.noreply.github.com >
Co-authored-by: Keith Burzinski <kbx81x@gmail.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-05 20:54:17 +00:00
J. Nick Koston
5df4fd0a27
[tests] Fix flaky uart_mock integration tests ( #14476 )
2026-03-04 15:51:51 -10:00
Clyde Stubbs
cfde0613bb
[const][uart][usb_uart][weikai][core] Move constants to components/const ( #14430 )
2026-03-03 07:53:18 -05:00
Bonne Eggleston and J. Nick Koston
3160457ca6
Create integration tests for modbus ( #14395 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-03-01 22:51:27 -10:00
J. Nick Koston
80a2acca4f
[ld2410] Add UART mock integration test for LD2410 component ( #14377 )
2026-03-01 18:19:32 -10:00
J. Nick Koston
3642399460
[tests] Fix clang-tidy warnings in custom_api_device_component fixture ( #12390 )
2025-12-10 00:50:26 +01:00
J. Nick Koston
72c74bc0b3
[api] Store Home Assistant state subscriptions in flash instead of heap ( #12008 )
2025-12-09 16:26:11 +01:00
J. Nick Koston and Jesse Hills
1446e7174a
[core] Reduce action framework argument copies by 83% ( #11704 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2025-11-05 01:23:24 +00:00
J. Nick Koston
8c28f346c7
[gpio_expander] Add intelligent pin type selection to CachedGpioExpander template ( #10577 )
2025-09-08 10:57:02 +12:00
Jesse Hills
0b50ef227b
[helper] Make crc8 function more flexible to avoid reimplementation in individual components ( #10201 )
2025-08-20 14:27:08 +12:00
c85eb448e4
[gpio_expander] Fix bank caching ( #10077 )
...
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>
2025-08-05 13:45:52 +12:00
J. Nick Koston
f13e742bd5
[ruff] Enable RET and fix all violations ( #9929 )
2025-08-01 02:10:56 +00:00
Jesse Hills and J. Nick Koston
d3342d6a1a
[component] Fix `is_ready` flag when loop disabled ( #9501 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2025-07-15 07:20:18 +00:00
J. Nick Koston
dd5ba5a90c
Conditionally compile API user services to save 4.3KB flash (follow-up to #9262 ) ( #9451 )
2025-07-11 19:08:03 -10:00
J. Nick Koston
c1a994b1d9
Fix another race in the string lifetime scheduler test ( #9399 )
2025-07-10 09:11:42 +12:00
J. Nick Koston
b3d7f001af
Fix race condition in scheduler string lifetime integration test ( #9382 )
2025-07-08 06:54:47 -05:00
J. Nick Koston
3ef392d433
Fix scheduler race conditions and add comprehensive test suite ( #9348 )
2025-07-08 07:57:55 +12:00
J. Nick Koston and Copilot
b6fade7339
Fix defer() thread safety issues on multi-core platforms ( #9317 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-07 10:01:51 +12:00
J. Nick Koston
8ba22183b9
Add enable_loop_soon_any_context() for thread and ISR-safe loop enabling ( #9127 )
2025-06-19 13:30:41 +12:00
J. Nick Koston
2e534ce41e
Reduce CPU overhead by allowing components to disable their loop() ( #9089 )
2025-06-18 21:49:25 +12:00