add document-features
This commit is contained in:
parent
937a63ce28
commit
6dd2fc5941
2 changed files with 42 additions and 15 deletions
|
@ -67,6 +67,7 @@ cfg-if = "1.0.0"
|
||||||
embedded-io = { version = "0.4.0", features = ["async"], optional = true }
|
embedded-io = { version = "0.4.0", features = ["async"], optional = true }
|
||||||
chrono = { version = "^0.4", default-features = false, optional = true}
|
chrono = { version = "^0.4", default-features = false, optional = true}
|
||||||
bit_field = "0.10.2"
|
bit_field = "0.10.2"
|
||||||
|
document-features = "0.2.7"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
critical-section = { version = "1.1", features = ["std"] }
|
critical-section = { version = "1.1", features = ["std"] }
|
||||||
|
@ -78,40 +79,63 @@ stm32-metapac = { version = "13", default-features = false, features = ["metadat
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["rt"]
|
default = ["rt"]
|
||||||
|
|
||||||
|
## Enable `stm32-metapac`'s `rt` feature
|
||||||
rt = ["stm32-metapac/rt"]
|
rt = ["stm32-metapac/rt"]
|
||||||
|
|
||||||
|
## Use [`defmt`](https://docs.rs/defmt/latest/defmt/) for logging
|
||||||
defmt = ["dep:defmt", "bxcan/unstable-defmt", "embassy-sync/defmt", "embassy-embedded-hal/defmt", "embassy-hal-internal/defmt", "embedded-io?/defmt", "embassy-usb-driver?/defmt", "embassy-net-driver/defmt"]
|
defmt = ["dep:defmt", "bxcan/unstable-defmt", "embassy-sync/defmt", "embassy-embedded-hal/defmt", "embassy-hal-internal/defmt", "embedded-io?/defmt", "embassy-usb-driver?/defmt", "embassy-net-driver/defmt"]
|
||||||
memory-x = ["stm32-metapac/memory-x"]
|
|
||||||
exti = []
|
exti = []
|
||||||
|
|
||||||
# Enables additional driver features that depend on embassy-time
|
## Automatically generate `memory.x` file using [`stm32-metapac`](https://docs.rs/stm32-metapac/)
|
||||||
|
memory-x = ["stm32-metapac/memory-x"]
|
||||||
|
|
||||||
|
## Enable nightly-only features
|
||||||
|
nightly = ["embedded-hal-1", "embedded-hal-async", "embedded-storage-async", "dep:embedded-io", "dep:embassy-usb-driver", "embassy-embedded-hal/nightly"]
|
||||||
|
|
||||||
|
## Re-export stm32-metapac at `embassy_stm32::pac`.
|
||||||
|
## This is unstable because semver-minor (non-breaking) releases of embassy-stm32 may major-bump (breaking) the stm32-metapac version.
|
||||||
|
## If this is an issue for you, you're encouraged to directly depend on a fixed version of the PAC.
|
||||||
|
## There are no plans to make this stable.
|
||||||
|
unstable-pac = []
|
||||||
|
|
||||||
|
## Implement embedded-hal 1.0 alpha traits.
|
||||||
|
## Implement embedded-hal-async traits if `nightly` is set as well.
|
||||||
|
unstable-traits = ["embedded-hal-1", "dep:embedded-hal-nb"]
|
||||||
|
|
||||||
|
#! ## Time
|
||||||
|
|
||||||
|
## Enables additional driver features that depend on embassy-time
|
||||||
time = ["dep:embassy-time"]
|
time = ["dep:embassy-time"]
|
||||||
|
|
||||||
# Features starting with `_` are for internal use only. They're not intended
|
# Features starting with `_` are for internal use only. They're not intended
|
||||||
# to be enabled by other crates, and are not covered by semver guarantees.
|
# to be enabled by other crates, and are not covered by semver guarantees.
|
||||||
_time-driver = ["time"]
|
_time-driver = ["time"]
|
||||||
|
|
||||||
|
## Use any time driver
|
||||||
time-driver-any = ["_time-driver"]
|
time-driver-any = ["_time-driver"]
|
||||||
|
## Use TIM2 as time driver
|
||||||
time-driver-tim2 = ["_time-driver"]
|
time-driver-tim2 = ["_time-driver"]
|
||||||
|
## Use TIM3 as time driver
|
||||||
time-driver-tim3 = ["_time-driver"]
|
time-driver-tim3 = ["_time-driver"]
|
||||||
|
## Use TIM4 as time driver
|
||||||
time-driver-tim4 = ["_time-driver"]
|
time-driver-tim4 = ["_time-driver"]
|
||||||
|
## Use TIM5 as time driver
|
||||||
time-driver-tim5 = ["_time-driver"]
|
time-driver-tim5 = ["_time-driver"]
|
||||||
|
## Use TIM12 as time driver
|
||||||
time-driver-tim12 = ["_time-driver"]
|
time-driver-tim12 = ["_time-driver"]
|
||||||
|
## Use TIM15 as time driver
|
||||||
time-driver-tim15 = ["_time-driver"]
|
time-driver-tim15 = ["_time-driver"]
|
||||||
|
|
||||||
# Enable nightly-only features
|
|
||||||
nightly = ["embedded-hal-1", "embedded-hal-async", "embedded-storage-async", "dep:embedded-io", "dep:embassy-usb-driver", "embassy-embedded-hal/nightly"]
|
|
||||||
|
|
||||||
# Reexport stm32-metapac at `embassy_stm32::pac`.
|
#! ## Chip-selection features
|
||||||
# This is unstable because semver-minor (non-breaking) releases of embassy-stm32 may major-bump (breaking) the stm32-metapac version.
|
#! Select your chip by specifying the model as a feature, e.g. `stm32c011d6`.
|
||||||
# If this is an issue for you, you're encouraged to directly depend on a fixed version of the PAC.
|
#! Check the `Cargo.toml` for the latest list of supported chips.
|
||||||
# There are no plans to make this stable.
|
#!
|
||||||
unstable-pac = []
|
#! **Important:** Do not forget to adapt the target chip in your toolchain,
|
||||||
|
#! e.g. in `.cargo/config.toml`.
|
||||||
|
|
||||||
# Implement embedded-hal 1.0 alpha traits.
|
|
||||||
# Implement embedded-hal-async traits if `nightly` is set as well.
|
|
||||||
unstable-traits = ["embedded-hal-1", "dep:embedded-hal-nb"]
|
|
||||||
|
|
||||||
# Chip-selection features
|
|
||||||
stm32c011d6 = [ "stm32-metapac/stm32c011d6" ]
|
stm32c011d6 = [ "stm32-metapac/stm32c011d6" ]
|
||||||
stm32c011f4 = [ "stm32-metapac/stm32c011f4" ]
|
stm32c011f4 = [ "stm32-metapac/stm32c011f4" ]
|
||||||
stm32c011f6 = [ "stm32-metapac/stm32c011f6" ]
|
stm32c011f6 = [ "stm32-metapac/stm32c011f6" ]
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
#![cfg_attr(not(test), no_std)]
|
#![cfg_attr(not(test), no_std)]
|
||||||
#![cfg_attr(feature = "nightly", feature(async_fn_in_trait, impl_trait_projections))]
|
#![cfg_attr(feature = "nightly", feature(async_fn_in_trait, impl_trait_projections))]
|
||||||
|
|
||||||
|
//! ## Feature flags
|
||||||
|
#![doc = document_features::document_features!(feature_label = r#"<span class="stab portability"><code>{feature}</code></span>"#)]
|
||||||
|
|
||||||
// This must go FIRST so that all the other modules see its macros.
|
// This must go FIRST so that all the other modules see its macros.
|
||||||
pub mod fmt;
|
pub mod fmt;
|
||||||
include!(concat!(env!("OUT_DIR"), "/_macros.rs"));
|
include!(concat!(env!("OUT_DIR"), "/_macros.rs"));
|
||||||
|
|
Loading…
Reference in a new issue