diff options
| author | Dario Nieuwenhuis <[email protected]> | 2021-05-12 01:57:01 +0200 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2021-05-17 00:57:37 +0200 |
| commit | 0310e4d458b86df31f1765104eb3aa9a6ee09bfc (patch) | |
| tree | aca167ae6e37442cafc932b3c729e37082d23b04 /embassy-macros/src | |
| parent | bfc7f52e6dd7b5ad12fa1f09483fa60f2732ae0c (diff) | |
Add `init` fn. Initializes hw and returns Peripherals.
Diffstat (limited to 'embassy-macros/src')
| -rw-r--r-- | embassy-macros/src/chip/nrf.rs | 2 | ||||
| -rw-r--r-- | embassy-macros/src/chip/rp.rs | 2 | ||||
| -rw-r--r-- | embassy-macros/src/lib.rs | 6 |
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 | } |
