2
2
//!
3
3
4
4
use crate :: gpio:: { self , NoPin } ;
5
- use crate :: pac:: { CAN1 , CAN2 } ;
5
+ use crate :: pac;
6
6
use crate :: rcc;
7
7
8
8
pub trait Instance : crate :: Sealed + rcc:: Enable + rcc:: Reset + gpio:: alt:: CanCommon { }
@@ -16,22 +16,22 @@ macro_rules! can {
16
16
}
17
17
18
18
// Implemented by all SPI instances
19
- can ! { CAN1 : Can1 }
20
- can ! { CAN2 : Can2 }
19
+ can ! { pac:: CAN1 : Can1 }
20
+ #[ cfg( feature = "can2" ) ]
21
+ can ! { pac:: CAN2 : Can2 }
21
22
#[ cfg( feature = "can3" ) ]
22
- can ! { crate :: pac:: CAN3 : Can3 }
23
+ can ! { pac:: CAN3 : Can3 }
23
24
24
25
/// Pins and definitions for models with a third CAN peripheral
25
26
#[ cfg( feature = "can3" ) ]
26
27
mod can3 {
27
28
use super :: * ;
28
- use crate :: pac:: CAN3 ;
29
29
30
- unsafe impl bxcan:: Instance for Can < CAN3 > {
31
- const REGISTERS : * mut bxcan:: RegisterBlock = CAN3 :: ptr ( ) as * mut _ ;
30
+ unsafe impl bxcan:: Instance for Can < pac :: CAN3 > {
31
+ const REGISTERS : * mut bxcan:: RegisterBlock = pac :: CAN3 :: ptr ( ) as * mut _ ;
32
32
}
33
33
34
- unsafe impl bxcan:: FilterOwner for Can < CAN3 > {
34
+ unsafe impl bxcan:: FilterOwner for Can < pac :: CAN3 > {
35
35
const NUM_FILTER_BANKS : u8 = 14 ;
36
36
}
37
37
}
@@ -110,16 +110,17 @@ impl<CAN: Instance> Can<CAN> {
110
110
}
111
111
}
112
112
113
- unsafe impl bxcan:: Instance for Can < CAN1 > {
114
- const REGISTERS : * mut bxcan:: RegisterBlock = CAN1 :: ptr ( ) as * mut _ ;
113
+ unsafe impl bxcan:: Instance for Can < pac :: CAN1 > {
114
+ const REGISTERS : * mut bxcan:: RegisterBlock = pac :: CAN1 :: ptr ( ) as * mut _ ;
115
115
}
116
116
117
- unsafe impl bxcan:: Instance for Can < CAN2 > {
118
- const REGISTERS : * mut bxcan:: RegisterBlock = CAN2 :: ptr ( ) as * mut _ ;
117
+ #[ cfg( feature = "can2" ) ]
118
+ unsafe impl bxcan:: Instance for Can < pac:: CAN2 > {
119
+ const REGISTERS : * mut bxcan:: RegisterBlock = pac:: CAN2 :: ptr ( ) as * mut _ ;
119
120
}
120
121
121
- unsafe impl bxcan:: FilterOwner for Can < CAN1 > {
122
+ unsafe impl bxcan:: FilterOwner for Can < pac :: CAN1 > {
122
123
const NUM_FILTER_BANKS : u8 = 28 ;
123
124
}
124
125
125
- unsafe impl bxcan:: MasterInstance for Can < CAN1 > { }
126
+ unsafe impl bxcan:: MasterInstance for Can < pac :: CAN1 > { }
0 commit comments