diff --git a/libs/kaptan-stm32f7/Cargo.toml b/libs/kaptan-stm32f7/Cargo.toml new file mode 100644 index 0000000..d753bf6 --- /dev/null +++ b/libs/kaptan-stm32f7/Cargo.toml @@ -0,0 +1,21 @@ +[package] +name = "kaptan-stm32f7" +edition.workspace = true +license.workspace = true +repository.workspace = true +rust-version.workspace = true +version.workspace = true + +[lints] +workspace = true + +[features] +default = [] +stm32f722 = ["stm32f7/stm32f722"] + +[dependencies] +cortex-m = "0.7" +kaptan-dma = { path = "../kaptan-dma" } +kaptan-spi = { path = "../kaptan-spi" } +kaptan-time = { path = "../kaptan-time" } +stm32f7 = { version = "0.16", default-features = false } diff --git a/libs/kaptan-stm32f7/src/lib.rs b/libs/kaptan-stm32f7/src/lib.rs new file mode 100644 index 0000000..4e422ea --- /dev/null +++ b/libs/kaptan-stm32f7/src/lib.rs @@ -0,0 +1,14 @@ +//! STM32F7 peripheral drivers used by Kaptan boards. +//! +//! This crate is organized by MCU variant and peripheral route. A board chooses +//! an MCU feature, owns its pin muxing and RTIC interrupt graph, then composes +//! the typed peripheral drivers from the selected module. Generic telemetry +//! policy and frame ownership deliberately do not belong here. + +#![no_std] + +#[cfg(not(feature = "stm32f722"))] +compile_error!("select one supported STM32F7 variant feature, such as `stm32f722`"); + +#[cfg(feature = "stm32f722")] +pub mod stm32f722;