Commit Graph
3254 Commits
Author SHA1 Message Date
J. Nick Koston 3f1bf4cd69 Merge remote-tracking branch 'upstream/fix-gamma-lut-zero-quantization' into integration 2026-03-21 10:32:28 -10:00
J. Nick Koston 6db577f1f2 Merge remote-tracking branch 'upstream/api/peel-first-write-iteration' into integration 2026-03-21 10:32:18 -10:00
J. Nick Koston 44e1a86819 [benchmark] Use TCP loopback sockets and correct message type
Use real TCP sockets instead of AF_UNIX socketpair so TCP_NODELAY
succeeds during init() and the benchmark exercises the full write
path. Replace hardcoded message type 38 with SensorStateResponse::MESSAGE_TYPE.
2026-03-21 09:02:17 -10:00
J. Nick Koston 135c599561 [benchmark] Pre-init APIBuffer to 1460 bytes in plaintext frame benchmarks
Avoid benchmarking heap allocation by pre-reserving the buffer
to typical TCP MSS size and reusing it across iterations, matching
real-world usage where the buffer persists across writes.
2026-03-21 08:48:15 -10:00
J. Nick Koston 41ff09d18a [light] Extract generate_gamma_table and add tests
Extract the gamma table generation into a public generate_gamma_table()
function and add unit tests covering table properties and the
zero_means_zero regression from #15055.
2026-03-21 08:23:52 -10:00
J. Nick Koston b9679f6caf Merge branch 'dev' into benchmark/plaintext-frame-v2 2026-03-21 08:09:51 -10:00
J. Nick Koston b08de20e6d Merge remote-tracking branch 'upstream/fix-constant-brightness-gamma' into integration 2026-03-20 22:14:36 -10:00
J. Nick KostonandCopilot 4d805e2d30 Update tests/integration/test_light_constant_brightness.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-20 22:06:03 -10:00
J. Nick Koston f50720a3c5 [light] Add integration tests for constant_brightness with gamma
Regression tests for #15040 using a single compiled binary with two
cwww lights to verify:
- constant_brightness: true maintains constant total CW+WW power
  output across all color temperatures with gamma correction
- constant_brightness: false correctly varies total power (higher
  at mid-range where both channels contribute)
2026-03-20 22:00:44 -10:00
J. Nick Koston 7b6312a819 Merge remote-tracking branch 'upstream/libsodium-enable-weak-symbols' into integration 2026-03-20 18:02:29 -10:00
J. Nick Koston 1920d8a887 [benchmark] Add noise encryption benchmarks (#15037) 2026-03-20 17:35:17 -10:00
J. Nick Koston 4bf84b6c61 [benchmark] Enable codegen for api dependency chain (socket, network, mdns) 2026-03-20 16:21:31 -10:00
J. Nick Koston cf7b63da60 [benchmark] Add both USE_API_PLAINTEXT and USE_API_NOISE defines 2026-03-20 16:07:30 -10:00
J. Nick Koston bc2654379b [benchmark] Fix api init: use build flag instead of enable_codegen 2026-03-20 16:05:25 -10:00
J. Nick Koston 328ef819e6 [benchmark] Fix plaintext frame benchmark build: enable api codegen 2026-03-20 16:02:44 -10:00
J. Nick Koston 9bd5d91e61 [benchmark] Add plaintext API frame write benchmarks 2026-03-20 15:53:58 -10:00
J. Nick Koston 0e9936f9fa Merge remote-tracking branch 'upstream/dev' into integration 2026-03-20 15:14:58 -10:00
Daniel KentandJonathan Swoboda 2d39cc2540 [spa06_i2c] Add SPA06-003 Temperature and Pressure Sensor - I2C support (Part 2 of 3) (#14522)
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com>
2026-03-21 00:38:04 +00:00
J. Nick Koston 830f766f0c Merge remote-tracking branch 'upstream/fix-sht4x-heater-jitter' into integration 2026-03-20 14:22:50 -10:00
J. Nick Koston c2b2aaddd1 [sht4x] Move timestamp update after successful command, add heater test
Only advance last_heater_millis_ after the heater command succeeds
so a failed write retries on the next cycle instead of silently
skipping.

Add heater settings to the test YAML to ensure CI exercises the
heater code path.
2026-03-20 12:57:53 -10:00
J. Nick Koston 3541dced07 Merge remote-tracking branch 'upstream/dev' into integration 2026-03-20 12:25:10 -10:00
Javier Peletier 5a9977cf5c [lvgl] Fix arc indicator widget not registered in widget_map (#14986) 2026-03-21 07:35:41 +11:00
J. Nick Koston 02ada93ea5 [wifi] Reject WiFi config on RP2040/RP2350 boards without CYW43 chip (#14990) 2026-03-19 18:40:33 -10:00
J. Nick Koston 6348eafcb6 Merge remote-tracking branch 'upstream/fix-rp2040-wifi-validation' into integration 2026-03-19 16:15:46 -10:00
J. Nick Koston 01b32124ad Merge remote-tracking branch 'upstream/fix-uart0-iomux-loopback' into integration 2026-03-19 09:56:59 -10:00
aanbanJonathan Swobodapre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
b9439036d4 [remote_base] add support for brennenstuhl comfort-line switches (#9407)
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-03-19 09:19:24 -04:00
luar123pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>Jonathan SwobodaJ. Nick KostonClaude Opus 4.6
96da6dd075 [esp32] Add custom partitions and refactor partition table generation (#7682)
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@home-assistant.io>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 07:41:11 -04:00
J. Nick Koston b5b84c1570 Merge remote-tracking branch 'upstream/packet-transport-inline-callback' into integration 2026-03-18 23:45:34 -10:00
J. Nick Koston f8af05bbea Merge remote-tracking branch 'upstream/dev' into integration 2026-03-18 23:22:56 -10:00
Javier PeletierandJ. Nick Koston c2c50ceea7 [substitutions] substitutions pass and !include redesign (package refactor part 2a) (#14917)
Co-authored-by: J. Nick Koston <nick@koston.org>
2026-03-18 23:10:01 -10:00
J. Nick Koston 9a3798ad2a [packet_transport] Fix tests to call set_sensor_count before add_sensor
FixedVector requires init() before push_back(). Update all test cases
to call set_sensor_count()/set_binary_sensor_count() before adding
sensors, matching what the Python codegen does.
2026-03-18 21:46:41 -10:00
Clyde Stubbspre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>Jonathan Swoboda
2341d510d3 [lvgl] Migrate to library v9.5.0 (#12312)
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com>
2026-03-19 20:31:33 +13:00
J. Nick Koston f83a2768b6 Merge remote-tracking branch 'upstream/add-enc28j60-ethernet' into integration 2026-03-18 17:32:38 -10:00
J. Nick Koston c752c023a4 [ethernet] Add ENC28J60 SPI Ethernet support for ESP32 and RP2040 2026-03-18 17:14:43 -10:00
J. Nick Koston 1f2cbc3b34 Merge remote-tracking branch 'upstream/dev' into integration 2026-03-18 12:39:05 -10:00
Jonathan Swoboda 097e6eb41f [i2s_audio] Remove legacy I2S driver support (#14932) 2026-03-18 11:42:56 -10:00
J. Nick Koston 9a80c980cb [scheduler] Early exit cancel path after first match (#14902) 2026-03-18 07:48:26 -10:00
J. Nick Koston e79a4d6d2d Merge branch 'scheduler-cancel-early-exit' into integration 2026-03-17 16:41:30 -10:00
J. Nick Koston 2c01f961c6 [scheduler] Early exit cancel path in set_timer_common_ and fix benchmark
Add find_first parameter to cancel_item_locked_ and
mark_matching_items_removed_locked_, defaulting to false (cancel all).

When find_first=true, stops after the first match and exits across
containers. set_timer_common_ passes find_first=true where the
cancel-before-add invariant guarantees at most one match.

The public cancel path uses the default find_first=false to cancel ALL
matches, needed for DelayAction parallel mode where skip_cancel=true
can create multiple items with the same key.

Also fixes the Scheduler_SetInterval benchmark to call
process_to_add() every kKeyCount registrations with a final drain
after the inner loop, reflecting production behavior.
2026-03-17 16:34:32 -10:00
J. Nick Koston 3e845d387a [tests] Fix test_show_logs_serial taking 30s due to unmocked serial port wait (#14903) 2026-03-17 14:44:17 -10:00
J. Nick Koston d27a54553c Merge remote-tracking branch 'upstream/fix-slow-serial-log-test' into integration
# Conflicts:
#	.github/workflows/ci.yml
#	esphome/components/esp32_ble_server/ble_server.cpp
#	esphome/components/mqtt/mqtt_backend_esp32.cpp
#	script/cpp_benchmark.py
#	script/determine-jobs.py
2026-03-17 14:30:31 -10:00
J. Nick Koston cdf05263df [tests] Fix test_show_logs_serial taking 30s due to unmocked serial port wait
The test was calling show_logs() which invokes _wait_for_serial_port("/dev/ttyUSB0").
Since that path doesn't exist in CI/dev environments, it spun in a 30-second polling
loop before returning. Add mock_wait_for_serial_port fixture to skip the wait.
2026-03-17 14:26:24 -10:00
0c5f055d45 [core] cpp tests: Allow customizing code generation during tests (#14681)
Co-authored-by: J. Nick Koston <nick@home-assistant.io>
Co-authored-by: J. Nick Koston <nick@koston.org>
2026-03-18 00:16:01 +00:00
J. Nick Koston 1670f04a87 [core] Add CodSpeed C++ benchmarks for protobuf, main loop, and helpers (#14878) 2026-03-17 12:29:38 -10:00
J. Nick Koston afb3acedeb Merge remote-tracking branch 'origin/scheduler-process-to-add-fast-path' into integration 2026-03-17 12:07:25 -10:00
J. Nick Koston c88a01227c Merge remote-tracking branch 'upstream/dev' into integration 2026-03-17 10:21:29 -10:00
J. Nick Koston f57c9d0501 Merge branch 'dev' into codspeed-benchmarks 2026-03-17 08:45:33 -10:00
Jonathan Swoboda b083491e74 [microphone] Switch IDF test to new I2S driver (#14886) 2026-03-17 13:46:32 -04:00
J. Nick Koston 4003406f8b Remove Scheduler_NextScheduleIn benchmark — too cheap, flaps 2026-03-17 02:06:16 -10:00
J. Nick Koston e14443b9c3 Fix ProtoSize_Varint benchmarks: prevent constant folding
The compiler constant-folds ProtoSize::varint(42) to 1 and optimizes
the entire inner loop to a single addition, causing ~62ns jitter-dominated
measurements. Use varying inputs (i & 0x7F for small, 0xFFFF0000 | i for
large) so each call computes a real result.
2026-03-17 01:50:36 -10:00