163 lines
5.8 KiB
TOML
163 lines
5.8 KiB
TOML
[package]
|
|
name = "embassy-nrf"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
license = "MIT OR Apache-2.0"
|
|
description = "Embassy Hardware Abstraction Layer (HAL) for nRF series microcontrollers"
|
|
keywords = ["embedded", "async", "nordic", "nrf", "embedded-hal"]
|
|
categories = ["embedded", "hardware-support", "no-std", "asynchronous"]
|
|
repository = "https://github.com/embassy-rs/embassy"
|
|
documentation = "https://docs.embassy.dev/embassy-nrf"
|
|
|
|
[package.metadata.embassy_docs]
|
|
src_base = "https://github.com/embassy-rs/embassy/blob/embassy-nrf-v$VERSION/embassy-nrf/src/"
|
|
src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-nrf/src/"
|
|
|
|
features = ["time", "defmt", "unstable-pac", "gpiote", "time-driver-rtc1"]
|
|
flavors = [
|
|
{ regex_feature = "nrf51", target = "thumbv6m-none-eabi" },
|
|
{ regex_feature = "nrf52.*", target = "thumbv7em-none-eabihf" },
|
|
{ regex_feature = "nrf53.*", target = "thumbv8m.main-none-eabihf" },
|
|
{ regex_feature = "nrf91.*", target = "thumbv8m.main-none-eabihf" },
|
|
]
|
|
|
|
[package.metadata.docs.rs]
|
|
features = ["nrf52840", "time", "defmt", "unstable-pac", "gpiote", "time-driver-rtc1"]
|
|
rustdoc-args = ["--cfg", "docsrs"]
|
|
|
|
[features]
|
|
default = ["rt"]
|
|
## Cortex-M runtime (enabled by default)
|
|
rt = [
|
|
"nrf51-pac?/rt",
|
|
"nrf52805-pac?/rt",
|
|
"nrf52810-pac?/rt",
|
|
"nrf52811-pac?/rt",
|
|
"nrf52820-pac?/rt",
|
|
"nrf52832-pac?/rt",
|
|
"nrf52833-pac?/rt",
|
|
"nrf52840-pac?/rt",
|
|
"nrf5340-app-pac?/rt",
|
|
"nrf5340-net-pac?/rt",
|
|
"nrf9160-pac?/rt",
|
|
]
|
|
|
|
## Enable features requiring `embassy-time`
|
|
time = ["dep:embassy-time"]
|
|
|
|
## Enable defmt
|
|
defmt = ["dep:defmt", "embassy-hal-internal/defmt", "embassy-sync/defmt", "embassy-usb-driver/defmt", "embassy-embedded-hal/defmt"]
|
|
|
|
## Reexport the PAC for the currently enabled chip at `embassy_nrf::pac` (unstable)
|
|
unstable-pac = []
|
|
# This is unstable because semver-minor (non-breaking) releases of embassy-nrf 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.
|
|
|
|
## Enable GPIO tasks and events
|
|
gpiote = []
|
|
|
|
## Use RTC1 as the time driver for `embassy-time`, with a tick rate of 32.768khz
|
|
time-driver-rtc1 = ["_time-driver"]
|
|
|
|
## Allow using the NFC pins as regular GPIO pins (P0_09/P0_10 on nRF52, P0_02/P0_03 on nRF53)
|
|
nfc-pins-as-gpio = []
|
|
|
|
## Allow using the RST pin as a regular GPIO pin.
|
|
## * nRF52805, nRF52810, nRF52811, nRF52832: P0_21
|
|
## * nRF52820, nRF52833, nRF52840: P0_18
|
|
reset-pin-as-gpio = []
|
|
|
|
## Implements the MultiwriteNorFlash trait for QSPI. Should only be enabled if your external
|
|
## flash supports the semantics described [here](https://docs.rs/embedded-storage/0.3.1/embedded_storage/nor_flash/trait.MultiwriteNorFlash.html)
|
|
qspi-multiwrite-flash = []
|
|
|
|
#! ### Chip selection features
|
|
## nRF51
|
|
nrf51 = ["nrf51-pac", "_nrf51"]
|
|
## nRF52805
|
|
nrf52805 = ["nrf52805-pac", "_nrf52"]
|
|
## nRF52810
|
|
nrf52810 = ["nrf52810-pac", "_nrf52"]
|
|
## nRF52811
|
|
nrf52811 = ["nrf52811-pac", "_nrf52"]
|
|
## nRF52820
|
|
nrf52820 = ["nrf52820-pac", "_nrf52"]
|
|
## nRF52832
|
|
nrf52832 = ["nrf52832-pac", "_nrf52", "_nrf52832_anomaly_109"]
|
|
## nRF52833
|
|
nrf52833 = ["nrf52833-pac", "_nrf52", "_gpio-p1"]
|
|
## nRF52840
|
|
nrf52840 = ["nrf52840-pac", "_nrf52", "_gpio-p1"]
|
|
## nRF5340 application core in Secure mode
|
|
nrf5340-app-s = ["_nrf5340-app", "_s"]
|
|
## nRF5340 application core in Non-Secure mode
|
|
nrf5340-app-ns = ["_nrf5340-app", "_ns"]
|
|
## nRF5340 network core
|
|
nrf5340-net = ["_nrf5340-net"]
|
|
## nRF9160 in Secure mode
|
|
nrf9160-s = ["_nrf9160", "_s"]
|
|
## nRF9160 in Non-Secure mode
|
|
nrf9160-ns = ["_nrf9160", "_ns"]
|
|
|
|
# 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.
|
|
|
|
_nrf5340-app = ["_nrf5340", "nrf5340-app-pac"]
|
|
_nrf5340-net = ["_nrf5340", "nrf5340-net-pac"]
|
|
_nrf5340 = ["_gpio-p1", "_dppi"]
|
|
_nrf9160 = ["nrf9160-pac", "_dppi"]
|
|
_nrf52 = ["_ppi"]
|
|
_nrf51 = ["_ppi"]
|
|
|
|
_time-driver = ["dep:embassy-time-driver", "embassy-time-driver?/tick-hz-32_768"]
|
|
|
|
# trustzone state.
|
|
_s = []
|
|
_ns = []
|
|
|
|
_ppi = []
|
|
_dppi = []
|
|
_gpio-p1 = []
|
|
|
|
# Errata workarounds
|
|
_nrf52832_anomaly_109 = []
|
|
|
|
[dependencies]
|
|
embassy-time-driver = { version = "0.1", path = "../embassy-time-driver", optional = true }
|
|
embassy-time = { version = "0.3.0", path = "../embassy-time", optional = true }
|
|
embassy-sync = { version = "0.5.0", path = "../embassy-sync" }
|
|
embassy-hal-internal = {version = "0.1.0", path = "../embassy-hal-internal", features = ["cortex-m", "prio-bits-3"] }
|
|
embassy-embedded-hal = {version = "0.1.0", path = "../embassy-embedded-hal" }
|
|
embassy-usb-driver = {version = "0.1.0", path = "../embassy-usb-driver" }
|
|
|
|
embedded-hal-02 = { package = "embedded-hal", version = "0.2.6", features = ["unproven"] }
|
|
embedded-hal-1 = { package = "embedded-hal", version = "1.0" }
|
|
embedded-hal-async = { version = "1.0" }
|
|
embedded-io = { version = "0.6.0" }
|
|
embedded-io-async = { version = "0.6.1" }
|
|
|
|
defmt = { version = "0.3", optional = true }
|
|
bitflags = "2.4.2"
|
|
log = { version = "0.4.14", optional = true }
|
|
cortex-m-rt = ">=0.6.15,<0.8"
|
|
cortex-m = "0.7.6"
|
|
critical-section = "1.1"
|
|
rand_core = "0.6.3"
|
|
fixed = "1.10.0"
|
|
embedded-storage = "0.3.1"
|
|
embedded-storage-async = "0.4.1"
|
|
cfg-if = "1.0.0"
|
|
document-features = "0.2.7"
|
|
|
|
nrf51-pac = { version = "0.12.0", optional = true }
|
|
nrf52805-pac = { version = "0.12.0", optional = true }
|
|
nrf52810-pac = { version = "0.12.0", optional = true }
|
|
nrf52811-pac = { version = "0.12.0", optional = true }
|
|
nrf52820-pac = { version = "0.12.0", optional = true }
|
|
nrf52832-pac = { version = "0.12.0", optional = true }
|
|
nrf52833-pac = { version = "0.12.0", optional = true }
|
|
nrf52840-pac = { version = "0.12.0", optional = true }
|
|
nrf5340-app-pac = { version = "0.12.0", optional = true }
|
|
nrf5340-net-pac = { version = "0.12.0", optional = true }
|
|
nrf9160-pac = { version = "0.12.0", optional = true }
|