File tree 5 files changed +36993
-4
lines changed
5 files changed +36993
-4
lines changed Original file line number Diff line number Diff line change @@ -51,6 +51,7 @@ check-all:
51
51
DRONE_RUSTFLAGS=' --cfg cortex_m_core="cortex_m4f_r0p1" --cfg stm32_mcu="stm32l4s7"' drone env thumbv7em-none-eabihf -- cargo check --package drone-stm32 -map --features " {{ features}} "
52
52
DRONE_RUSTFLAGS=' --cfg cortex_m_core="cortex_m4f_r0p1" --cfg stm32_mcu="stm32l4r9"' drone env thumbv7em-none-eabihf -- cargo check --package drone-stm32 -map --features " {{ features}} "
53
53
DRONE_RUSTFLAGS=' --cfg cortex_m_core="cortex_m4f_r0p1" --cfg stm32_mcu="stm32l4s9"' drone env thumbv7em-none-eabihf -- cargo check --package drone-stm32 -map --features " {{ features}} "
54
+ DRONE_RUSTFLAGS=' --cfg cortex_m_core="cortex_m4f_r0p1" --cfg stm32_mcu="stm32wbx5"' drone env thumbv7em-none-eabihf -- cargo check --package drone-stm32 -map --features " {{ features}} "
54
55
55
56
# Generate the docs
56
57
doc :
Original file line number Diff line number Diff line change @@ -47,6 +47,7 @@ a drop-in replacement for it.
47
47
| ` stm32l4s7 ` | ARM® Cortex®-M4F r0p1 | [ RM0432] ( https://www.st.com/resource/en/reference_manual/dm00310109.pdf ) | ` adc ` ` dma ` ` exti ` ` gpio ` ` i2c ` ` rtc ` ` spi ` ` tim ` ` uart ` |
48
48
| ` stm32l4r9 ` | ARM® Cortex®-M4F r0p1 | [ RM0432] ( https://www.st.com/resource/en/reference_manual/dm00310109.pdf ) | ` adc ` ` dma ` ` exti ` ` gpio ` ` i2c ` ` rtc ` ` spi ` ` tim ` ` uart ` |
49
49
| ` stm32l4s9 ` | ARM® Cortex®-M4F r0p1 | [ RM0432] ( https://www.st.com/resource/en/reference_manual/dm00310109.pdf ) | ` adc ` ` dma ` ` exti ` ` gpio ` ` i2c ` ` rtc ` ` spi ` ` tim ` ` uart ` |
50
+ | ` stm32wbx5 ` | ARM® Cortex®-M4F r0p1 | [ RM0434] ( https://www.st.com/resource/en/reference_manual/dm00318631.pdf ) | |
50
51
51
52
` stm32_mcu ` config flag should be set at the application level according to
52
53
this table.
Original file line number Diff line number Diff line change @@ -51,7 +51,8 @@ periph! {
51
51
stm32_mcu = "stm32l4r9" ,
52
52
stm32_mcu = "stm32l4s5" ,
53
53
stm32_mcu = "stm32l4s7" ,
54
- stm32_mcu = "stm32l4s9"
54
+ stm32_mcu = "stm32l4s9" ,
55
+ stm32_mcu = "stm32wbx5"
55
56
) ) ]
56
57
BUSSMENR {
57
58
0x20 RwRegBitBand Shared ;
@@ -82,7 +83,8 @@ periph! {
82
83
stm32_mcu = "stm32l4r9" ,
83
84
stm32_mcu = "stm32l4s5" ,
84
85
stm32_mcu = "stm32l4s7" ,
85
- stm32_mcu = "stm32l4s9"
86
+ stm32_mcu = "stm32l4s9" ,
87
+ stm32_mcu = "stm32wbx5"
86
88
) ) ]
87
89
AFRL {
88
90
0x20 RwReg ;
@@ -117,7 +119,8 @@ periph! {
117
119
stm32_mcu = "stm32l4r9" ,
118
120
stm32_mcu = "stm32l4s5" ,
119
121
stm32_mcu = "stm32l4s7" ,
120
- stm32_mcu = "stm32l4s9"
122
+ stm32_mcu = "stm32l4s9" ,
123
+ stm32_mcu = "stm32wbx5"
121
124
) ) ]
122
125
AFRH {
123
126
0x20 RwReg ;
@@ -132,7 +135,8 @@ periph! {
132
135
}
133
136
#[ cfg( any(
134
137
stm32_mcu = "stm32l4x5" ,
135
- stm32_mcu = "stm32l4x6"
138
+ stm32_mcu = "stm32l4x6" ,
139
+ stm32_mcu = "stm32wbx5"
136
140
) ) ]
137
141
ASCR {
138
142
0x20 RwReg Option ;
Original file line number Diff line number Diff line change @@ -74,10 +74,16 @@ fn svd_deserialize() -> Result<Device> {
74
74
"stm32l4s5" => patch_stm32l4plus ( parse_svd ( "STM32L4S5.svd" ) ?) ,
75
75
"stm32l4s7" => patch_stm32l4plus ( parse_svd ( "STM32L4S7.svd" ) ?) ,
76
76
"stm32l4s9" => patch_stm32l4plus ( parse_svd ( "STM32L4S9.svd" ) ?) ,
77
+ "stm32wbx5" => patch_stm32wbx5 ( parse_svd ( "STM32WBxx_CM4.svd" ) ?) ,
77
78
_ => bail ! ( "invalid `stm32_mcu` cfg flag" ) ,
78
79
}
79
80
}
80
81
82
+ fn patch_stm32wbx5 ( mut dev : Device ) -> Result < Device > {
83
+ fix_802154 ( & mut dev) ?;
84
+ Ok ( dev)
85
+ }
86
+
81
87
fn patch_stm32f102 ( mut dev : Device ) -> Result < Device > {
82
88
spi:: fix_spi2_1 ( & mut dev) ?;
83
89
Ok ( dev)
@@ -199,6 +205,12 @@ fn patch_stm32f413(mut dev: Device) -> Result<Device> {
199
205
Ok ( dev)
200
206
}
201
207
208
+ fn fix_802154 ( dev : & mut Device ) -> Result < ( ) > {
209
+ dev. periph ( "PWR" ) . reg ( "SR1" ) . field ( "802WUF" ) . name = "IEEE802WUF" . to_string ( ) ;
210
+ dev. periph ( "PWR" ) . reg ( "C2CR1" ) . field ( "802EWKUP" ) . name = "IEEE802EWKUP" . to_string ( ) ;
211
+ Ok ( ( ) )
212
+ }
213
+
202
214
fn patch_stm32f427 ( mut dev : Device ) -> Result < Device > {
203
215
rcc:: fix_3 ( & mut dev) ?;
204
216
dma:: fix_dma2_1 ( & mut dev) ?;
You can’t perform that action at this time.
0 commit comments