1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
//! This module contains clock configurations for various MCUs. They tend to be significantly //! different from one another, so we've feature-gated these files, rather than //! code within the files, to differentiate families. //! //! See STM32CubeIDE for an interactive editor that's very useful for seeing what //! settings are available, and validating them. //! //! See the Reference Manuals for non-interactive visualizations. cfg_if::cfg_if! { if #[cfg(feature = "f3")] { mod f3; pub use f3::*; } else if #[cfg(any(feature = "l4", feature = "l5"))] { mod l4_5; pub use l4_5::*; } else if #[cfg(feature = "u5")] { // todo once SVD is out } else if #[cfg(feature = "h7")] { mod h7; pub use h7::*; } } // Dat structures and functions that are shared between clock modules go here. // todo: Continue working through DRY between the clock modules. /// Speed out of limits. pub struct SpeedError {}