aboutsummaryrefslogtreecommitdiff
path: root/embassy-macros/src
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2021-05-12 01:57:01 +0200
committerDario Nieuwenhuis <[email protected]>2021-05-17 00:57:37 +0200
commit0310e4d458b86df31f1765104eb3aa9a6ee09bfc (patch)
treeaca167ae6e37442cafc932b3c729e37082d23b04 /embassy-macros/src
parentbfc7f52e6dd7b5ad12fa1f09483fa60f2732ae0c (diff)
Add `init` fn. Initializes hw and returns Peripherals.
Diffstat (limited to 'embassy-macros/src')
-rw-r--r--embassy-macros/src/chip/nrf.rs2
-rw-r--r--embassy-macros/src/chip/rp.rs2
-rw-r--r--embassy-macros/src/lib.rs6
3 files changed, 5 insertions, 5 deletions
diff --git a/embassy-macros/src/chip/nrf.rs b/embassy-macros/src/chip/nrf.rs
index aba4c004f..503a8ba5a 100644
--- a/embassy-macros/src/chip/nrf.rs
+++ b/embassy-macros/src/chip/nrf.rs
@@ -9,7 +9,7 @@ pub fn generate(embassy_prefix: &ModulePrefix, config: syn::Expr) -> TokenStream
9 quote!( 9 quote!(
10 use #embassy_nrf_path::{interrupt, peripherals, rtc}; 10 use #embassy_nrf_path::{interrupt, peripherals, rtc};
11 11
12 unsafe { #embassy_nrf_path::system::configure(#config) }; 12 let p = #embassy_nrf_path::init(#config);
13 13
14 let mut rtc = rtc::RTC::new(unsafe { <peripherals::RTC1 as #embassy_path::util::Steal>::steal() }, interrupt::take!(RTC1)); 14 let mut rtc = rtc::RTC::new(unsafe { <peripherals::RTC1 as #embassy_path::util::Steal>::steal() }, interrupt::take!(RTC1));
15 let rtc = unsafe { make_static(&mut rtc) }; 15 let rtc = unsafe { make_static(&mut rtc) };
diff --git a/embassy-macros/src/chip/rp.rs b/embassy-macros/src/chip/rp.rs
index 33863de86..04211f8f3 100644
--- a/embassy-macros/src/chip/rp.rs
+++ b/embassy-macros/src/chip/rp.rs
@@ -7,6 +7,6 @@ pub fn generate(embassy_prefix: &ModulePrefix, config: syn::Expr) -> TokenStream
7 quote!( 7 quote!(
8 use #embassy_rp_path::{interrupt, peripherals}; 8 use #embassy_rp_path::{interrupt, peripherals};
9 9
10 unsafe { #embassy_rp_path::system::configure(#config) }; 10 let p = #embassy_rp_path::init(#config);
11 ) 11 )
12} 12}
diff --git a/embassy-macros/src/lib.rs b/embassy-macros/src/lib.rs
index d91549ca7..dc234cd6d 100644
--- a/embassy-macros/src/lib.rs
+++ b/embassy-macros/src/lib.rs
@@ -315,12 +315,12 @@ pub fn main(args: TokenStream, item: TokenStream) -> TokenStream {
315 315
316 let args = task_fn.sig.inputs.clone(); 316 let args = task_fn.sig.inputs.clone();
317 317
318 if args.len() != 1 { 318 if args.len() != 2 {
319 task_fn 319 task_fn
320 .sig 320 .sig
321 .span() 321 .span()
322 .unwrap() 322 .unwrap()
323 .error("main function must have one argument") 323 .error("main function must have 2 arguments")
324 .emit(); 324 .emit();
325 fail = true; 325 fail = true;
326 } 326 }
@@ -364,7 +364,7 @@ pub fn main(args: TokenStream, item: TokenStream) -> TokenStream {
364 #chip_setup 364 #chip_setup
365 365
366 executor.run(|spawner| { 366 executor.run(|spawner| {
367 spawner.spawn(__embassy_main(spawner)).unwrap(); 367 spawner.spawn(__embassy_main(spawner, p)).unwrap();
368 }) 368 })
369 369
370 } 370 }