aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embassy/src/lib.rs1
-rw-r--r--embassy/src/rand.rs14
2 files changed, 15 insertions, 0 deletions
diff --git a/embassy/src/lib.rs b/embassy/src/lib.rs
index 3b9aa8145..250ef5673 100644
--- a/embassy/src/lib.rs
+++ b/embassy/src/lib.rs
@@ -8,3 +8,4 @@ pub mod flash;
8pub mod io; 8pub mod io;
9pub mod time; 9pub mod time;
10pub mod util; 10pub mod util;
11pub mod rand; \ No newline at end of file
diff --git a/embassy/src/rand.rs b/embassy/src/rand.rs
new file mode 100644
index 000000000..bb6cd9d3d
--- /dev/null
+++ b/embassy/src/rand.rs
@@ -0,0 +1,14 @@
1use crate::util::Dewrap;
2pub trait Rand {
3 fn rand(&self, buf: &mut [u8]);
4}
5
6static mut RAND: Option<&'static dyn Rand> = None;
7
8pub unsafe fn set_rand(rand: &'static dyn Rand) {
9 RAND = Some(rand);
10}
11
12pub fn rand(buf: &mut [u8]) {
13 unsafe { RAND.dexpect(defmt::intern!("No rand set")).rand(buf) }
14}