From a2712caab15a673b455184b6f56a7a8d7cdb9290 Mon Sep 17 00:00:00 2001 From: miathedev Date: Sun, 4 Dec 2022 09:38:57 +0100 Subject: [PATCH 1/2] Add random example --- examples/stm32wl/src/bin/random.rs | 33 ++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 examples/stm32wl/src/bin/random.rs diff --git a/examples/stm32wl/src/bin/random.rs b/examples/stm32wl/src/bin/random.rs new file mode 100644 index 00000000..182c607f --- /dev/null +++ b/examples/stm32wl/src/bin/random.rs @@ -0,0 +1,33 @@ +#![no_std] +#![no_main] +#![feature(type_alias_impl_trait)] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::pac; +use embassy_stm32::rng::Rng; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let mut config = embassy_stm32::Config::default(); + config.rcc.mux = embassy_stm32::rcc::ClockSrc::HSE32; + config.rcc.enable_lsi = true; //Needed for RNG to work + + let p = embassy_stm32::init(config); + unsafe { + pac::RCC.ccipr().modify(|w| { + w.set_rngsel(0b01); + }); + } + + info!("Hello World!"); + + let mut rng = Rng::new(p.RNG); + + let mut buf = [0u8; 16]; + unwrap!(rng.async_fill_bytes(&mut buf).await); + info!("random bytes: {:02x}", buf); + + loop {} +} From 056eac998a5668c6737aafb44edc5bbe23e2df46 Mon Sep 17 00:00:00 2001 From: Brendon Fallquist Date: Sat, 24 Dec 2022 21:21:07 -0600 Subject: [PATCH 2/2] Hide doc comments from inner function include doc comments on outer function --- embassy-macros/src/macros/task.rs | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/embassy-macros/src/macros/task.rs b/embassy-macros/src/macros/task.rs index 573776f8..90d2cd89 100644 --- a/embassy-macros/src/macros/task.rs +++ b/embassy-macros/src/macros/task.rs @@ -1,6 +1,7 @@ use darling::FromMeta; use proc_macro2::TokenStream; use quote::{format_ident, quote}; +use syn::{parse_quote, ItemFn}; use crate::util::ctxt::Ctxt; @@ -57,13 +58,7 @@ pub fn run(args: syn::AttributeArgs, f: syn::ItemFn) -> Result ::embassy_executor::SpawnToken { type Fut = impl ::core::future::Future + 'static; static POOL: ::embassy_executor::raw::TaskPool = ::embassy_executor::raw::TaskPool::new(); @@ -71,5 +66,18 @@ pub fn run(args: syn::AttributeArgs, f: syn::ItemFn) -> Result