From 6f08c62d5ddcbeba01e098e11b9bc4ed1dfa7cc2 Mon Sep 17 00:00:00 2001 From: Alexander Walter Date: Sat, 14 Dec 2024 00:11:32 +0100 Subject: [PATCH] Add nrf9160 --- embassy-nrf/src/lib.rs | 2 +- embassy-nrf/src/power.rs | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/embassy-nrf/src/lib.rs b/embassy-nrf/src/lib.rs index b6283c7f5..ec5e9f864 100644 --- a/embassy-nrf/src/lib.rs +++ b/embassy-nrf/src/lib.rs @@ -107,7 +107,7 @@ pub mod nvmc; ))] pub mod pdm; #[cfg(not(feature = "_nrf54l"))] // TODO -#[cfg(feature = "nrf52840")] +#[cfg(any(feature = "nrf52840", feature = "nrf9160-s", feature = "nrf9160-ns"))] pub mod power; #[cfg(not(feature = "_nrf54l"))] // TODO pub mod ppi; diff --git a/embassy-nrf/src/power.rs b/embassy-nrf/src/power.rs index 440028380..66dfbae65 100644 --- a/embassy-nrf/src/power.rs +++ b/embassy-nrf/src/power.rs @@ -1,13 +1,24 @@ //! Power -use crate::chip::pac::{NFCT, POWER}; +#[cfg(feature = "nrf52840")] +use crate::chip::pac::NFCT; -/// Puts the MCU into "System Off" mode with a power usage 0f 0.4 uA +#[cfg(feature = "nrf52840")] +use crate::chip::pac::POWER; + +#[cfg(any(feature = "nrf9160-s", feature = "nrf9160-ns"))] +use crate::chip::pac::REGULATORS; + +/// Puts the MCU into "System Off" mode with minimal power usage pub fn set_system_off() { + #[cfg(feature = "nrf52840")] POWER.systemoff().write(|w| w.set_systemoff(true)); + #[cfg(any(feature = "nrf9160-s", feature = "nrf9160-ns"))] + REGULATORS.systemoff().write(|w| w.set_systemoff(true)); } /// Wake the system if there if an NFC field close to the nrf52840's antenna +#[cfg(feature = "nrf52840")] pub fn wake_on_nfc_sense() { NFCT.tasks_sense().write_value(0x01); }