2020-09-22 18:03:43 +02:00
#![ no_std ]
#![ feature(generic_associated_types) ]
#![ feature(asm) ]
2021-03-17 02:48:16 +01:00
#![ feature(min_type_alias_impl_trait) ]
#![ feature(impl_trait_in_bindings) ]
2020-09-22 18:03:43 +02:00
#![ feature(type_alias_impl_trait) ]
2021-02-26 01:06:58 +01:00
#![ allow(incomplete_features) ]
2020-09-22 18:03:43 +02:00
#[ cfg(not(any(
2021-05-11 03:04:59 +02:00
feature = " nrf51 " ,
feature = " nrf52805 " ,
feature = " nrf52810 " ,
feature = " nrf52811 " ,
feature = " nrf52820 " ,
feature = " nrf52832 " ,
feature = " nrf52833 " ,
feature = " nrf52840 " ,
feature = " nrf5340-app " ,
feature = " nrf5340-net " ,
feature = " nrf9160 " ,
2020-09-22 18:03:43 +02:00
) ) ) ]
2021-05-11 03:04:59 +02:00
compile_error! ( " No chip feature activated. You must activate exactly one of the following features: nrf52810, nrf52811, nrf52832, nrf52833, nrf52840 " ) ;
2021-01-18 14:22:55 +01:00
2020-12-01 17:46:56 +01:00
// This mod MUST go first, so that the others see its macros.
pub ( crate ) mod fmt ;
2021-05-11 03:04:59 +02:00
pub ( crate ) mod util ;
2020-12-01 17:46:56 +01:00
2020-12-28 23:57:50 +01:00
pub mod buffered_uarte ;
2021-03-19 04:08:44 +01:00
pub mod gpio ;
2020-09-23 00:32:49 +02:00
pub mod gpiote ;
2021-03-27 04:40:05 +01:00
pub mod ppi ;
2021-05-11 03:04:59 +02:00
#[ cfg(feature = " nrf52840 " ) ]
2020-09-22 18:03:43 +02:00
pub mod qspi ;
2020-09-24 19:59:20 +02:00
pub mod rtc ;
2021-05-11 03:04:59 +02:00
#[ cfg(not(feature = " nrf52820 " )) ]
2021-03-24 18:33:17 +01:00
pub mod saadc ;
2021-01-18 14:22:55 +01:00
pub mod spim ;
2021-03-29 00:42:08 +02:00
pub mod system ;
2021-03-28 22:40:41 +02:00
pub mod timer ;
2020-12-23 16:18:29 +01:00
pub mod uarte ;
2021-03-21 21:58:59 +01:00
2021-05-11 03:04:59 +02:00
// This mod MUST go last, so that it sees all the `impl_foo!` macros
#[ cfg(feature = " nrf52805 " ) ]
#[ path = " chips/nrf52805.rs " ]
mod chip ;
#[ cfg(feature = " nrf52810 " ) ]
#[ path = " chips/nrf52810.rs " ]
mod chip ;
#[ cfg(feature = " nrf52811 " ) ]
#[ path = " chips/nrf52811.rs " ]
mod chip ;
#[ cfg(feature = " nrf52820 " ) ]
#[ path = " chips/nrf52820.rs " ]
mod chip ;
#[ cfg(feature = " nrf52832 " ) ]
#[ path = " chips/nrf52832.rs " ]
mod chip ;
#[ cfg(feature = " nrf52833 " ) ]
#[ path = " chips/nrf52833.rs " ]
mod chip ;
#[ cfg(feature = " nrf52840 " ) ]
#[ path = " chips/nrf52840.rs " ]
mod chip ;
pub ( crate ) use chip ::pac ;
pub use chip ::{ peripherals , Peripherals } ;
pub mod interrupt {
pub use crate ::chip ::irqs ::* ;
pub use cortex_m ::interrupt ::{ CriticalSection , Mutex } ;
pub use embassy ::interrupt ::{ declare , take , Interrupt } ;
pub use embassy_extras ::interrupt ::Priority3 as Priority ;
2021-03-21 21:58:59 +01:00
}