Merge pull request #185 from embassy-rs/nrf-improvement
nrf improvements
This commit is contained in:
		| @@ -40,7 +40,7 @@ pub enum OutputChannelPolarity { | ||||
|     Toggle, | ||||
| } | ||||
|  | ||||
| pub(crate) fn init() { | ||||
| pub(crate) fn init(irq_prio: crate::interrupt::Priority) { | ||||
|     #[cfg(any(feature = "nrf52833", feature = "nrf52840"))] | ||||
|     let ports = unsafe { &[&*pac::P0::ptr(), &*pac::P1::ptr()] }; | ||||
|     #[cfg(not(any(feature = "nrf52833", feature = "nrf52840")))] | ||||
| @@ -57,6 +57,7 @@ pub(crate) fn init() { | ||||
|  | ||||
|     let irq = unsafe { interrupt::GPIOTE::steal() }; | ||||
|     irq.unpend(); | ||||
|     irq.set_priority(irq_prio); | ||||
|     irq.enable(); | ||||
|  | ||||
|     let g = unsafe { &*pac::GPIOTE::ptr() }; | ||||
|   | ||||
| @@ -93,6 +93,7 @@ pub mod config { | ||||
|     pub struct Config { | ||||
|         pub hfclk_source: HfclkSource, | ||||
|         pub lfclk_source: LfclkSource, | ||||
|         pub gpiote_interrupt_priority: crate::interrupt::Priority, | ||||
|     } | ||||
|  | ||||
|     impl Default for Config { | ||||
| @@ -103,6 +104,7 @@ pub mod config { | ||||
|                 // xtals if they know they have them. | ||||
|                 hfclk_source: HfclkSource::Internal, | ||||
|                 lfclk_source: LfclkSource::InternalRC, | ||||
|                 gpiote_interrupt_priority: crate::interrupt::Priority::P0, | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @@ -155,7 +157,7 @@ pub fn init(config: config::Config) -> Peripherals { | ||||
|     while r.events_lfclkstarted.read().bits() == 0 {} | ||||
|  | ||||
|     // Init GPIOTE | ||||
|     crate::gpiote::init(); | ||||
|     crate::gpiote::init(config.gpiote_interrupt_priority); | ||||
|  | ||||
|     peripherals | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user