alt_stm32f30x_hal/
lib.rs

1//! HAL for the STM32F30x family of microcontrollers
2//!
3//! This is an implementation of the [`embedded-hal`] traits for the STM32F30x
4//! family of microcontrollers.
5//!
6//! [`embedded-hal`]: https://docs.rs/embedded-hal
7//!
8//! # Requirements
9//!
10//! This crate requires `arm-none-eabi-gcc` to be installed and available in
11//! `$PATH` to build.
12//!
13//! # Usage
14//!
15//! To build applications (binary crates) using this crate follow the
16//! [cortex-m-quickstart] instructions and add this crate as a dependency in
17//! step number 5 and make sure you enable the "rt" Cargo feature of this crate.
18//!
19//! [cortex-m-quickstart]: https://docs.rs/cortex-m-quickstart
20//!
21//! # Examples
22//!
23//! Examples of *using* these abstractions can be found in [`proving-ground`]
24//! repo.
25//!
26//! [`proving-ground`]: https://github.com/copterust/proving-ground
27
28#![deny(missing_docs)]
29#![deny(warnings)]
30#![allow(unused_unsafe)]
31#![no_std]
32
33#[cfg(feature = "stm32f301")]
34pub use stm32f3::stm32f301 as pac;
35
36#[cfg(feature = "stm32f302")]
37pub use stm32f3::stm32f302 as pac;
38
39#[cfg(feature = "stm32f303")]
40pub use stm32f3::stm32f303 as pac;
41
42#[cfg(feature = "stm32f373")]
43pub use stm32f3::stm32f373 as pac;
44
45#[cfg(feature = "stm32f334")]
46pub use stm32f3::stm32f3x4 as pac;
47
48#[cfg(feature = "stm32f328")]
49pub use stm32f3::stm32f3x8 as pac;
50
51#[cfg(feature = "device-selected")]
52pub use crate::pac as device;
53
54#[cfg(feature = "device-selected")]
55pub use crate::pac as stm32;
56
57#[cfg(feature = "device-selected")]
58pub mod bb;
59#[cfg(feature = "device-selected")]
60pub mod delay;
61#[cfg(feature = "device-selected")]
62pub mod dma;
63#[cfg(feature = "device-selected")]
64pub mod exti;
65#[cfg(feature = "device-selected")]
66pub mod flash;
67#[cfg(feature = "device-selected")]
68pub mod gpio;
69#[cfg(feature = "device-selected")]
70pub mod i2c;
71#[cfg(feature = "device-selected")]
72pub mod prelude;
73#[cfg(feature = "device-selected")]
74pub mod pwm;
75#[cfg(feature = "device-selected")]
76pub mod rcc;
77#[cfg(feature = "device-selected")]
78pub mod serial;
79#[cfg(feature = "device-selected")]
80pub mod spi;
81#[cfg(feature = "device-selected")]
82pub mod syscfg;
83#[cfg(feature = "device-selected")]
84pub mod time;
85#[cfg(feature = "device-selected")]
86pub mod timer;