umsh_bsp_nrf52840/
lib.rs

1#![no_std]
2
3//! Chip-level board support for nRF52840-based UMSH boards.
4//!
5//! This crate owns chip-wide concerns shared by every nRF52840-based board:
6//! USB peripheral setup, GPREGRET-driven DFU entry, System OFF entry with
7//! GPIO wake, retained-RAM helpers, and flash-backed implementations of the
8//! `umsh-hal` storage traits.
9//!
10//! Board-level BSPs (e.g. [`umsh-bsp-t1000e`](../umsh_bsp_t1000e/index.html))
11//! compose this crate with their own pinout and on-board peripherals.
12//!
13//! See `docs/firmware-architecture.md` for the BSP / UX / App / Binary triad.
14
15pub mod panic_persist;
16pub mod rescue;
17
18#[cfg(target_os = "none")]
19pub mod cdc_rescue;
20
21#[cfg(target_os = "none")]
22pub mod clock;
23
24#[cfg(target_os = "none")]
25pub mod clocks;
26
27#[cfg(target_os = "none")]
28pub mod flash_store;
29
30#[cfg(target_os = "none")]
31pub mod gpregret;
32
33#[cfg(target_os = "none")]
34pub mod rng;
35
36#[cfg(target_os = "none")]
37pub mod system_off;
38
39#[cfg(target_os = "none")]
40pub use clock::EmbassyClock;
41#[cfg(target_os = "none")]
42pub use rng::Nrf52840Rng;
43
44// TODO: implement.
45//
46// Planned modules:
47//   pub mod usb;           // embassy-nrf USB driver wrapper.