Merge pull request #191 from lulf/stm32l0

Add support for STM32L0 family
This commit is contained in:
Dario Nieuwenhuis 2021-05-21 19:15:42 +02:00 committed by GitHub
commit da16c60487
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
513 changed files with 49512 additions and 9985 deletions

View file

@ -69,6 +69,9 @@ jobs:
- package: embassy-stm32
target: thumbv7em-none-eabi
features: stm32l476vg,defmt
- package: embassy-stm32
target: thumbv6m-none-eabi
features: stm32l053r8,defmt
- package: embassy-stm32-examples
target: thumbv7em-none-eabi

View 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");
}

View file

@ -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",]
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",]
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",]
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",]
@ -443,6 +543,8 @@ _exti = []
_exti_v1 = []
_gpio = []
_gpio_v2 = []
_rcc = []
_rcc_l0 = []
_rng = [ "rand_core",]
_rng_v1 = []
_sdmmc = [ "sdio-host",]
@ -453,11 +555,13 @@ _spi_v2 = []
_spi_v3 = []
_stm32f4 = []
_stm32h7 = []
_stm32l0 = []
_stm32l4 = []
_stm32l4p = []
_syscfg = []
_syscfg_f4 = []
_syscfg_h7 = []
_syscfg_l0 = []
_syscfg_l4 = []
_usart = []
_usart_v1 = []

View file

@ -3,6 +3,7 @@ import yaml
import re
import json
import os
import re
import toml
from collections import OrderedDict
from glob import glob
@ -14,7 +15,7 @@ os.chdir(dname)
# ======= load chips
chips = {}
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
with open(f, 'r') as f:
chip = yaml.load(f, Loader=yaml.CSafeLoader)
@ -56,6 +57,7 @@ for chip in chips.values():
af = gpio_afs[chip['gpio_af']]
peripheral_names = [] # USART1, PA5, EXTI8
exti_interrupts = [] # EXTI IRQs, EXTI0, EXTI4_15 etc.
peripheral_versions = {} # usart -> v1, syscfg -> f4
pins = set() # set of all present pins. PA4, PA5...
@ -73,6 +75,7 @@ for chip in chips.values():
# ========= peripherals
peripheral_names.extend((f'EXTI{x}' for x in range(16)))
num_dmas = 0
for (name, peri) in chip['peripherals'].items():
if 'block' not in peri:
@ -113,10 +116,9 @@ for chip in chips.values():
f.write(f'impl_usart_pin!({name}, CkPin, {pin}, {func});')
if block_mod == 'rng':
if 'RNG' in chip['interrupts']:
f.write(f'impl_rng!({name}, RNG);')
else:
f.write(f'impl_rng!({name}, HASH_RNG);')
for irq in chip['interrupts']:
if re.search('RNG', irq):
f.write(f'impl_rng!({name}, ' + irq + f');')
if block_mod == 'spi':
if 'clock' in peri:
@ -146,10 +148,13 @@ for chip in chips.values():
if block_mod == 'dma':
custom_singletons = True
num_dmas += 1
dma_num = int(name[3:])-1 # substract 1 because we want DMA1=0, DMA2=1
for ch_num in range(8):
channel = f'{name}_CH{ch_num}'
peripheral_names.append(channel)
f.write(f'impl_dma_channel!({channel}, {dma_num}, {ch_num});')
if peri['block'] == 'sdmmc_v2/SDMMC':
@ -177,6 +182,12 @@ for chip in chips.values():
if func := funcs.get(f'{name}_D7'):
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:
peripheral_names.append(name)
@ -190,6 +201,30 @@ for chip in chips.values():
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
irq_variants = []

View file

@ -20,12 +20,8 @@ pub(crate) mod sealed {
fn ch_num(&self) -> u8 {
self.num() % 8
}
fn regs(&self) -> pac::dma::Dma {
match self.dma_num() {
0 => pac::DMA1,
_ => pac::DMA2,
}
pac::DMA(self.num())
}
}
}

View file

@ -4,7 +4,6 @@ use core::future::Future;
use core::marker::PhantomData;
use core::pin::Pin;
use core::task::{Context, Poll};
use embassy::interrupt::{Interrupt, InterruptExt};
use embassy::traits::gpio::{WaitForAnyEdge, WaitForFallingEdge, WaitForRisingEdge};
use embassy::util::{AtomicWaker, Unborrow};
use embassy_extras::unsafe_impl_unborrow;
@ -12,7 +11,6 @@ use embedded_hal::digital::v2::InputPin;
use pac::exti::{regs, vals};
use crate::gpio::{AnyPin, Input, Pin as GpioPin};
use crate::interrupt;
use crate::pac;
use crate::pac::{EXTI, SYSCFG};
use crate::peripherals;
@ -21,41 +19,6 @@ const EXTI_COUNT: usize = 16;
const NEW_AW: AtomicWaker = AtomicWaker::new();
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() {
let bits = EXTI.pr().read().0;
@ -249,14 +212,20 @@ impl_exti!(EXTI13, 13);
impl_exti!(EXTI14, 14);
impl_exti!(EXTI15, 15);
/// safety: must be called only once
pub(crate) unsafe fn init() {
interrupt::EXTI0::steal().enable();
interrupt::EXTI1::steal().enable();
interrupt::EXTI2::steal().enable();
interrupt::EXTI3::steal().enable();
interrupt::EXTI4::steal().enable();
interrupt::EXTI9_5::steal().enable();
interrupt::EXTI15_10::steal().enable();
interrupt::EXTI15_10::steal().enable();
macro_rules! impl_exti_irq {
($($e:ident),+) => {
/// safety: must be called only once
pub(crate) unsafe fn init_exti() {
$(
crate::interrupt::$e::steal().enable();
)+
}
$(
#[crate::interrupt]
unsafe fn $e() {
crate::exti::on_irq()
}
)+
};
}

View file

@ -49,8 +49,8 @@ pub fn init(_config: Config) -> Peripherals {
let p = Peripherals::take();
unsafe {
exti::init();
dma::init();
pac::init_exti();
}
p

View file

@ -260,6 +260,106 @@
#[cfg_attr(feature = "stm32h7b3ri", path = "stm32h7b3ri.rs")]
#[cfg_attr(feature = "stm32h7b3vi", path = "stm32h7b3vi.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 = "stm32l412cb", path = "stm32l412cb.rs")]
#[cfg_attr(feature = "stm32l412k8", path = "stm32l412k8.rs")]

File diff suppressed because it is too large Load diff

View file

@ -202,6 +202,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -202,6 +202,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -202,6 +202,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -202,6 +202,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -202,6 +202,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -202,6 +202,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -202,6 +202,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -202,6 +202,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -210,6 +210,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -210,6 +210,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -210,6 +210,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -210,6 +210,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -280,6 +280,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -280,6 +280,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -280,6 +280,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -280,6 +280,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -280,6 +280,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -280,6 +280,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -280,6 +280,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -280,6 +280,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -280,6 +280,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -280,6 +280,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -280,6 +280,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -139,6 +139,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -139,6 +139,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -139,6 +139,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -139,6 +139,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -132,6 +132,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -132,6 +132,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -230,6 +230,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -230,6 +230,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -230,6 +230,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -230,6 +230,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -230,6 +230,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -230,6 +230,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -189,6 +189,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -189,6 +189,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -219,6 +219,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -219,6 +219,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -292,6 +292,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -292,6 +292,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -292,6 +292,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -292,6 +292,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -278,6 +278,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -278,6 +278,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -295,6 +295,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -295,6 +295,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -295,6 +295,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -295,6 +295,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -295,6 +295,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -295,6 +295,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -295,6 +295,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -295,6 +295,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -280,6 +280,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -280,6 +280,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -280,6 +280,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -280,6 +280,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -280,6 +280,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -280,6 +280,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -280,6 +280,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -280,6 +280,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -280,6 +280,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -280,6 +280,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -278,6 +278,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -295,6 +295,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -295,6 +295,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -295,6 +295,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -295,6 +295,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -334,6 +334,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -334,6 +334,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -339,6 +339,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -339,6 +339,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -326,6 +326,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -326,6 +326,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -339,6 +339,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -339,6 +339,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -334,6 +334,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -334,6 +334,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -339,6 +339,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -339,6 +339,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -339,6 +339,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -339,6 +339,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -339,6 +339,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -339,6 +339,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -339,6 +339,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -339,6 +339,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -339,6 +339,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -326,6 +326,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -326,6 +326,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -326,6 +326,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

View file

@ -339,6 +339,18 @@ peripherals!(
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 use cortex_m::interrupt::{CriticalSection, Mutex};
pub use embassy::interrupt::{declare, take, Interrupt};

Some files were not shown because too many files have changed in this diff Show more