Skip to content

Commit 4126358

Browse files
authored
Merge pull request #4194 from i509VCB/update-metapac2
mspm0: generate features per chip + package
2 parents 06585e7 + f41e8c4 commit 4126358

File tree

18 files changed

+326
-43
lines changed

18 files changed

+326
-43
lines changed

ci.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -174,11 +174,11 @@ cargo batch \
174174
--- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv6m-none-eabi --features stm32u073mb,defmt,exti,time-driver-any,time \
175175
--- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv6m-none-eabi --features stm32u083rc,defmt,exti,time-driver-any,time \
176176
--- build --release --manifest-path embassy-nxp/Cargo.toml --target thumbv8m.main-none-eabihf \
177-
--- build --release --manifest-path embassy-mspm0/Cargo.toml --target thumbv6m-none-eabi --features mspm0c110x,defmt,time-driver-any \
178-
--- build --release --manifest-path embassy-mspm0/Cargo.toml --target thumbv6m-none-eabi --features mspm0g350x,defmt,time-driver-any \
179-
--- build --release --manifest-path embassy-mspm0/Cargo.toml --target thumbv6m-none-eabi --features mspm0g351x,defmt,time-driver-any \
180-
--- build --release --manifest-path embassy-mspm0/Cargo.toml --target thumbv6m-none-eabi --features mspm0l130x,defmt,time-driver-any \
181-
--- build --release --manifest-path embassy-mspm0/Cargo.toml --target thumbv6m-none-eabi --features mspm0l222x,defmt,time-driver-any \
177+
--- build --release --manifest-path embassy-mspm0/Cargo.toml --target thumbv6m-none-eabi --features mspm0c1104dgs20,defmt,time-driver-any \
178+
--- build --release --manifest-path embassy-mspm0/Cargo.toml --target thumbv6m-none-eabi --features mspm0g3507pm,defmt,time-driver-any \
179+
--- build --release --manifest-path embassy-mspm0/Cargo.toml --target thumbv6m-none-eabi --features mspm0g3519pz,defmt,time-driver-any \
180+
--- build --release --manifest-path embassy-mspm0/Cargo.toml --target thumbv6m-none-eabi --features mspm0l1306rhb,defmt,time-driver-any \
181+
--- build --release --manifest-path embassy-mspm0/Cargo.toml --target thumbv6m-none-eabi --features mspm0l2228pn,defmt,time-driver-any \
182182
--- build --release --manifest-path cyw43/Cargo.toml --target thumbv6m-none-eabi --features ''\
183183
--- build --release --manifest-path cyw43/Cargo.toml --target thumbv6m-none-eabi --features 'log' \
184184
--- build --release --manifest-path cyw43/Cargo.toml --target thumbv6m-none-eabi --features 'defmt' \

embassy-mspm0/Cargo.toml

Lines changed: 132 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,14 @@ cortex-m = "0.7.6"
4646
critical-section = "1.2.0"
4747

4848
# mspm0-metapac = { version = "" }
49-
mspm0-metapac = { git = "https://github.com/mspm0-rs/mspm0-data-generated/", tag = "mspm0-data-119240dd23ef5748d2a7bef219ca298d37ba604a" }
49+
mspm0-metapac = { git = "https://github.com/mspm0-rs/mspm0-data-generated/", tag = "mspm0-data-66a55c7bf38a2201ff48c299843e741f2d537f0b" }
5050

5151
[build-dependencies]
5252
proc-macro2 = "1.0.94"
5353
quote = "1.0.40"
5454

5555
# mspm0-metapac = { version = "", default-features = false, features = ["metadata"] }
56-
mspm0-metapac = { git = "https://github.com/mspm0-rs/mspm0-data-generated/", tag = "mspm0-data-119240dd23ef5748d2a7bef219ca298d37ba604a", default-features = false, features = ["metadata"] }
56+
mspm0-metapac = { git = "https://github.com/mspm0-rs/mspm0-data-generated/", tag = "mspm0-data-66a55c7bf38a2201ff48c299843e741f2d537f0b", default-features = false, features = ["metadata"] }
5757

5858
[features]
5959
default = ["rt"]
@@ -120,14 +120,138 @@ time-driver-tima0 = ["_time-driver"]
120120
time-driver-tima1 = ["_time-driver"]
121121

122122
#! ## Chip-selection features
123-
#! Select your chip by specifying the model as a feature, e.g. `mspm0g350x`.
123+
#! Select your chip by specifying the model as a feature, e.g. `mspm0g3507pm`.
124124
#! Check the `Cargo.toml` for the latest list of supported chips.
125125
#!
126126
#! **Important:** Do not forget to adapt the target chip in your toolchain,
127127
#! e.g. in `.cargo/config.toml`.
128128

129-
mspm0c110x = [ "mspm0-metapac/mspm0c110x" ]
130-
mspm0g350x = [ "mspm0-metapac/mspm0g350x" ]
131-
mspm0g351x = [ "mspm0-metapac/mspm0g351x" ]
132-
mspm0l130x = [ "mspm0-metapac/mspm0l130x" ]
133-
mspm0l222x = [ "mspm0-metapac/mspm0l222x" ]
129+
mspm0c1103dgs20 = ["mspm0-metapac/mspm0c1103dgs20"]
130+
mspm0c1103dsg = ["mspm0-metapac/mspm0c1103dsg"]
131+
mspm0c1103dyy = ["mspm0-metapac/mspm0c1103dyy"]
132+
mspm0c1103ruk = ["mspm0-metapac/mspm0c1103ruk"]
133+
mspm0c1104dgs20 = ["mspm0-metapac/mspm0c1104dgs20"]
134+
mspm0c1104dsg = ["mspm0-metapac/mspm0c1104dsg"]
135+
mspm0c1104dyy = ["mspm0-metapac/mspm0c1104dyy"]
136+
mspm0c1104ruk = ["mspm0-metapac/mspm0c1104ruk"]
137+
mspm0c1104ycj = ["mspm0-metapac/mspm0c1104ycj"]
138+
mspm0g1105dgs28 = ["mspm0-metapac/mspm0g1105dgs28"]
139+
mspm0g1105pm = ["mspm0-metapac/mspm0g1105pm"]
140+
mspm0g1105pt = ["mspm0-metapac/mspm0g1105pt"]
141+
mspm0g1105rge = ["mspm0-metapac/mspm0g1105rge"]
142+
mspm0g1105rgz = ["mspm0-metapac/mspm0g1105rgz"]
143+
mspm0g1105rhb = ["mspm0-metapac/mspm0g1105rhb"]
144+
mspm0g1106dgs28 = ["mspm0-metapac/mspm0g1106dgs28"]
145+
mspm0g1106pm = ["mspm0-metapac/mspm0g1106pm"]
146+
mspm0g1106pt = ["mspm0-metapac/mspm0g1106pt"]
147+
mspm0g1106rge = ["mspm0-metapac/mspm0g1106rge"]
148+
mspm0g1106rgz = ["mspm0-metapac/mspm0g1106rgz"]
149+
mspm0g1106rhb = ["mspm0-metapac/mspm0g1106rhb"]
150+
mspm0g1107dgs28 = ["mspm0-metapac/mspm0g1107dgs28"]
151+
mspm0g1107pm = ["mspm0-metapac/mspm0g1107pm"]
152+
mspm0g1107pt = ["mspm0-metapac/mspm0g1107pt"]
153+
mspm0g1107rge = ["mspm0-metapac/mspm0g1107rge"]
154+
mspm0g1107rgz = ["mspm0-metapac/mspm0g1107rgz"]
155+
mspm0g1107rhb = ["mspm0-metapac/mspm0g1107rhb"]
156+
mspm0g1107ycj = ["mspm0-metapac/mspm0g1107ycj"]
157+
mspm0g1505pm = ["mspm0-metapac/mspm0g1505pm"]
158+
mspm0g1505pt = ["mspm0-metapac/mspm0g1505pt"]
159+
mspm0g1505rge = ["mspm0-metapac/mspm0g1505rge"]
160+
mspm0g1505rgz = ["mspm0-metapac/mspm0g1505rgz"]
161+
mspm0g1505rhb = ["mspm0-metapac/mspm0g1505rhb"]
162+
mspm0g1506pm = ["mspm0-metapac/mspm0g1506pm"]
163+
mspm0g1506pt = ["mspm0-metapac/mspm0g1506pt"]
164+
mspm0g1506rge = ["mspm0-metapac/mspm0g1506rge"]
165+
mspm0g1506rgz = ["mspm0-metapac/mspm0g1506rgz"]
166+
mspm0g1506rhb = ["mspm0-metapac/mspm0g1506rhb"]
167+
mspm0g1507pm = ["mspm0-metapac/mspm0g1507pm"]
168+
mspm0g1507pt = ["mspm0-metapac/mspm0g1507pt"]
169+
mspm0g1507rge = ["mspm0-metapac/mspm0g1507rge"]
170+
mspm0g1507rgz = ["mspm0-metapac/mspm0g1507rgz"]
171+
mspm0g1507rhb = ["mspm0-metapac/mspm0g1507rhb"]
172+
mspm0g1507ycj = ["mspm0-metapac/mspm0g1507ycj"]
173+
mspm0g1519rgz = ["mspm0-metapac/mspm0g1519rgz"]
174+
mspm0g1519rhb = ["mspm0-metapac/mspm0g1519rhb"]
175+
mspm0g3105dgs20 = ["mspm0-metapac/mspm0g3105dgs20"]
176+
mspm0g3105dgs28 = ["mspm0-metapac/mspm0g3105dgs28"]
177+
mspm0g3105rhb = ["mspm0-metapac/mspm0g3105rhb"]
178+
mspm0g3106dgs20 = ["mspm0-metapac/mspm0g3106dgs20"]
179+
mspm0g3106dgs28 = ["mspm0-metapac/mspm0g3106dgs28"]
180+
mspm0g3106rhb = ["mspm0-metapac/mspm0g3106rhb"]
181+
mspm0g3107dgs20 = ["mspm0-metapac/mspm0g3107dgs20"]
182+
mspm0g3107dgs28 = ["mspm0-metapac/mspm0g3107dgs28"]
183+
mspm0g3107rhb = ["mspm0-metapac/mspm0g3107rhb"]
184+
mspm0g3505dgs28 = ["mspm0-metapac/mspm0g3505dgs28"]
185+
mspm0g3505pm = ["mspm0-metapac/mspm0g3505pm"]
186+
mspm0g3505pt = ["mspm0-metapac/mspm0g3505pt"]
187+
mspm0g3505rgz = ["mspm0-metapac/mspm0g3505rgz"]
188+
mspm0g3505rhb = ["mspm0-metapac/mspm0g3505rhb"]
189+
mspm0g3506dgs28 = ["mspm0-metapac/mspm0g3506dgs28"]
190+
mspm0g3506pm = ["mspm0-metapac/mspm0g3506pm"]
191+
mspm0g3506pt = ["mspm0-metapac/mspm0g3506pt"]
192+
mspm0g3506rgz = ["mspm0-metapac/mspm0g3506rgz"]
193+
mspm0g3506rhb = ["mspm0-metapac/mspm0g3506rhb"]
194+
mspm0g3507dgs28 = ["mspm0-metapac/mspm0g3507dgs28"]
195+
mspm0g3507pm = ["mspm0-metapac/mspm0g3507pm"]
196+
mspm0g3507pt = ["mspm0-metapac/mspm0g3507pt"]
197+
mspm0g3507rgz = ["mspm0-metapac/mspm0g3507rgz"]
198+
mspm0g3507rhb = ["mspm0-metapac/mspm0g3507rhb"]
199+
mspm0g3519pm = ["mspm0-metapac/mspm0g3519pm"]
200+
mspm0g3519pn = ["mspm0-metapac/mspm0g3519pn"]
201+
mspm0g3519pz = ["mspm0-metapac/mspm0g3519pz"]
202+
mspm0g3519rgz = ["mspm0-metapac/mspm0g3519rgz"]
203+
mspm0g3519rhb = ["mspm0-metapac/mspm0g3519rhb"]
204+
mspm0l1105dgs20 = ["mspm0-metapac/mspm0l1105dgs20"]
205+
mspm0l1105dgs28 = ["mspm0-metapac/mspm0l1105dgs28"]
206+
mspm0l1105dyy = ["mspm0-metapac/mspm0l1105dyy"]
207+
mspm0l1105rge = ["mspm0-metapac/mspm0l1105rge"]
208+
mspm0l1105rtr = ["mspm0-metapac/mspm0l1105rtr"]
209+
mspm0l1106dgs20 = ["mspm0-metapac/mspm0l1106dgs20"]
210+
mspm0l1106dgs28 = ["mspm0-metapac/mspm0l1106dgs28"]
211+
mspm0l1106dyy = ["mspm0-metapac/mspm0l1106dyy"]
212+
mspm0l1106rge = ["mspm0-metapac/mspm0l1106rge"]
213+
mspm0l1106rhb = ["mspm0-metapac/mspm0l1106rhb"]
214+
mspm0l1106rtr = ["mspm0-metapac/mspm0l1106rtr"]
215+
mspm0l1227pm = ["mspm0-metapac/mspm0l1227pm"]
216+
mspm0l1227pn = ["mspm0-metapac/mspm0l1227pn"]
217+
mspm0l1227pt = ["mspm0-metapac/mspm0l1227pt"]
218+
mspm0l1227rge = ["mspm0-metapac/mspm0l1227rge"]
219+
mspm0l1227rgz = ["mspm0-metapac/mspm0l1227rgz"]
220+
mspm0l1227rhb = ["mspm0-metapac/mspm0l1227rhb"]
221+
mspm0l1228pm = ["mspm0-metapac/mspm0l1228pm"]
222+
mspm0l1228pn = ["mspm0-metapac/mspm0l1228pn"]
223+
mspm0l1228pt = ["mspm0-metapac/mspm0l1228pt"]
224+
mspm0l1228rge = ["mspm0-metapac/mspm0l1228rge"]
225+
mspm0l1228rgz = ["mspm0-metapac/mspm0l1228rgz"]
226+
mspm0l1228rhb = ["mspm0-metapac/mspm0l1228rhb"]
227+
mspm0l1303rge = ["mspm0-metapac/mspm0l1303rge"]
228+
mspm0l1304dgs20 = ["mspm0-metapac/mspm0l1304dgs20"]
229+
mspm0l1304dgs28 = ["mspm0-metapac/mspm0l1304dgs28"]
230+
mspm0l1304dyy = ["mspm0-metapac/mspm0l1304dyy"]
231+
mspm0l1304rge = ["mspm0-metapac/mspm0l1304rge"]
232+
mspm0l1304rhb = ["mspm0-metapac/mspm0l1304rhb"]
233+
mspm0l1304rtr = ["mspm0-metapac/mspm0l1304rtr"]
234+
mspm0l1305dgs20 = ["mspm0-metapac/mspm0l1305dgs20"]
235+
mspm0l1305dgs28 = ["mspm0-metapac/mspm0l1305dgs28"]
236+
mspm0l1305dyy = ["mspm0-metapac/mspm0l1305dyy"]
237+
mspm0l1305rge = ["mspm0-metapac/mspm0l1305rge"]
238+
mspm0l1305rtr = ["mspm0-metapac/mspm0l1305rtr"]
239+
mspm0l1306dgs20 = ["mspm0-metapac/mspm0l1306dgs20"]
240+
mspm0l1306dgs28 = ["mspm0-metapac/mspm0l1306dgs28"]
241+
mspm0l1306dyy = ["mspm0-metapac/mspm0l1306dyy"]
242+
mspm0l1306rge = ["mspm0-metapac/mspm0l1306rge"]
243+
mspm0l1306rhb = ["mspm0-metapac/mspm0l1306rhb"]
244+
mspm0l1343dgs20 = ["mspm0-metapac/mspm0l1343dgs20"]
245+
mspm0l1344dgs20 = ["mspm0-metapac/mspm0l1344dgs20"]
246+
mspm0l1345dgs28 = ["mspm0-metapac/mspm0l1345dgs28"]
247+
mspm0l1346dgs28 = ["mspm0-metapac/mspm0l1346dgs28"]
248+
mspm0l2227pm = ["mspm0-metapac/mspm0l2227pm"]
249+
mspm0l2227pn = ["mspm0-metapac/mspm0l2227pn"]
250+
mspm0l2227pt = ["mspm0-metapac/mspm0l2227pt"]
251+
mspm0l2227rgz = ["mspm0-metapac/mspm0l2227rgz"]
252+
mspm0l2228pm = ["mspm0-metapac/mspm0l2228pm"]
253+
mspm0l2228pn = ["mspm0-metapac/mspm0l2228pn"]
254+
mspm0l2228pt = ["mspm0-metapac/mspm0l2228pt"]
255+
mspm0l2228rgz = ["mspm0-metapac/mspm0l2228rgz"]
256+
msps003f3pw20 = ["mspm0-metapac/msps003f3pw20"]
257+
msps003f4pw20 = ["mspm0-metapac/msps003f4pw20"]

embassy-mspm0/README.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Embassy MSPM0 HAL
2+
3+
The embassy-mspm0 HAL aims to provide a safe, idiomatic hardware abstraction layer for all MSPM0 and MSPS003 chips.
4+
5+
* [Documentation](https://docs.embassy.dev/embassy-mspm0/) (**Important:** use docs.embassy.dev rather than docs.rs to see the specific docs for the chip you’re using!)
6+
* [Source](https://github.com/embassy-rs/embassy/tree/main/embassy-mspm0)
7+
* [Examples](https://github.com/embassy-rs/embassy/tree/main/examples)
8+
9+
## Embedded-hal
10+
11+
The `embassy-mspm0` HAL implements the traits from [embedded-hal](https://crates.io/crates/embedded-hal) (1.0) and [embedded-hal-async](https://crates.io/crates/embedded-hal-async), as well as [embedded-io](https://crates.io/crates/embedded-io) and [embedded-io-async](https://crates.io/crates/embedded-io-async).
12+
13+
## A note on feature flag names
14+
15+
Feature flag names for chips do not include temperature rating or distribution format.
16+
17+
Usually chapter 10 of your device's datasheet will explain the device nomenclature and how to decode it. Feature names in embassy-mspm0 only use the following from device nomenclature:
18+
- MCU platform
19+
- Product family
20+
- Device subfamily
21+
- Flash memory
22+
- Package type
23+
24+
This means for a part such as `MSPM0G3507SPMR`, the feature name is `mspm0g3507pm`. This also means that `MSPM0G3507QPMRQ1` uses the feature `mspm0g3507pm`, since the Q1 parts are just qualified variants of the base G3507 with a PM (QFP-64) package.
25+
26+
## Interoperability
27+
28+
This crate can run on any executor.

embassy-mspm0/build.rs

Lines changed: 81 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use std::sync::LazyLock;
77
use std::{env, fs};
88

99
use common::CfgSet;
10-
use mspm0_metapac::metadata::METADATA;
10+
use mspm0_metapac::metadata::{ALL_CHIPS, METADATA};
1111
use proc_macro2::{Ident, Literal, Span, TokenStream};
1212
use quote::{format_ident, quote};
1313

@@ -24,6 +24,27 @@ fn generate_code() {
2424

2525
cfgs.declare_all(&["gpio_pb", "gpio_pc", "int_group1"]);
2626

27+
let chip_name = match env::vars()
28+
.map(|(a, _)| a)
29+
.filter(|x| x.starts_with("CARGO_FEATURE_MSPM0") || x.starts_with("CARGO_FEATURE_MSPS"))
30+
.get_one()
31+
{
32+
Ok(x) => x,
33+
Err(GetOneError::None) => panic!("No mspm0xx/mspsxx Cargo feature enabled"),
34+
Err(GetOneError::Multiple) => panic!("Multiple mspm0xx/mspsxx Cargo features enabled"),
35+
}
36+
.strip_prefix("CARGO_FEATURE_")
37+
.unwrap()
38+
.to_ascii_lowercase()
39+
.replace('_', "-");
40+
41+
eprintln!("chip: {chip_name}");
42+
43+
cfgs.enable_all(&get_chip_cfgs(&chip_name));
44+
for chip in ALL_CHIPS {
45+
cfgs.declare_all(&get_chip_cfgs(&chip));
46+
}
47+
2748
let mut singletons = get_singletons(&mut cfgs);
2849

2950
time_driver(&mut singletons, &mut cfgs);
@@ -44,6 +65,60 @@ fn generate_code() {
4465
rustfmt(&out_file);
4566
}
4667

68+
fn get_chip_cfgs(chip_name: &str) -> Vec<String> {
69+
let mut cfgs = Vec::new();
70+
71+
// GPIO on C110x is special as it does not belong to an interrupt group.
72+
if chip_name.starts_with("mspm0c110") || chip_name.starts_with("msps003f") {
73+
cfgs.push("mspm0c110x".to_string());
74+
}
75+
76+
// Family ranges (temporary until int groups are generated)
77+
//
78+
// TODO: Remove this once int group stuff is generated.
79+
if chip_name.starts_with("mspm0g110") {
80+
cfgs.push("mspm0g110x".to_string());
81+
}
82+
83+
if chip_name.starts_with("mspm0g150") {
84+
cfgs.push("mspm0g150x".to_string());
85+
}
86+
87+
if chip_name.starts_with("mspm0g310") {
88+
cfgs.push("mspm0g310x".to_string());
89+
}
90+
91+
if chip_name.starts_with("mspm0g350") {
92+
cfgs.push("mspm0g350x".to_string());
93+
}
94+
95+
if chip_name.starts_with("mspm0g351") {
96+
cfgs.push("mspm0g351x".to_string());
97+
}
98+
99+
if chip_name.starts_with("mspm0l110") {
100+
cfgs.push("mspm0l110x".to_string());
101+
}
102+
103+
if chip_name.starts_with("mspm0l122") {
104+
cfgs.push("mspm0l122x".to_string());
105+
}
106+
107+
if chip_name.starts_with("mspm0l130") {
108+
cfgs.push("mspm0l130x".to_string());
109+
}
110+
111+
if chip_name.starts_with("mspm0l134") {
112+
cfgs.push("mspm0l134x".to_string());
113+
}
114+
115+
if chip_name.starts_with("mspm0l222") {
116+
cfgs.push("mspm0l222x".to_string());
117+
}
118+
119+
cfgs
120+
}
121+
47122
#[derive(Debug, Clone)]
48123
struct Singleton {
49124
name: String,
@@ -146,7 +221,7 @@ fn make_valid_identifier(s: &str) -> Singleton {
146221
}
147222

148223
fn generate_pincm_mapping() -> TokenStream {
149-
let pincms = METADATA.pincm_mappings.iter().map(|mapping| {
224+
let pincms = METADATA.pins.iter().map(|mapping| {
150225
let port_letter = mapping.pin.strip_prefix("P").unwrap();
151226
let port_base = (port_letter.chars().next().unwrap() as u8 - b'A') * 32;
152227
// This assumes all ports are single letter length.
@@ -174,11 +249,11 @@ fn generate_pincm_mapping() -> TokenStream {
174249
}
175250

176251
fn generate_pin() -> TokenStream {
177-
let pin_impls = METADATA.pincm_mappings.iter().map(|pincm_mapping| {
178-
let name = Ident::new(&pincm_mapping.pin, Span::call_site());
179-
let port_letter = pincm_mapping.pin.strip_prefix("P").unwrap();
252+
let pin_impls = METADATA.pins.iter().map(|pin| {
253+
let name = Ident::new(&pin.pin, Span::call_site());
254+
let port_letter = pin.pin.strip_prefix("P").unwrap();
180255
let port_letter = port_letter.chars().next().unwrap();
181-
let pin_number = Literal::u8_unsuffixed(pincm_mapping.pin[2..].parse::<u8>().unwrap());
256+
let pin_number = Literal::u8_unsuffixed(pin.pin[2..].parse::<u8>().unwrap());
182257

183258
let port = Ident::new(&format!("Port{}", port_letter), Span::call_site());
184259

embassy-mspm0/src/gpio.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use embassy_sync::waitqueue::AtomicWaker;
1010

1111
use crate::pac::gpio::vals::*;
1212
use crate::pac::gpio::{self};
13-
#[cfg(all(feature = "rt", feature = "mspm0c110x"))]
13+
#[cfg(all(feature = "rt", mspm0c110x))]
1414
use crate::pac::interrupt;
1515
use crate::pac::{self};
1616

@@ -1120,7 +1120,7 @@ impl Iterator for BitIter {
11201120
}
11211121

11221122
// C110x has a dedicated interrupt just for GPIOA, as it does not have a GROUP1 interrupt.
1123-
#[cfg(all(feature = "rt", feature = "mspm0c110x"))]
1123+
#[cfg(all(feature = "rt", mspm0c110x))]
11241124
#[interrupt]
11251125
fn GPIOA() {
11261126
gpioa_interrupt();

0 commit comments

Comments
 (0)