Re-adds embassy macros for stm32

* Hook RCC config into chip config and use chip-specific RCC init
  function
* RTC/clock setup is ignored for now
This commit is contained in:
Ulf Lilleengen
2021-05-25 13:30:42 +02:00
parent 4b98361967
commit 1c10e746b6
7 changed files with 58 additions and 9 deletions

View File

@ -0,0 +1,26 @@
use crate::path::ModulePrefix;
use proc_macro2::TokenStream;
use quote::quote;
pub fn generate(embassy_prefix: &ModulePrefix, config: syn::Expr) -> TokenStream {
let embassy_path = embassy_prefix.append("embassy").path();
let embassy_stm32_path = embassy_prefix.append("embassy_stm32").path();
quote!(
use #embassy_stm32_path::{clock::Clock};
let p = #embassy_stm32_path::init(#config);
/*
let mut rtc = #embass::RTC::new(unsafe { <peripherals::TIM2 as #embassy_path::util::Steal>::steal() }, interrupt::take!(TIM2));
let rtc = unsafe { make_static(&mut rtc) };
rtc.start();
let mut alarm = rtc.alarm0();
unsafe { #embassy_path::time::set_clock(rtc) };
let alarm = unsafe { make_static(&mut alarm) };
executor.set_alarm(alarm);
*/
)
}