embassy/embassy-nxp/Cargo.toml
2025-08-25 19:44:51 +02:00

85 lines
3.6 KiB
TOML

[package]
name = "embassy-nxp"
version = "0.1.0"
edition = "2021"
publish = false
[package.metadata.embassy]
build = [
{target = "thumbv8m.main-none-eabihf", features = ["defmt", "lpc55"]},
{target = "thumbv7em-none-eabihf", features = ["defmt", "mimxrt1011", "rt", "time-driver-pit"]},
{target = "thumbv7em-none-eabihf", features = ["defmt", "mimxrt1062", "rt", "time-driver-pit"]},
]
[package.metadata.embassy_docs]
src_base = "https://github.com/embassy-rs/embassy/blob/embassy-nxp-v$VERSION/embassy-nxp/src/"
src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-nxp/src/"
features = ["defmt", "unstable-pac" ] # TODO: Add time-driver-any, as both lpc55 and mimxrt1xxx use different drivers.
flavors = [
{ regex_feature = "lpc55", target = "thumbv8m.main-none-eabihf" },
{ regex_feature = "mimxrt.*", target = "thumbv7em-none-eabihf" },
]
[dependencies]
cortex-m = "0.7.7"
cortex-m-rt = "0.7.0"
critical-section = "1.1.2"
embassy-hal-internal = { version = "0.3.0", path = "../embassy-hal-internal", features = ["cortex-m", "prio-bits-2"] }
embassy-sync = { version = "0.7.1", path = "../embassy-sync" }
defmt = { version = "1", optional = true }
log = { version = "0.4.27", optional = true }
embassy-time = { version = "0.4.0", path = "../embassy-time", optional = true }
embassy-time-driver = { version = "0.2", path = "../embassy-time-driver", optional = true }
embassy-time-queue-utils = { version = "0.2", path = "../embassy-time-queue-utils", optional = true }
embedded-io = "0.6.1"
embedded-hal-02 = { package = "embedded-hal", version = "0.2.6", features = ["unproven"] }
## Chip dependencies
lpc55-pac = { version = "0.5.0", optional = true }
nxp-pac = { version = "0.1.0", optional = true, git = "https://github.com/i509VCB/nxp-pac", rev = "be4dd0936c20d5897364a381b1d95a99514c1e7e" }
imxrt-rt = { version = "0.1.7", optional = true, features = ["device"] }
[build-dependencies]
cfg_aliases = "0.2.1"
nxp-pac = { version = "0.1.0", git = "https://github.com/i509VCB/nxp-pac", rev = "be4dd0936c20d5897364a381b1d95a99514c1e7e", features = ["metadata"], optional = true }
proc-macro2 = "1.0.95"
quote = "1.0.15"
[features]
default = ["rt"]
# Enable PACs as optional dependencies, since some chip families will use different pac crates (temporarily).
rt = ["lpc55-pac?/rt", "nxp-pac?/rt"]
## Enable [defmt support](https://docs.rs/defmt) and enables `defmt` debug-log messages and formatting in embassy drivers.
defmt = ["dep:defmt", "embassy-hal-internal/defmt", "embassy-sync/defmt"]
log = ["dep:log"]
## Use Periodic Interrupt Timer (PIT) as the time driver for `embassy-time`, with a tick rate of 1 MHz
time-driver-pit = ["_time_driver", "embassy-time?/tick-hz-1_000_000"]
## Use Real Time Clock (RTC) as the time driver for `embassy-time`, with a tick rate of 32768 Hz
time-driver-rtc = ["_time_driver", "embassy-time?/tick-hz-32_768"]
## Reexport the PAC for the currently enabled chip at `embassy_nxp::pac` (unstable)
unstable-pac = []
# This is unstable because semver-minor (non-breaking) releases of embassy-nxp may major-bump (breaking) the PAC 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.
## internal use only
#
# This feature is unfortunately a hack around the fact that cfg_aliases cannot apply to the buildscript
# that creates the aliases.
_rt1xxx = []
# A timer driver is enabled.
_time_driver = ["dep:embassy-time-driver", "dep:embassy-time-queue-utils"]
#! ### Chip selection features
lpc55 = ["dep:lpc55-pac"]
mimxrt1011 = ["nxp-pac/mimxrt1011", "_rt1xxx", "dep:imxrt-rt"]
mimxrt1062 = ["nxp-pac/mimxrt1062", "_rt1xxx", "dep:imxrt-rt"]