mirror of
https://github.com/esphome/esphome.git
synced 2026-07-10 17:05:36 +00:00
f02bf0763042e120da69d5c4e1c779467dff203a
Replace platform-specific random_uint32() implementations with a unified SplitMix32 PRNG seeded from random_bytes(). This provides consistent, fast, non-cryptographic random numbers on all platforms. ESP8266 retains os_random() as it is already faster on that platform. Benchmarked on real hardware (ns/call, before -> after): - RP2040: 2815 -> 333 (8.5x faster) - ESP32: 871 -> 354 (2.5x faster) - BK72xx: 1073 -> 882 (1.2x faster, replaces weak rand()) - RTL87xx: 330 -> 283 (1.2x faster, replaces weak rand()) - ESP8266: 763 (unchanged, keeps os_random()) random_bytes() remains platform-specific hardware RNG for crypto use.
Description
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Readme
Multiple Licenses
546 MiB
Languages
C++
60.1%
Python
39.3%
C
0.3%
JavaScript
0.2%
