@@ -321,7 +321,7 @@ where
321
321
let offset = 2 * { N } ;
322
322
323
323
unsafe {
324
- ( * Gpio :: < P > :: ptr ( ) )
324
+ ( * gpiox :: < P > ( ) )
325
325
. ospeedr
326
326
. modify ( |r, w| w. bits ( ( r. bits ( ) & !( 0b11 << offset) ) | ( ( speed as u32 ) << offset) ) ) ;
327
327
}
@@ -353,7 +353,7 @@ where
353
353
let offset = 2 * { N } ;
354
354
let value = resistor as u32 ;
355
355
unsafe {
356
- ( * Gpio :: < P > :: ptr ( ) )
356
+ ( * gpiox :: < P > ( ) )
357
357
. pupdr
358
358
. modify ( |r, w| w. bits ( ( r. bits ( ) & !( 0b11 << offset) ) | ( value << offset) ) ) ;
359
359
}
@@ -435,22 +435,22 @@ impl<const P: char, const N: u8, MODE> Pin<P, N, MODE> {
435
435
#[ inline( always) ]
436
436
fn _set_high ( & mut self ) {
437
437
// NOTE(unsafe) atomic write to a stateless register
438
- unsafe { ( * Gpio :: < P > :: ptr ( ) ) . bsrr . write ( |w| w. bits ( 1 << N ) ) }
438
+ unsafe { ( * gpiox :: < P > ( ) ) . bsrr . write ( |w| w. bits ( 1 << N ) ) }
439
439
}
440
440
#[ inline( always) ]
441
441
fn _set_low ( & mut self ) {
442
442
// NOTE(unsafe) atomic write to a stateless register
443
- unsafe { ( * Gpio :: < P > :: ptr ( ) ) . bsrr . write ( |w| w. bits ( 1 << ( 16 + N ) ) ) }
443
+ unsafe { ( * gpiox :: < P > ( ) ) . bsrr . write ( |w| w. bits ( 1 << ( 16 + N ) ) ) }
444
444
}
445
445
#[ inline( always) ]
446
446
fn _is_set_low ( & self ) -> bool {
447
447
// NOTE(unsafe) atomic read with no side effects
448
- unsafe { ( * Gpio :: < P > :: ptr ( ) ) . odr . read ( ) . bits ( ) & ( 1 << N ) == 0 }
448
+ unsafe { ( * gpiox :: < P > ( ) ) . odr . read ( ) . bits ( ) & ( 1 << N ) == 0 }
449
449
}
450
450
#[ inline( always) ]
451
451
fn _is_low ( & self ) -> bool {
452
452
// NOTE(unsafe) atomic read with no side effects
453
- unsafe { ( * Gpio :: < P > :: ptr ( ) ) . idr . read ( ) . bits ( ) & ( 1 << N ) == 0 }
453
+ unsafe { ( * gpiox :: < P > ( ) ) . idr . read ( ) . bits ( ) & ( 1 << N ) == 0 }
454
454
}
455
455
}
456
456
@@ -603,29 +603,26 @@ use gpio;
603
603
mod f4;
604
604
pub use f4:: * ;
605
605
606
- struct Gpio < const P : char > ;
607
- impl < const P : char > Gpio < P > {
608
- const fn ptr ( ) -> * const crate :: pac:: gpioa:: RegisterBlock {
609
- match P {
610
- 'A' => crate :: pac:: GPIOA :: ptr ( ) ,
611
- 'B' => crate :: pac:: GPIOB :: ptr ( ) as _ ,
612
- 'C' => crate :: pac:: GPIOC :: ptr ( ) as _ ,
613
- #[ cfg( feature = "gpiod" ) ]
614
- 'D' => crate :: pac:: GPIOD :: ptr ( ) as _ ,
615
- #[ cfg( feature = "gpioe" ) ]
616
- 'E' => crate :: pac:: GPIOE :: ptr ( ) as _ ,
617
- #[ cfg( feature = "gpiof" ) ]
618
- 'F' => crate :: pac:: GPIOF :: ptr ( ) as _ ,
619
- #[ cfg( feature = "gpiog" ) ]
620
- 'G' => crate :: pac:: GPIOG :: ptr ( ) as _ ,
621
- 'H' => crate :: pac:: GPIOH :: ptr ( ) as _ ,
622
- #[ cfg( feature = "gpioi" ) ]
623
- 'I' => crate :: pac:: GPIOI :: ptr ( ) as _ ,
624
- #[ cfg( feature = "gpioj" ) ]
625
- 'J' => crate :: pac:: GPIOJ :: ptr ( ) as _ ,
626
- #[ cfg( feature = "gpiok" ) ]
627
- 'K' => crate :: pac:: GPIOK :: ptr ( ) as _ ,
628
- _ => panic ! ( "Unknown GPIO port" ) ,
629
- }
606
+ const fn gpiox < const P : char > ( ) -> * const crate :: pac:: gpioa:: RegisterBlock {
607
+ match P {
608
+ 'A' => crate :: pac:: GPIOA :: ptr ( ) ,
609
+ 'B' => crate :: pac:: GPIOB :: ptr ( ) as _ ,
610
+ 'C' => crate :: pac:: GPIOC :: ptr ( ) as _ ,
611
+ #[ cfg( feature = "gpiod" ) ]
612
+ 'D' => crate :: pac:: GPIOD :: ptr ( ) as _ ,
613
+ #[ cfg( feature = "gpioe" ) ]
614
+ 'E' => crate :: pac:: GPIOE :: ptr ( ) as _ ,
615
+ #[ cfg( feature = "gpiof" ) ]
616
+ 'F' => crate :: pac:: GPIOF :: ptr ( ) as _ ,
617
+ #[ cfg( feature = "gpiog" ) ]
618
+ 'G' => crate :: pac:: GPIOG :: ptr ( ) as _ ,
619
+ 'H' => crate :: pac:: GPIOH :: ptr ( ) as _ ,
620
+ #[ cfg( feature = "gpioi" ) ]
621
+ 'I' => crate :: pac:: GPIOI :: ptr ( ) as _ ,
622
+ #[ cfg( feature = "gpioj" ) ]
623
+ 'J' => crate :: pac:: GPIOJ :: ptr ( ) as _ ,
624
+ #[ cfg( feature = "gpiok" ) ]
625
+ 'K' => crate :: pac:: GPIOK :: ptr ( ) as _ ,
626
+ _ => panic ! ( "Unknown GPIO port" ) ,
630
627
}
631
628
}
0 commit comments