Skip to content

Commit a7c10ef

Browse files
committed
Fix SPI Interrupt names for all chips
1 parent 7c2841d commit a7c10ef

File tree

1 file changed

+30
-1
lines changed

1 file changed

+30
-1
lines changed

src/spi.rs

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ use core::{fmt, marker::PhantomData, ops::Deref, ptr};
1111
use crate::hal::blocking::spi;
1212
use crate::hal::spi::FullDuplex;
1313
pub use crate::hal::spi::{Mode, Phase, Polarity};
14+
#[cfg(feature = "gpio-f303e")]
15+
use crate::pac::SPI4;
1416
use crate::pac::{
1517
self, spi1,
1618
spi1::cr2::{DS_A, FRXTH_A},
@@ -350,7 +352,7 @@ macro_rules! spi {
350352
impl crate::private::Sealed for pac::$SPIX {}
351353
impl crate::interrupts::InterruptNumber for pac::$SPIX {
352354
type Interrupt = Interrupt;
353-
const INTERRUPT: Self::Interrupt = Interrupt::$SPIX;
355+
const INTERRUPT: Self::Interrupt = interrupts::$SPIX;
354356
}
355357

356358
impl Instance for pac::$SPIX {
@@ -409,6 +411,33 @@ macro_rules! spi {
409411
};
410412
}
411413

414+
mod interrupts {
415+
use crate::pac::Interrupt;
416+
417+
cfg_if::cfg_if! {
418+
if #[cfg(feature = "svd-f301")] {
419+
#[allow(unused)]
420+
pub(crate) const SPI1: Interrupt = Interrupt::SPI1_IRQ;
421+
#[allow(unused)]
422+
pub(crate) const SPI2: Interrupt = Interrupt::SPI2_IRQ;
423+
#[allow(unused)]
424+
pub(crate) const SPI3: Interrupt = Interrupt::SPI3_IRQ;
425+
} else if #[cfg(feature = "svd-f3x4")] {
426+
pub(crate) const SPI1: Interrupt = Interrupt::SPI1;
427+
} else {
428+
#[allow(unused)]
429+
pub(crate) const SPI1: Interrupt = Interrupt::SPI1;
430+
#[allow(unused)]
431+
pub(crate) const SPI2: Interrupt = Interrupt::SPI2;
432+
#[allow(unused)]
433+
pub(crate) const SPI3: Interrupt = Interrupt::SPI3;
434+
}
435+
}
436+
437+
#[cfg(feature = "gpio-f303e")]
438+
pub(crate) const SPI4: Interrupt = Interrupt::SPI4;
439+
}
440+
412441
#[cfg(any(
413442
feature = "stm32f303x6",
414443
feature = "stm32f303x8",

0 commit comments

Comments
 (0)