@@ -11,6 +11,8 @@ use core::{fmt, marker::PhantomData, ops::Deref, ptr};
11
11
use crate :: hal:: blocking:: spi;
12
12
use crate :: hal:: spi:: FullDuplex ;
13
13
pub use crate :: hal:: spi:: { Mode , Phase , Polarity } ;
14
+ #[ cfg( feature = "gpio-f303e" ) ]
15
+ use crate :: pac:: SPI4 ;
14
16
use crate :: pac:: {
15
17
self , spi1,
16
18
spi1:: cr2:: { DS_A , FRXTH_A } ,
@@ -350,7 +352,7 @@ macro_rules! spi {
350
352
impl crate :: private:: Sealed for pac:: $SPIX { }
351
353
impl crate :: interrupts:: InterruptNumber for pac:: $SPIX {
352
354
type Interrupt = Interrupt ;
353
- const INTERRUPT : Self :: Interrupt = Interrupt :: $SPIX;
355
+ const INTERRUPT : Self :: Interrupt = interrupts :: $SPIX;
354
356
}
355
357
356
358
impl Instance for pac:: $SPIX {
@@ -409,6 +411,33 @@ macro_rules! spi {
409
411
} ;
410
412
}
411
413
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
+
412
441
#[ cfg( any(
413
442
feature = "stm32f303x6" ,
414
443
feature = "stm32f303x8" ,
0 commit comments