Merge pull request #191 from lulf/stm32l0
Add support for STM32L0 family
This commit is contained in:
commit
da16c60487
513 changed files with 49512 additions and 9985 deletions
3
.github/workflows/rust.yml
vendored
3
.github/workflows/rust.yml
vendored
|
@ -69,6 +69,9 @@ jobs:
|
||||||
- package: embassy-stm32
|
- package: embassy-stm32
|
||||||
target: thumbv7em-none-eabi
|
target: thumbv7em-none-eabi
|
||||||
features: stm32l476vg,defmt
|
features: stm32l476vg,defmt
|
||||||
|
- package: embassy-stm32
|
||||||
|
target: thumbv6m-none-eabi
|
||||||
|
features: stm32l053r8,defmt
|
||||||
- package: embassy-stm32-examples
|
- package: embassy-stm32-examples
|
||||||
target: thumbv7em-none-eabi
|
target: thumbv7em-none-eabi
|
||||||
|
|
||||||
|
|
31
embassy-stm32-examples/build.rs
Normal file
31
embassy-stm32-examples/build.rs
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
//! This build script copies the `memory.x` file from the crate root into
|
||||||
|
//! a directory where the linker can always find it at build time.
|
||||||
|
//! For many projects this is optional, as the linker always searches the
|
||||||
|
//! project root directory -- wherever `Cargo.toml` is. However, if you
|
||||||
|
//! are using a workspace or have a more complicated build setup, this
|
||||||
|
//! build script becomes required. Additionally, by requesting that
|
||||||
|
//! Cargo re-run the build script whenever `memory.x` is changed,
|
||||||
|
//! updating `memory.x` ensures a rebuild of the application with the
|
||||||
|
//! new memory settings.
|
||||||
|
|
||||||
|
use std::env;
|
||||||
|
use std::fs::File;
|
||||||
|
use std::io::Write;
|
||||||
|
use std::path::PathBuf;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
// Put `memory.x` in our output directory and ensure it's
|
||||||
|
// on the linker search path.
|
||||||
|
let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap());
|
||||||
|
File::create(out.join("memory.x"))
|
||||||
|
.unwrap()
|
||||||
|
.write_all(include_bytes!("memory.x"))
|
||||||
|
.unwrap();
|
||||||
|
println!("cargo:rustc-link-search={}", out.display());
|
||||||
|
|
||||||
|
// By default, Cargo will re-run a build script whenever
|
||||||
|
// any file in the project changes. By specifying `memory.x`
|
||||||
|
// here, we ensure the build script is only re-run when
|
||||||
|
// `memory.x` is changed.
|
||||||
|
println!("cargo:rerun-if-changed=memory.x");
|
||||||
|
}
|
|
@ -295,6 +295,106 @@ stm32h7b3qi = [ "_dma", "_dma_v2", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_r
|
||||||
stm32h7b3ri = [ "_dma", "_dma_v2", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_sdmmc", "_sdmmc_v2", "_spi", "_spi_v3", "_stm32h7", "_syscfg", "_syscfg_h7",]
|
stm32h7b3ri = [ "_dma", "_dma_v2", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_sdmmc", "_sdmmc_v2", "_spi", "_spi_v3", "_stm32h7", "_syscfg", "_syscfg_h7",]
|
||||||
stm32h7b3vi = [ "_dma", "_dma_v2", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_sdmmc", "_sdmmc_v2", "_spi", "_spi_v3", "_stm32h7", "_syscfg", "_syscfg_h7",]
|
stm32h7b3vi = [ "_dma", "_dma_v2", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_sdmmc", "_sdmmc_v2", "_spi", "_spi_v3", "_stm32h7", "_syscfg", "_syscfg_h7",]
|
||||||
stm32h7b3zi = [ "_dma", "_dma_v2", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_sdmmc", "_sdmmc_v2", "_spi", "_spi_v3", "_stm32h7", "_syscfg", "_syscfg_h7",]
|
stm32h7b3zi = [ "_dma", "_dma_v2", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_sdmmc", "_sdmmc_v2", "_spi", "_spi_v3", "_stm32h7", "_syscfg", "_syscfg_h7",]
|
||||||
|
stm32l010c6 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l010f4 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l010k4 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l010k8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l010r8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l010rb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l011d3 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l011d4 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l011e3 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l011e4 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l011f3 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l011f4 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l011g3 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l011g4 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l011k3 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l011k4 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l021d4 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l021f4 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l021g4 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l021k4 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l031c4 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l031c6 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l031e4 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l031e6 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l031f4 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l031f6 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l031g4 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l031g6 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l031k4 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l031k6 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l041c4 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l041c6 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l041e6 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l041f6 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l041g6 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l041k6 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l051c6 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l051c8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l051k6 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l051k8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l051r6 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l051r8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l051t6 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l051t8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l052c6 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l052c8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l052k6 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l052k8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l052r6 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l052r8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l052t6 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l052t8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l053c6 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l053c8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l053r6 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l053r8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l062c8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l062k8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l063c8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l063r8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l071c8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l071cb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l071cz = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l071k8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l071kb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l071kz = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l071rb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l071rz = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l071v8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l071vb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l071vz = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l072cb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l072cz = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l072kb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l072kz = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l072rb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l072rz = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l072v8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l072vb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l072vz = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l073cb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l073cz = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l073rb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l073rz = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l073v8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l073vb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l073vz = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l081cb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l081cz = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l081kz = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l082cz = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l082kb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l082kz = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l083cb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l083cz = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l083rb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l083rz = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l083v8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l083vb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
|
stm32l083vz = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rcc", "_rcc_l0", "_rng", "_rng_v1", "_stm32l0", "_syscfg", "_syscfg_l0", "_usart", "_usart_v2",]
|
||||||
stm32l412c8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
|
stm32l412c8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
|
||||||
stm32l412cb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
|
stm32l412cb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
|
||||||
stm32l412k8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
|
stm32l412k8 = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
|
||||||
|
@ -443,6 +543,8 @@ _exti = []
|
||||||
_exti_v1 = []
|
_exti_v1 = []
|
||||||
_gpio = []
|
_gpio = []
|
||||||
_gpio_v2 = []
|
_gpio_v2 = []
|
||||||
|
_rcc = []
|
||||||
|
_rcc_l0 = []
|
||||||
_rng = [ "rand_core",]
|
_rng = [ "rand_core",]
|
||||||
_rng_v1 = []
|
_rng_v1 = []
|
||||||
_sdmmc = [ "sdio-host",]
|
_sdmmc = [ "sdio-host",]
|
||||||
|
@ -453,11 +555,13 @@ _spi_v2 = []
|
||||||
_spi_v3 = []
|
_spi_v3 = []
|
||||||
_stm32f4 = []
|
_stm32f4 = []
|
||||||
_stm32h7 = []
|
_stm32h7 = []
|
||||||
|
_stm32l0 = []
|
||||||
_stm32l4 = []
|
_stm32l4 = []
|
||||||
_stm32l4p = []
|
_stm32l4p = []
|
||||||
_syscfg = []
|
_syscfg = []
|
||||||
_syscfg_f4 = []
|
_syscfg_f4 = []
|
||||||
_syscfg_h7 = []
|
_syscfg_h7 = []
|
||||||
|
_syscfg_l0 = []
|
||||||
_syscfg_l4 = []
|
_syscfg_l4 = []
|
||||||
_usart = []
|
_usart = []
|
||||||
_usart_v1 = []
|
_usart_v1 = []
|
||||||
|
|
|
@ -3,6 +3,7 @@ import yaml
|
||||||
import re
|
import re
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
|
import re
|
||||||
import toml
|
import toml
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
from glob import glob
|
from glob import glob
|
||||||
|
@ -14,7 +15,7 @@ os.chdir(dname)
|
||||||
# ======= load chips
|
# ======= load chips
|
||||||
chips = {}
|
chips = {}
|
||||||
for f in sorted(glob('stm32-data/data/chips/*.yaml')):
|
for f in sorted(glob('stm32-data/data/chips/*.yaml')):
|
||||||
if 'STM32F4' not in f and 'STM32L4' not in f and 'STM32H7' not in f:
|
if 'STM32F4' not in f and 'STM32L4' not in f and 'STM32H7' not in f and 'STM32L0' not in f:
|
||||||
continue
|
continue
|
||||||
with open(f, 'r') as f:
|
with open(f, 'r') as f:
|
||||||
chip = yaml.load(f, Loader=yaml.CSafeLoader)
|
chip = yaml.load(f, Loader=yaml.CSafeLoader)
|
||||||
|
@ -56,6 +57,7 @@ for chip in chips.values():
|
||||||
|
|
||||||
af = gpio_afs[chip['gpio_af']]
|
af = gpio_afs[chip['gpio_af']]
|
||||||
peripheral_names = [] # USART1, PA5, EXTI8
|
peripheral_names = [] # USART1, PA5, EXTI8
|
||||||
|
exti_interrupts = [] # EXTI IRQs, EXTI0, EXTI4_15 etc.
|
||||||
peripheral_versions = {} # usart -> v1, syscfg -> f4
|
peripheral_versions = {} # usart -> v1, syscfg -> f4
|
||||||
pins = set() # set of all present pins. PA4, PA5...
|
pins = set() # set of all present pins. PA4, PA5...
|
||||||
|
|
||||||
|
@ -73,6 +75,7 @@ for chip in chips.values():
|
||||||
# ========= peripherals
|
# ========= peripherals
|
||||||
|
|
||||||
peripheral_names.extend((f'EXTI{x}' for x in range(16)))
|
peripheral_names.extend((f'EXTI{x}' for x in range(16)))
|
||||||
|
num_dmas = 0
|
||||||
|
|
||||||
for (name, peri) in chip['peripherals'].items():
|
for (name, peri) in chip['peripherals'].items():
|
||||||
if 'block' not in peri:
|
if 'block' not in peri:
|
||||||
|
@ -113,10 +116,9 @@ for chip in chips.values():
|
||||||
f.write(f'impl_usart_pin!({name}, CkPin, {pin}, {func});')
|
f.write(f'impl_usart_pin!({name}, CkPin, {pin}, {func});')
|
||||||
|
|
||||||
if block_mod == 'rng':
|
if block_mod == 'rng':
|
||||||
if 'RNG' in chip['interrupts']:
|
for irq in chip['interrupts']:
|
||||||
f.write(f'impl_rng!({name}, RNG);')
|
if re.search('RNG', irq):
|
||||||
else:
|
f.write(f'impl_rng!({name}, ' + irq + f');')
|
||||||
f.write(f'impl_rng!({name}, HASH_RNG);')
|
|
||||||
|
|
||||||
if block_mod == 'spi':
|
if block_mod == 'spi':
|
||||||
if 'clock' in peri:
|
if 'clock' in peri:
|
||||||
|
@ -146,10 +148,13 @@ for chip in chips.values():
|
||||||
|
|
||||||
if block_mod == 'dma':
|
if block_mod == 'dma':
|
||||||
custom_singletons = True
|
custom_singletons = True
|
||||||
|
num_dmas += 1
|
||||||
dma_num = int(name[3:])-1 # substract 1 because we want DMA1=0, DMA2=1
|
dma_num = int(name[3:])-1 # substract 1 because we want DMA1=0, DMA2=1
|
||||||
|
|
||||||
for ch_num in range(8):
|
for ch_num in range(8):
|
||||||
channel = f'{name}_CH{ch_num}'
|
channel = f'{name}_CH{ch_num}'
|
||||||
peripheral_names.append(channel)
|
peripheral_names.append(channel)
|
||||||
|
|
||||||
f.write(f'impl_dma_channel!({channel}, {dma_num}, {ch_num});')
|
f.write(f'impl_dma_channel!({channel}, {dma_num}, {ch_num});')
|
||||||
|
|
||||||
if peri['block'] == 'sdmmc_v2/SDMMC':
|
if peri['block'] == 'sdmmc_v2/SDMMC':
|
||||||
|
@ -177,6 +182,12 @@ for chip in chips.values():
|
||||||
if func := funcs.get(f'{name}_D7'):
|
if func := funcs.get(f'{name}_D7'):
|
||||||
f.write(f'impl_sdmmc_pin!({name}, D7Pin, {pin}, {func});')
|
f.write(f'impl_sdmmc_pin!({name}, D7Pin, {pin}, {func});')
|
||||||
|
|
||||||
|
|
||||||
|
if block_mod == 'exti':
|
||||||
|
for irq in chip['interrupts']:
|
||||||
|
if re.match('EXTI', irq):
|
||||||
|
exti_interrupts.append(irq)
|
||||||
|
|
||||||
if not custom_singletons:
|
if not custom_singletons:
|
||||||
peripheral_names.append(name)
|
peripheral_names.append(name)
|
||||||
|
|
||||||
|
@ -190,6 +201,30 @@ for chip in chips.values():
|
||||||
peripherals!({','.join(peripheral_names)});
|
peripherals!({','.join(peripheral_names)});
|
||||||
""")
|
""")
|
||||||
|
|
||||||
|
|
||||||
|
# ========= DMA peripherals
|
||||||
|
if num_dmas > 0:
|
||||||
|
f.write(f"""
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {{
|
||||||
|
match n {{
|
||||||
|
""")
|
||||||
|
for n in range(num_dmas - 1):
|
||||||
|
f.write(f'{n} => DMA{n + 1},')
|
||||||
|
f.write(f"""
|
||||||
|
_ => DMA{num_dmas},
|
||||||
|
}}
|
||||||
|
}}
|
||||||
|
""")
|
||||||
|
|
||||||
|
# ========= exti interrupts
|
||||||
|
|
||||||
|
f.write(f"""
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!({','.join(exti_interrupts)});
|
||||||
|
""")
|
||||||
|
|
||||||
# ========= interrupts
|
# ========= interrupts
|
||||||
|
|
||||||
irq_variants = []
|
irq_variants = []
|
||||||
|
|
|
@ -20,12 +20,8 @@ pub(crate) mod sealed {
|
||||||
fn ch_num(&self) -> u8 {
|
fn ch_num(&self) -> u8 {
|
||||||
self.num() % 8
|
self.num() % 8
|
||||||
}
|
}
|
||||||
|
|
||||||
fn regs(&self) -> pac::dma::Dma {
|
fn regs(&self) -> pac::dma::Dma {
|
||||||
match self.dma_num() {
|
pac::DMA(self.num())
|
||||||
0 => pac::DMA1,
|
|
||||||
_ => pac::DMA2,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,6 @@ use core::future::Future;
|
||||||
use core::marker::PhantomData;
|
use core::marker::PhantomData;
|
||||||
use core::pin::Pin;
|
use core::pin::Pin;
|
||||||
use core::task::{Context, Poll};
|
use core::task::{Context, Poll};
|
||||||
use embassy::interrupt::{Interrupt, InterruptExt};
|
|
||||||
use embassy::traits::gpio::{WaitForAnyEdge, WaitForFallingEdge, WaitForRisingEdge};
|
use embassy::traits::gpio::{WaitForAnyEdge, WaitForFallingEdge, WaitForRisingEdge};
|
||||||
use embassy::util::{AtomicWaker, Unborrow};
|
use embassy::util::{AtomicWaker, Unborrow};
|
||||||
use embassy_extras::unsafe_impl_unborrow;
|
use embassy_extras::unsafe_impl_unborrow;
|
||||||
|
@ -12,7 +11,6 @@ use embedded_hal::digital::v2::InputPin;
|
||||||
use pac::exti::{regs, vals};
|
use pac::exti::{regs, vals};
|
||||||
|
|
||||||
use crate::gpio::{AnyPin, Input, Pin as GpioPin};
|
use crate::gpio::{AnyPin, Input, Pin as GpioPin};
|
||||||
use crate::interrupt;
|
|
||||||
use crate::pac;
|
use crate::pac;
|
||||||
use crate::pac::{EXTI, SYSCFG};
|
use crate::pac::{EXTI, SYSCFG};
|
||||||
use crate::peripherals;
|
use crate::peripherals;
|
||||||
|
@ -21,41 +19,6 @@ const EXTI_COUNT: usize = 16;
|
||||||
const NEW_AW: AtomicWaker = AtomicWaker::new();
|
const NEW_AW: AtomicWaker = AtomicWaker::new();
|
||||||
static EXTI_WAKERS: [AtomicWaker; EXTI_COUNT] = [NEW_AW; EXTI_COUNT];
|
static EXTI_WAKERS: [AtomicWaker; EXTI_COUNT] = [NEW_AW; EXTI_COUNT];
|
||||||
|
|
||||||
#[interrupt]
|
|
||||||
unsafe fn EXTI0() {
|
|
||||||
on_irq()
|
|
||||||
}
|
|
||||||
|
|
||||||
#[interrupt]
|
|
||||||
unsafe fn EXTI1() {
|
|
||||||
on_irq()
|
|
||||||
}
|
|
||||||
|
|
||||||
#[interrupt]
|
|
||||||
unsafe fn EXTI2() {
|
|
||||||
on_irq()
|
|
||||||
}
|
|
||||||
|
|
||||||
#[interrupt]
|
|
||||||
unsafe fn EXTI3() {
|
|
||||||
on_irq()
|
|
||||||
}
|
|
||||||
|
|
||||||
#[interrupt]
|
|
||||||
unsafe fn EXTI4() {
|
|
||||||
on_irq()
|
|
||||||
}
|
|
||||||
|
|
||||||
#[interrupt]
|
|
||||||
unsafe fn EXTI9_5() {
|
|
||||||
on_irq()
|
|
||||||
}
|
|
||||||
|
|
||||||
#[interrupt]
|
|
||||||
unsafe fn EXTI15_10() {
|
|
||||||
on_irq()
|
|
||||||
}
|
|
||||||
|
|
||||||
pub unsafe fn on_irq() {
|
pub unsafe fn on_irq() {
|
||||||
let bits = EXTI.pr().read().0;
|
let bits = EXTI.pr().read().0;
|
||||||
|
|
||||||
|
@ -249,14 +212,20 @@ impl_exti!(EXTI13, 13);
|
||||||
impl_exti!(EXTI14, 14);
|
impl_exti!(EXTI14, 14);
|
||||||
impl_exti!(EXTI15, 15);
|
impl_exti!(EXTI15, 15);
|
||||||
|
|
||||||
/// safety: must be called only once
|
macro_rules! impl_exti_irq {
|
||||||
pub(crate) unsafe fn init() {
|
($($e:ident),+) => {
|
||||||
interrupt::EXTI0::steal().enable();
|
/// safety: must be called only once
|
||||||
interrupt::EXTI1::steal().enable();
|
pub(crate) unsafe fn init_exti() {
|
||||||
interrupt::EXTI2::steal().enable();
|
$(
|
||||||
interrupt::EXTI3::steal().enable();
|
crate::interrupt::$e::steal().enable();
|
||||||
interrupt::EXTI4::steal().enable();
|
)+
|
||||||
interrupt::EXTI9_5::steal().enable();
|
}
|
||||||
interrupt::EXTI15_10::steal().enable();
|
|
||||||
interrupt::EXTI15_10::steal().enable();
|
$(
|
||||||
|
#[crate::interrupt]
|
||||||
|
unsafe fn $e() {
|
||||||
|
crate::exti::on_irq()
|
||||||
|
}
|
||||||
|
)+
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,8 +49,8 @@ pub fn init(_config: Config) -> Peripherals {
|
||||||
let p = Peripherals::take();
|
let p = Peripherals::take();
|
||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
exti::init();
|
|
||||||
dma::init();
|
dma::init();
|
||||||
|
pac::init_exti();
|
||||||
}
|
}
|
||||||
|
|
||||||
p
|
p
|
||||||
|
|
|
@ -260,6 +260,106 @@
|
||||||
#[cfg_attr(feature = "stm32h7b3ri", path = "stm32h7b3ri.rs")]
|
#[cfg_attr(feature = "stm32h7b3ri", path = "stm32h7b3ri.rs")]
|
||||||
#[cfg_attr(feature = "stm32h7b3vi", path = "stm32h7b3vi.rs")]
|
#[cfg_attr(feature = "stm32h7b3vi", path = "stm32h7b3vi.rs")]
|
||||||
#[cfg_attr(feature = "stm32h7b3zi", path = "stm32h7b3zi.rs")]
|
#[cfg_attr(feature = "stm32h7b3zi", path = "stm32h7b3zi.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l010c6", path = "stm32l010c6.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l010f4", path = "stm32l010f4.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l010k4", path = "stm32l010k4.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l010k8", path = "stm32l010k8.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l010r8", path = "stm32l010r8.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l010rb", path = "stm32l010rb.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l011d3", path = "stm32l011d3.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l011d4", path = "stm32l011d4.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l011e3", path = "stm32l011e3.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l011e4", path = "stm32l011e4.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l011f3", path = "stm32l011f3.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l011f4", path = "stm32l011f4.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l011g3", path = "stm32l011g3.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l011g4", path = "stm32l011g4.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l011k3", path = "stm32l011k3.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l011k4", path = "stm32l011k4.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l021d4", path = "stm32l021d4.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l021f4", path = "stm32l021f4.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l021g4", path = "stm32l021g4.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l021k4", path = "stm32l021k4.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l031c4", path = "stm32l031c4.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l031c6", path = "stm32l031c6.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l031e4", path = "stm32l031e4.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l031e6", path = "stm32l031e6.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l031f4", path = "stm32l031f4.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l031f6", path = "stm32l031f6.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l031g4", path = "stm32l031g4.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l031g6", path = "stm32l031g6.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l031k4", path = "stm32l031k4.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l031k6", path = "stm32l031k6.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l041c4", path = "stm32l041c4.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l041c6", path = "stm32l041c6.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l041e6", path = "stm32l041e6.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l041f6", path = "stm32l041f6.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l041g6", path = "stm32l041g6.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l041k6", path = "stm32l041k6.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l051c6", path = "stm32l051c6.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l051c8", path = "stm32l051c8.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l051k6", path = "stm32l051k6.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l051k8", path = "stm32l051k8.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l051r6", path = "stm32l051r6.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l051r8", path = "stm32l051r8.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l051t6", path = "stm32l051t6.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l051t8", path = "stm32l051t8.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l052c6", path = "stm32l052c6.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l052c8", path = "stm32l052c8.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l052k6", path = "stm32l052k6.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l052k8", path = "stm32l052k8.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l052r6", path = "stm32l052r6.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l052r8", path = "stm32l052r8.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l052t6", path = "stm32l052t6.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l052t8", path = "stm32l052t8.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l053c6", path = "stm32l053c6.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l053c8", path = "stm32l053c8.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l053r6", path = "stm32l053r6.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l053r8", path = "stm32l053r8.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l062c8", path = "stm32l062c8.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l062k8", path = "stm32l062k8.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l063c8", path = "stm32l063c8.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l063r8", path = "stm32l063r8.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l071c8", path = "stm32l071c8.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l071cb", path = "stm32l071cb.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l071cz", path = "stm32l071cz.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l071k8", path = "stm32l071k8.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l071kb", path = "stm32l071kb.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l071kz", path = "stm32l071kz.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l071rb", path = "stm32l071rb.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l071rz", path = "stm32l071rz.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l071v8", path = "stm32l071v8.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l071vb", path = "stm32l071vb.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l071vz", path = "stm32l071vz.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l072cb", path = "stm32l072cb.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l072cz", path = "stm32l072cz.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l072kb", path = "stm32l072kb.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l072kz", path = "stm32l072kz.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l072rb", path = "stm32l072rb.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l072rz", path = "stm32l072rz.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l072v8", path = "stm32l072v8.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l072vb", path = "stm32l072vb.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l072vz", path = "stm32l072vz.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l073cb", path = "stm32l073cb.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l073cz", path = "stm32l073cz.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l073rb", path = "stm32l073rb.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l073rz", path = "stm32l073rz.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l073v8", path = "stm32l073v8.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l073vb", path = "stm32l073vb.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l073vz", path = "stm32l073vz.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l081cb", path = "stm32l081cb.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l081cz", path = "stm32l081cz.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l081kz", path = "stm32l081kz.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l082cz", path = "stm32l082cz.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l082kb", path = "stm32l082kb.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l082kz", path = "stm32l082kz.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l083cb", path = "stm32l083cb.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l083cz", path = "stm32l083cz.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l083rb", path = "stm32l083rb.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l083rz", path = "stm32l083rz.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l083v8", path = "stm32l083v8.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l083vb", path = "stm32l083vb.rs")]
|
||||||
|
#[cfg_attr(feature = "stm32l083vz", path = "stm32l083vz.rs")]
|
||||||
#[cfg_attr(feature = "stm32l412c8", path = "stm32l412c8.rs")]
|
#[cfg_attr(feature = "stm32l412c8", path = "stm32l412c8.rs")]
|
||||||
#[cfg_attr(feature = "stm32l412cb", path = "stm32l412cb.rs")]
|
#[cfg_attr(feature = "stm32l412cb", path = "stm32l412cb.rs")]
|
||||||
#[cfg_attr(feature = "stm32l412k8", path = "stm32l412k8.rs")]
|
#[cfg_attr(feature = "stm32l412k8", path = "stm32l412k8.rs")]
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -202,6 +202,18 @@ peripherals!(
|
||||||
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART6
|
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -202,6 +202,18 @@ peripherals!(
|
||||||
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART6
|
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -202,6 +202,18 @@ peripherals!(
|
||||||
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART6
|
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -202,6 +202,18 @@ peripherals!(
|
||||||
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART6
|
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -202,6 +202,18 @@ peripherals!(
|
||||||
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART6
|
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -202,6 +202,18 @@ peripherals!(
|
||||||
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART6
|
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -202,6 +202,18 @@ peripherals!(
|
||||||
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART6
|
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -202,6 +202,18 @@ peripherals!(
|
||||||
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART6
|
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -210,6 +210,18 @@ peripherals!(
|
||||||
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SPI4, SYSCFG, USART1, USART2, USART6
|
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SPI4, SYSCFG, USART1, USART2, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -210,6 +210,18 @@ peripherals!(
|
||||||
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SPI4, SYSCFG, USART1, USART2, USART6
|
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SPI4, SYSCFG, USART1, USART2, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -210,6 +210,18 @@ peripherals!(
|
||||||
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SPI4, SYSCFG, USART1, USART2, USART6
|
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SPI4, SYSCFG, USART1, USART2, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -210,6 +210,18 @@ peripherals!(
|
||||||
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SPI4, SYSCFG, USART1, USART2, USART6
|
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SPI4, SYSCFG, USART1, USART2, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -280,6 +280,18 @@ peripherals!(
|
||||||
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -280,6 +280,18 @@ peripherals!(
|
||||||
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -280,6 +280,18 @@ peripherals!(
|
||||||
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -280,6 +280,18 @@ peripherals!(
|
||||||
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -280,6 +280,18 @@ peripherals!(
|
||||||
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -280,6 +280,18 @@ peripherals!(
|
||||||
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -280,6 +280,18 @@ peripherals!(
|
||||||
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -280,6 +280,18 @@ peripherals!(
|
||||||
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -280,6 +280,18 @@ peripherals!(
|
||||||
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -280,6 +280,18 @@ peripherals!(
|
||||||
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -280,6 +280,18 @@ peripherals!(
|
||||||
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -139,6 +139,18 @@ peripherals!(
|
||||||
PH6, PH7, PH8, PH9, PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2, USART6
|
PH6, PH7, PH8, PH9, PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -139,6 +139,18 @@ peripherals!(
|
||||||
PH6, PH7, PH8, PH9, PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2, USART6
|
PH6, PH7, PH8, PH9, PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -139,6 +139,18 @@ peripherals!(
|
||||||
PH6, PH7, PH8, PH9, PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2, USART6
|
PH6, PH7, PH8, PH9, PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -139,6 +139,18 @@ peripherals!(
|
||||||
PH6, PH7, PH8, PH9, PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2, USART6
|
PH6, PH7, PH8, PH9, PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -132,6 +132,18 @@ peripherals!(
|
||||||
PH6, PH7, PH8, PH9, PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2
|
PH6, PH7, PH8, PH9, PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -132,6 +132,18 @@ peripherals!(
|
||||||
PH6, PH7, PH8, PH9, PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2
|
PH6, PH7, PH8, PH9, PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -230,6 +230,18 @@ peripherals!(
|
||||||
USART6
|
USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -230,6 +230,18 @@ peripherals!(
|
||||||
USART6
|
USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -230,6 +230,18 @@ peripherals!(
|
||||||
USART6
|
USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -230,6 +230,18 @@ peripherals!(
|
||||||
USART6
|
USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -230,6 +230,18 @@ peripherals!(
|
||||||
USART6
|
USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -230,6 +230,18 @@ peripherals!(
|
||||||
USART6
|
USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -189,6 +189,18 @@ peripherals!(
|
||||||
SYSCFG, USART1, USART2, USART3, USART6
|
SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -189,6 +189,18 @@ peripherals!(
|
||||||
SYSCFG, USART1, USART2, USART3, USART6
|
SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -219,6 +219,18 @@ peripherals!(
|
||||||
USART1, USART2, USART3, USART6
|
USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -219,6 +219,18 @@ peripherals!(
|
||||||
USART1, USART2, USART3, USART6
|
USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -292,6 +292,18 @@ peripherals!(
|
||||||
USART6
|
USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -292,6 +292,18 @@ peripherals!(
|
||||||
USART6
|
USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -292,6 +292,18 @@ peripherals!(
|
||||||
USART6
|
USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -292,6 +292,18 @@ peripherals!(
|
||||||
USART6
|
USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -278,6 +278,18 @@ peripherals!(
|
||||||
PH12, PH13, PH14, PH15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SYSCFG, USART1, USART2, USART6
|
PH12, PH13, PH14, PH15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SYSCFG, USART1, USART2, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -278,6 +278,18 @@ peripherals!(
|
||||||
PH12, PH13, PH14, PH15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SYSCFG, USART1, USART2, USART6
|
PH12, PH13, PH14, PH15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SYSCFG, USART1, USART2, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -295,6 +295,18 @@ peripherals!(
|
||||||
USART6
|
USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -295,6 +295,18 @@ peripherals!(
|
||||||
USART6
|
USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -295,6 +295,18 @@ peripherals!(
|
||||||
USART6
|
USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -295,6 +295,18 @@ peripherals!(
|
||||||
USART6
|
USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -295,6 +295,18 @@ peripherals!(
|
||||||
USART6
|
USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -295,6 +295,18 @@ peripherals!(
|
||||||
USART6
|
USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -295,6 +295,18 @@ peripherals!(
|
||||||
USART6
|
USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -295,6 +295,18 @@ peripherals!(
|
||||||
USART6
|
USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -280,6 +280,18 @@ peripherals!(
|
||||||
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -280,6 +280,18 @@ peripherals!(
|
||||||
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -280,6 +280,18 @@ peripherals!(
|
||||||
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -280,6 +280,18 @@ peripherals!(
|
||||||
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -280,6 +280,18 @@ peripherals!(
|
||||||
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -280,6 +280,18 @@ peripherals!(
|
||||||
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -280,6 +280,18 @@ peripherals!(
|
||||||
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -280,6 +280,18 @@ peripherals!(
|
||||||
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -280,6 +280,18 @@ peripherals!(
|
||||||
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -280,6 +280,18 @@ peripherals!(
|
||||||
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -278,6 +278,18 @@ peripherals!(
|
||||||
PH12, PH13, PH14, PH15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SYSCFG, USART1, USART2, USART6
|
PH12, PH13, PH14, PH15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SYSCFG, USART1, USART2, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -295,6 +295,18 @@ peripherals!(
|
||||||
USART6
|
USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -295,6 +295,18 @@ peripherals!(
|
||||||
USART6
|
USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -295,6 +295,18 @@ peripherals!(
|
||||||
USART6
|
USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -295,6 +295,18 @@ peripherals!(
|
||||||
USART6
|
USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -334,6 +334,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -334,6 +334,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -339,6 +339,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -339,6 +339,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -326,6 +326,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -326,6 +326,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -339,6 +339,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -339,6 +339,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -334,6 +334,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -334,6 +334,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -339,6 +339,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -339,6 +339,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -339,6 +339,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -339,6 +339,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -339,6 +339,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -339,6 +339,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -339,6 +339,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -339,6 +339,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -339,6 +339,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -326,6 +326,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -326,6 +326,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -326,6 +326,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
|
@ -339,6 +339,18 @@ peripherals!(
|
||||||
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
PK15, RNG, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SYSCFG, USART1, USART2, USART3, USART6
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub fn DMA(n: u8) -> dma::Dma {
|
||||||
|
match n {
|
||||||
|
0 => DMA1,
|
||||||
|
_ => DMA2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
use embassy::interrupt::Interrupt;
|
||||||
|
use embassy::interrupt::InterruptExt;
|
||||||
|
|
||||||
|
impl_exti_irq!(EXTI0, EXTI1, EXTI15_10, EXTI2, EXTI3, EXTI4, EXTI9_5);
|
||||||
|
|
||||||
pub mod interrupt {
|
pub mod interrupt {
|
||||||
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
pub use cortex_m::interrupt::{CriticalSection, Mutex};
|
||||||
pub use embassy::interrupt::{declare, take, Interrupt};
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue