Skip to content

Introduce new Cargo features generated with cube-parse #82

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Feb 25, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
201 changes: 188 additions & 13 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -51,28 +51,203 @@ usbd-serial = "0.1.0"
# Miscellaneaous features
rt = ["stm32l0/rt"]
disable-linker-script = []
# MCUs

# STM32L0 subfamilies
# (Warning: Some peripherals, e.g. GPIO, don't follow this subfamily grouping.)
stm32l0x1 = ["stm32l0/stm32l0x1"]
stm32l0x2 = ["stm32l0/stm32l0x2"]
stm32l0x3 = ["stm32l0/stm32l0x3"]

# Legacy features (don't use those anymore)
stm32l052 = ["stm32l0x2"]
stm32l053 = ["stm32l0x3"]
stm32l062 = ["stm32l0x2"]
stm32l072 = ["stm32l0x2"]
stm32l082 = ["stm32l0x2"]
# Chip packages
lqfp32 = []
lqfp48 = []
lqfp64 = []
lqfp100 = []
tfbga64 = []
ufbga64 = []
ufbg100 = []

# Features based on the GPIO peripheral version.
# This determines the pin function mapping of the MCU.
io-STM32L021 = []
io-STM32L031 = []
io-STM32L051 = []
io-STM32L071 = []

# Physical packages
ewlcsp49 = []
lqfp32 = []
lqfp48 = []
lqfp64 = []
lqfp100 = []
tfbga64 = []
tssop14 = []
tssop20 = []
ufbga64 = []
ufbga100 = []
ufqfpn20 = []
ufqfpn28 = []
ufqfpn32 = []
ufqfpn48 = []
wlcsp36 = []
wlcsp49 = []
wlcsp25 = []
wlcsp36 = []
wlcsp49 = []

# MCUs
mcu-STM32L010C6Tx = ["io-STM32L031", "lqfp48"]
mcu-STM32L010F4Px = ["io-STM32L021", "tssop20"]
mcu-STM32L010K4Tx = ["io-STM32L021", "lqfp32"]
mcu-STM32L010K8Tx = ["io-STM32L051", "lqfp32"]
mcu-STM32L010R8Tx = ["io-STM32L051", "lqfp64"]
mcu-STM32L010RBTx = ["io-STM32L071", "lqfp64"]
mcu-STM32L011D3Px = ["io-STM32L021", "stm32l0x1", "tssop14"]
mcu-STM32L011D4Px = ["io-STM32L021", "stm32l0x1", "tssop14"]
mcu-STM32L011E3Yx = ["io-STM32L021", "stm32l0x1", "wlcsp25"]
mcu-STM32L011E4Yx = ["io-STM32L021", "stm32l0x1", "wlcsp25"]
mcu-STM32L011F3Px = ["io-STM32L021", "stm32l0x1", "tssop20"]
mcu-STM32L011F3Ux = ["io-STM32L021", "stm32l0x1", "ufqfpn20"]
mcu-STM32L011F4Px = ["io-STM32L021", "stm32l0x1", "tssop20"]
mcu-STM32L011F4Ux = ["io-STM32L021", "stm32l0x1", "ufqfpn20"]
mcu-STM32L011G3Ux = ["io-STM32L021", "stm32l0x1", "ufqfpn28"]
mcu-STM32L011G4Ux = ["io-STM32L021", "stm32l0x1", "ufqfpn28"]
mcu-STM32L011K3Tx = ["io-STM32L021", "stm32l0x1", "lqfp32"]
mcu-STM32L011K3Ux = ["io-STM32L021", "stm32l0x1", "ufqfpn32"]
mcu-STM32L011K4Tx = ["io-STM32L021", "stm32l0x1", "lqfp32"]
mcu-STM32L011K4Ux = ["io-STM32L021", "stm32l0x1", "ufqfpn32"]
mcu-STM32L021D4Px = ["io-STM32L021", "stm32l0x1", "tssop14"]
mcu-STM32L021F4Px = ["io-STM32L021", "stm32l0x1", "tssop20"]
mcu-STM32L021F4Ux = ["io-STM32L021", "stm32l0x1", "ufqfpn20"]
mcu-STM32L021G4Ux = ["io-STM32L021", "stm32l0x1", "ufqfpn28"]
mcu-STM32L021K4Tx = ["io-STM32L021", "stm32l0x1", "lqfp32"]
mcu-STM32L021K4Ux = ["io-STM32L021", "stm32l0x1", "ufqfpn32"]
mcu-STM32L031C4Tx = ["io-STM32L031", "stm32l0x1", "lqfp48"]
mcu-STM32L031C6Tx = ["io-STM32L031", "stm32l0x1", "lqfp48"]
mcu-STM32L031C6Ux = ["io-STM32L031", "stm32l0x1", "ufqfpn48"]
mcu-STM32L031E4Yx = ["io-STM32L031", "stm32l0x1", "wlcsp25"]
mcu-STM32L031E6Yx = ["io-STM32L031", "stm32l0x1", "wlcsp25"]
mcu-STM32L031F4Px = ["io-STM32L031", "stm32l0x1", "tssop20"]
mcu-STM32L031F6Px = ["io-STM32L031", "stm32l0x1", "tssop20"]
mcu-STM32L031G4Ux = ["io-STM32L031", "stm32l0x1", "ufqfpn28"]
mcu-STM32L031G6Ux = ["io-STM32L031", "stm32l0x1", "ufqfpn28"]
mcu-STM32L031G6UxS = ["io-STM32L031", "stm32l0x1", "ufqfpn28"]
mcu-STM32L031K4Tx = ["io-STM32L031", "stm32l0x1", "lqfp32"]
mcu-STM32L031K4Ux = ["io-STM32L031", "stm32l0x1", "ufqfpn32"]
mcu-STM32L031K6Tx = ["io-STM32L031", "stm32l0x1", "lqfp32"]
mcu-STM32L031K6Ux = ["io-STM32L031", "stm32l0x1", "ufqfpn32"]
mcu-STM32L041C4Tx = ["io-STM32L031", "stm32l0x1", "lqfp48"]
mcu-STM32L041C6Tx = ["io-STM32L031", "stm32l0x1", "lqfp48"]
mcu-STM32L041E6Yx = ["io-STM32L031", "stm32l0x1", "wlcsp25"]
mcu-STM32L041F6Px = ["io-STM32L031", "stm32l0x1", "tssop20"]
mcu-STM32L041G6Ux = ["io-STM32L031", "stm32l0x1", "ufqfpn28"]
mcu-STM32L041G6UxS = ["io-STM32L031", "stm32l0x1", "ufqfpn28"]
mcu-STM32L041K6Tx = ["io-STM32L031", "stm32l0x1", "lqfp32"]
mcu-STM32L041K6Ux = ["io-STM32L031", "stm32l0x1", "ufqfpn32"]
mcu-STM32L051C6Tx = ["io-STM32L051", "stm32l0x1", "lqfp48"]
mcu-STM32L051C8Tx = ["io-STM32L051", "stm32l0x1", "lqfp48"]
mcu-STM32L051K6Tx = ["io-STM32L051", "stm32l0x1", "lqfp32"]
mcu-STM32L051K6Ux = ["io-STM32L051", "stm32l0x1", "ufqfpn32"]
mcu-STM32L051K8Tx = ["io-STM32L051", "stm32l0x1", "lqfp32"]
mcu-STM32L051K8Ux = ["io-STM32L051", "stm32l0x1", "ufqfpn32"]
mcu-STM32L051R6Hx = ["io-STM32L051", "stm32l0x1", "tfbga64"]
mcu-STM32L051R6Tx = ["io-STM32L051", "stm32l0x1", "lqfp64"]
mcu-STM32L051R8Hx = ["io-STM32L051", "stm32l0x1", "tfbga64"]
mcu-STM32L051R8Tx = ["io-STM32L051", "stm32l0x1", "lqfp64"]
mcu-STM32L051T6Yx = ["io-STM32L051", "stm32l0x1", "wlcsp36"]
mcu-STM32L051T8Yx = ["io-STM32L051", "stm32l0x1", "wlcsp36"]
mcu-STM32L052C6Tx = ["io-STM32L051", "stm32l0x2", "lqfp48"]
mcu-STM32L052C8Tx = ["io-STM32L051", "stm32l0x2", "lqfp48"]
mcu-STM32L052K6Tx = ["io-STM32L051", "stm32l0x2", "lqfp32"]
mcu-STM32L052K6Ux = ["io-STM32L051", "stm32l0x2", "ufqfpn32"]
mcu-STM32L052K8Tx = ["io-STM32L051", "stm32l0x2", "lqfp32"]
mcu-STM32L052K8Ux = ["io-STM32L051", "stm32l0x2", "ufqfpn32"]
mcu-STM32L052R6Hx = ["io-STM32L051", "stm32l0x2", "tfbga64"]
mcu-STM32L052R6Tx = ["io-STM32L051", "stm32l0x2", "lqfp64"]
mcu-STM32L052R8Hx = ["io-STM32L051", "stm32l0x2", "tfbga64"]
mcu-STM32L052R8Tx = ["io-STM32L051", "stm32l0x2", "lqfp64"]
mcu-STM32L052T6Yx = ["io-STM32L051", "stm32l0x2", "wlcsp36"]
mcu-STM32L052T8Fx = ["io-STM32L051", "stm32l0x2", "wlcsp36"]
mcu-STM32L052T8Yx = ["io-STM32L051", "stm32l0x2", "wlcsp36"]
mcu-STM32L053C6Tx = ["io-STM32L051", "stm32l0x3", "lqfp48"]
mcu-STM32L053C8Tx = ["io-STM32L051", "stm32l0x3", "lqfp48"]
mcu-STM32L053R6Hx = ["io-STM32L051", "stm32l0x3", "tfbga64"]
mcu-STM32L053R6Tx = ["io-STM32L051", "stm32l0x3", "lqfp64"]
mcu-STM32L053R8Hx = ["io-STM32L051", "stm32l0x3", "tfbga64"]
mcu-STM32L053R8Tx = ["io-STM32L051", "stm32l0x3", "lqfp64"]
mcu-STM32L062K8Tx = ["io-STM32L051", "stm32l0x2", "lqfp32"]
mcu-STM32L062K8Ux = ["io-STM32L051", "stm32l0x2", "ufqfpn32"]
mcu-STM32L063C8Tx = ["io-STM32L051", "stm32l0x3", "lqfp48"]
mcu-STM32L063R8Tx = ["io-STM32L051", "stm32l0x3", "lqfp64"]
mcu-STM32L071C8Tx = ["io-STM32L071", "stm32l0x1", "lqfp48"]
mcu-STM32L071CBTx = ["io-STM32L071", "stm32l0x1", "lqfp48"]
mcu-STM32L071CBYx = ["io-STM32L071", "stm32l0x1", "wlcsp49"]
mcu-STM32L071CZTx = ["io-STM32L071", "stm32l0x1", "lqfp48"]
mcu-STM32L071CZYx = ["io-STM32L071", "stm32l0x1", "wlcsp49"]
mcu-STM32L071K8Ux = ["io-STM32L071", "stm32l0x1", "ufqfpn32"]
mcu-STM32L071KBTx = ["io-STM32L071", "stm32l0x1", "lqfp32"]
mcu-STM32L071KBUx = ["io-STM32L071", "stm32l0x1", "ufqfpn32"]
mcu-STM32L071KZTx = ["io-STM32L071", "stm32l0x1", "lqfp32"]
mcu-STM32L071KZUx = ["io-STM32L071", "stm32l0x1", "ufqfpn32"]
mcu-STM32L071RBHx = ["io-STM32L071", "stm32l0x1", "tfbga64"]
mcu-STM32L071RBTx = ["io-STM32L071", "stm32l0x1", "lqfp64"]
mcu-STM32L071RZHx = ["io-STM32L071", "stm32l0x1", "tfbga64"]
mcu-STM32L071RZTx = ["io-STM32L071", "stm32l0x1", "lqfp64"]
mcu-STM32L071V8Ix = ["io-STM32L071", "stm32l0x1", "ufbga100"]
mcu-STM32L071V8Tx = ["io-STM32L071", "stm32l0x1", "lqfp100"]
mcu-STM32L071VBIx = ["io-STM32L071", "stm32l0x1", "ufbga100"]
mcu-STM32L071VBTx = ["io-STM32L071", "stm32l0x1", "lqfp100"]
mcu-STM32L071VZIx = ["io-STM32L071", "stm32l0x1", "ufbga100"]
mcu-STM32L071VZTx = ["io-STM32L071", "stm32l0x1", "lqfp100"]
mcu-STM32L072CBTx = ["io-STM32L071", "stm32l0x2", "lqfp48"]
mcu-STM32L072CBYx = ["io-STM32L071", "stm32l0x2", "wlcsp49"]
mcu-STM32L072CZEx = ["io-STM32L071", "stm32l0x2", "ewlcsp49"]
mcu-STM32L072CZTx = ["io-STM32L071", "stm32l0x2", "lqfp48"]
mcu-STM32L072CZYx = ["io-STM32L071", "stm32l0x2", "wlcsp49"]
mcu-STM32L072KBTx = ["io-STM32L071", "stm32l0x2", "lqfp32"]
mcu-STM32L072KBUx = ["io-STM32L071", "stm32l0x2", "ufqfpn32"]
mcu-STM32L072KZTx = ["io-STM32L071", "stm32l0x2", "lqfp32"]
mcu-STM32L072KZUx = ["io-STM32L071", "stm32l0x2", "ufqfpn32"]
mcu-STM32L072RBHx = ["io-STM32L071", "stm32l0x2", "tfbga64"]
mcu-STM32L072RBIx = ["io-STM32L071", "stm32l0x2", "ufbga64"]
mcu-STM32L072RBTx = ["io-STM32L071", "stm32l0x2", "lqfp64"]
mcu-STM32L072RZHx = ["io-STM32L071", "stm32l0x2", "tfbga64"]
mcu-STM32L072RZIx = ["io-STM32L071", "stm32l0x2", "ufbga64"]
mcu-STM32L072RZTx = ["io-STM32L071", "stm32l0x2", "lqfp64"]
mcu-STM32L072V8Ix = ["io-STM32L071", "stm32l0x2", "ufbga100"]
mcu-STM32L072V8Tx = ["io-STM32L071", "stm32l0x2", "lqfp100"]
mcu-STM32L072VBIx = ["io-STM32L071", "stm32l0x2", "ufbga100"]
mcu-STM32L072VBTx = ["io-STM32L071", "stm32l0x2", "lqfp100"]
mcu-STM32L072VZIx = ["io-STM32L071", "stm32l0x2", "ufbga100"]
mcu-STM32L072VZTx = ["io-STM32L071", "stm32l0x2", "lqfp100"]
mcu-STM32L073CBTx = ["io-STM32L071", "stm32l0x3", "lqfp48"]
mcu-STM32L073CZTx = ["io-STM32L071", "stm32l0x3", "lqfp48"]
mcu-STM32L073RBHx = ["io-STM32L071", "stm32l0x3", "tfbga64"]
mcu-STM32L073RBTx = ["io-STM32L071", "stm32l0x3", "lqfp64"]
mcu-STM32L073RZHx = ["io-STM32L071", "stm32l0x3", "tfbga64"]
mcu-STM32L073RZIx = ["io-STM32L071", "stm32l0x3", "ufbga64"]
mcu-STM32L073RZTx = ["io-STM32L071", "stm32l0x3", "lqfp64"]
mcu-STM32L073V8Ix = ["io-STM32L071", "stm32l0x3", "ufbga100"]
mcu-STM32L073V8Tx = ["io-STM32L071", "stm32l0x3", "lqfp100"]
mcu-STM32L073VBIx = ["io-STM32L071", "stm32l0x3", "ufbga100"]
mcu-STM32L073VBTx = ["io-STM32L071", "stm32l0x3", "lqfp100"]
mcu-STM32L073VZIx = ["io-STM32L071", "stm32l0x3", "ufbga100"]
mcu-STM32L073VZTx = ["io-STM32L071", "stm32l0x3", "lqfp100"]
mcu-STM32L081CBTx = ["io-STM32L071", "stm32l0x1", "lqfp48"]
mcu-STM32L081CZTx = ["io-STM32L071", "stm32l0x1", "lqfp48"]
mcu-STM32L081KZTx = ["io-STM32L071", "stm32l0x1", "lqfp32"]
mcu-STM32L081KZUx = ["io-STM32L071", "stm32l0x1", "ufqfpn32"]
mcu-STM32L082CZYx = ["io-STM32L071", "stm32l0x2", "wlcsp49"]
mcu-STM32L082KBTx = ["io-STM32L071", "stm32l0x2", "lqfp32"]
mcu-STM32L082KBUx = ["io-STM32L071", "stm32l0x2", "ufqfpn32"]
mcu-STM32L082KZTx = ["io-STM32L071", "stm32l0x2", "lqfp32"]
mcu-STM32L082KZUx = ["io-STM32L071", "stm32l0x2", "ufqfpn32"]
mcu-STM32L083CBTx = ["io-STM32L071", "stm32l0x3", "lqfp48"]
mcu-STM32L083CZTx = ["io-STM32L071", "stm32l0x3", "lqfp48"]
mcu-STM32L083RBHx = ["io-STM32L071", "stm32l0x3", "tfbga64"]
mcu-STM32L083RBTx = ["io-STM32L071", "stm32l0x3", "lqfp64"]
mcu-STM32L083RZHx = ["io-STM32L071", "stm32l0x3", "tfbga64"]
mcu-STM32L083RZTx = ["io-STM32L071", "stm32l0x3", "lqfp64"]
mcu-STM32L083V8Ix = ["io-STM32L071", "stm32l0x3", "ufbga100"]
mcu-STM32L083V8Tx = ["io-STM32L071", "stm32l0x3", "lqfp100"]
mcu-STM32L083VBIx = ["io-STM32L071", "stm32l0x3", "ufbga100"]
mcu-STM32L083VBTx = ["io-STM32L071", "stm32l0x3", "lqfp100"]
mcu-STM32L083VZIx = ["io-STM32L071", "stm32l0x3", "ufbga100"]
mcu-STM32L083VZTx = ["io-STM32L071", "stm32l0x3", "lqfp100"]

[profile.dev]
codegen-units = 1
Expand Down
6 changes: 3 additions & 3 deletions src/adc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ adc_pins! {
feature = "lqfp100",
feature = "tfbga64",
feature = "ufbga64",
feature = "ufbg100",
feature = "ufbga100",
feature = "wlcsp49",
),
))]
Expand All @@ -271,7 +271,7 @@ adc_pins! {

#[cfg(all(
feature = "stm32l072",
any(feature = "lqfp64", feature = "lqfp100", feature = "ufbg100",),
any(feature = "lqfp64", feature = "lqfp100", feature = "ufbga100",),
))]
adc_pins! {
Channel13: (gpioc::PC3<Analog>, 13u8),
Expand All @@ -290,7 +290,7 @@ adc_pins! {
feature = "lqfp100",
feature = "tfbga64",
feature = "ufbga64",
feature = "ufbg100",
feature = "ufbga100",
),
))]
adc_pins! {
Expand Down