umsh_bsp_wio_tracker_l1/lib.rs
1#![no_std]
2
3//! Board support for the Seeed Wio Tracker L1 / L1 Pro (nRF52840).
4//!
5//! Composes [`umsh-bsp-nrf52840`](../umsh_bsp_nrf52840/index.html) with
6//! the Wio Tracker L1 family's pinout and on-board peripherals.
7//!
8//! The same crate covers the L1, L1 Pro, and L1 Lite variants, which
9//! share a pin map. The L1 e-ink variant has a different display path
10//! (SPI1) and would warrant a separate BSP crate.
11//!
12//! What lives here:
13//!
14//! - [`display`] — SH1106 OLED over I²C (SDA=P0.06, SCL=P0.05, addr 0x3D)
15//! - [`power`] — `PowerControl` bridge, shutdown signal, and the SAADC
16//! battery monitor (AIN7/P0.31, divider gated active-high on P0.04)
17//! - [`buzzer`] — piezo on P1.00, driven straight from PWM
18//! - [`gnss`] — Quectel L76K standby control (P1.09); the module has no
19//! rail this board can cut, so its backup domain is the board's clock
20//! - [`platform`] — the `Platform` type bundle used by the console
21//! bringup harness
22//!
23//! Concrete pins for the radio (SX1262 on TWISPI1 plus the external
24//! RXEN on P1.08), the user LED (P1.01, active-high), and the nav button
25//! (P0.08) are chosen by the firmware, following the pattern the other
26//! nRF52840 tracker boards use.
27//!
28//! Not yet wired: the joystick / trackball, the Grove expansion I²C bus,
29//! and the QSPI external flash.
30//!
31//! See `docs/hardware/seeed-wio-tracker-l1-pro-hardware.md` for the
32//! firmware-derived hardware reference.
33
34#[cfg(all(target_os = "none", feature = "buzzer"))]
35pub mod buzzer;
36
37#[cfg(all(target_os = "none", feature = "display"))]
38pub mod display;
39
40#[cfg(all(target_os = "none", feature = "gnss"))]
41pub mod gnss;
42
43#[cfg(all(target_os = "none", feature = "platform"))]
44pub mod platform;
45
46#[cfg(all(target_os = "none", feature = "power"))]
47pub mod power;
48
49#[cfg(all(target_os = "none", feature = "platform"))]
50pub use platform::{WioMac, WioTrackerPlatform};
51#[cfg(all(target_os = "none", feature = "power"))]
52pub use power::PowerSignaler;