commit 48968551cccf7e37de23766ecb108e53e0ee508d
parent 85aa43b1e9e06a1604c8df8e0e41ea86d8dbf4c1
Author: Daniel Barlow <dan@telent.net>
Date: Sat, 14 Feb 2026 20:34:14 +0000
add getrandom 0.2.17 with custom source
Diffstat:
3 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
@@ -435,6 +435,7 @@ dependencies = [
"esp-radio",
"esp-rtos",
"esp-storage",
+ "getrandom",
"hashbrown",
"log",
"nb 1.1.0",
@@ -1274,6 +1275,17 @@ dependencies = [
]
[[package]]
+name = "getrandom"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
name = "group"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2131,6 +2143,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
[[package]]
+name = "wasi"
+version = "0.11.1+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
+
+[[package]]
name = "wasm-bindgen"
version = "0.2.108"
source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/ecu-esp32/Cargo.toml b/ecu-esp32/Cargo.toml
@@ -78,3 +78,4 @@ trouble-host = { version = "0.5.1", default-features = false, features = [
"dev-disable-csprng-seed-requirement" # !!!!
]}
esp-nvs = { version = "0.2.0", features = ["esp32c3"] }
+getrandom = { version = "0.2.17", features = ["custom"] }
diff --git a/ecu-esp32/src/main.rs b/ecu-esp32/src/main.rs
@@ -20,6 +20,17 @@ pub mod streamer;
pub mod ota;
pub mod wibble;
+use getrandom::Error;
+
+pub fn getrandom_custom(dest: &mut [u8]) -> Result<(), Error> {
+ unsafe {
+ esp_hal::rng::Rng::new().read_into_raw(dest.as_mut_ptr(), dest.len())
+ };
+ Ok(())
+}
+use getrandom::register_custom_getrandom;
+register_custom_getrandom!(getrandom_custom);
+
use esp_hal::{
timer::timg::TimerGroup,
clock::CpuClock,