embassy/embassy-nrf/Cargo.toml

164 lines
5.8 KiB
TOML
Raw Normal View History

2020-09-22 16:03:43 +00:00
[package]
name = "embassy-nrf"
2024-08-02 17:25:35 +00:00
version = "0.2.0"
2022-06-18 00:15:48 +00:00
edition = "2021"
license = "MIT OR Apache-2.0"
2024-01-11 23:32:47 +00:00
description = "Embassy Hardware Abstraction Layer (HAL) for nRF series microcontrollers"
keywords = ["embedded", "async", "nordic", "nrf", "embedded-hal"]
categories = ["embedded", "hardware-support", "no-std", "asynchronous"]
2024-01-11 23:32:47 +00:00
repository = "https://github.com/embassy-rs/embassy"
documentation = "https://docs.embassy.dev/embassy-nrf"
2020-09-22 16:03:43 +00:00
[package.metadata.embassy_docs]
2022-04-05 19:05:09 +00:00
src_base = "https://github.com/embassy-rs/embassy/blob/embassy-nrf-v$VERSION/embassy-nrf/src/"
2022-06-26 21:55:38 +00:00
src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-nrf/src/"
2022-04-05 19:05:09 +00:00
features = ["time", "defmt", "unstable-pac", "gpiote", "time-driver-rtc1"]
flavors = [
2024-11-04 15:06:54 +00:00
{ regex_feature = "nrf51", target = "thumbv6m-none-eabi" },
{ regex_feature = "nrf52.*", target = "thumbv7em-none-eabihf" },
{ regex_feature = "nrf53.*", target = "thumbv8m.main-none-eabihf" },
2024-11-17 22:01:00 +00:00
{ regex_feature = "nrf54.*", target = "thumbv8m.main-none-eabihf" },
{ regex_feature = "nrf91.*", target = "thumbv8m.main-none-eabihf" },
]
2024-01-11 22:16:28 +00:00
[package.metadata.docs.rs]
features = ["nrf52840", "time", "defmt", "unstable-pac", "gpiote", "time-driver-rtc1"]
rustdoc-args = ["--cfg", "docsrs"]
2024-01-11 22:16:28 +00:00
2020-09-22 16:03:43 +00:00
[features]
default = ["rt"]
2023-12-22 22:37:29 +00:00
## Cortex-M runtime (enabled by default)
2024-10-24 11:31:53 +00:00
rt = ["nrf-pac/rt"]
2023-12-22 22:37:29 +00:00
## Enable features requiring `embassy-time`
time = ["dep:embassy-time"]
2023-12-22 22:37:29 +00:00
## Enable defmt
defmt = ["dep:defmt", "embassy-hal-internal/defmt", "embassy-sync/defmt", "embassy-usb-driver/defmt", "embassy-embedded-hal/defmt"]
2023-12-22 22:37:29 +00:00
## 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.
2023-12-22 22:37:29 +00:00
## 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.
2023-12-23 14:48:47 +00:00
## * nRF52805, nRF52810, nRF52811, nRF52832: P0_21
## * nRF52820, nRF52833, nRF52840: P0_18
2023-12-22 22:37:29 +00:00
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
2024-10-24 11:31:53 +00:00
nrf51 = ["nrf-pac/nrf51", "_nrf51"]
2023-12-23 14:48:47 +00:00
## nRF52805
2024-10-24 11:31:53 +00:00
nrf52805 = ["nrf-pac/nrf52805", "_nrf52"]
2023-12-23 14:48:47 +00:00
## nRF52810
2024-10-24 11:31:53 +00:00
nrf52810 = ["nrf-pac/nrf52810", "_nrf52"]
2023-12-23 14:48:47 +00:00
## nRF52811
2024-10-24 11:31:53 +00:00
nrf52811 = ["nrf-pac/nrf52811", "_nrf52"]
2023-12-23 14:48:47 +00:00
## nRF52820
2024-10-24 11:31:53 +00:00
nrf52820 = ["nrf-pac/nrf52820", "_nrf52"]
2023-12-23 14:48:47 +00:00
## nRF52832
2024-10-24 11:31:53 +00:00
nrf52832 = ["nrf-pac/nrf52832", "_nrf52", "_nrf52832_anomaly_109"]
2023-12-23 14:48:47 +00:00
## nRF52833
2024-10-24 11:31:53 +00:00
nrf52833 = ["nrf-pac/nrf52833", "_nrf52", "_gpio-p1"]
2023-12-23 14:48:47 +00:00
## nRF52840
2024-10-24 11:31:53 +00:00
nrf52840 = ["nrf-pac/nrf52840", "_nrf52", "_gpio-p1"]
2023-12-23 14:48:47 +00:00
## nRF5340 application core in Secure mode
nrf5340-app-s = ["_nrf5340-app", "_s"]
2023-12-23 14:48:47 +00:00
## nRF5340 application core in Non-Secure mode
nrf5340-app-ns = ["_nrf5340-app", "_ns"]
2023-12-23 14:48:47 +00:00
## nRF5340 network core
2021-10-28 01:07:06 +00:00
nrf5340-net = ["_nrf5340-net"]
## nRF54L15 application core in Secure mode
nrf54l15-app-s = ["_nrf54l15-app", "_s"]
## nRF54L15 application core in Non-Secure mode
nrf54l15-app-ns = ["_nrf54l15-app", "_ns"]
2023-12-23 14:48:47 +00:00
## nRF9160 in Secure mode
nrf9160-s = ["_nrf9160", "_s", "_nrf91"]
2023-12-23 14:48:47 +00:00
## nRF9160 in Non-Secure mode
nrf9160-ns = ["_nrf9160", "_ns", "_nrf91"]
2024-07-01 16:02:03 +00:00
## The nRF9120 is the internal part number for the nRF9161 and nRF9151.
2024-06-28 13:11:50 +00:00
## nRF9120 in Secure mode
nrf9120-s = ["_nrf9120", "_s", "_nrf91"]
nrf9151-s = ["nrf9120-s"]
nrf9161-s = ["nrf9120-s"]
2024-06-28 13:11:50 +00:00
## nRF9120 in Non-Secure mode
nrf9120-ns = ["_nrf9120", "_ns", "_nrf91"]
nrf9151-ns = ["nrf9120-ns"]
nrf9161-ns = ["nrf9120-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.
2024-10-24 11:31:53 +00:00
_nrf5340-app = ["_nrf5340", "nrf-pac/nrf5340-app"]
_nrf5340-net = ["_nrf5340", "nrf-pac/nrf5340-net"]
2021-10-28 01:07:06 +00:00
_nrf5340 = ["_gpio-p1", "_dppi"]
_nrf54l15-app = ["_nrf54l15", "nrf-pac/nrf54l15-app"]
_nrf54l15 = ["_nrf54l", "_gpio-p1", "_gpio-p2"]
_nrf54l = ["_dppi"]
2024-10-24 11:31:53 +00:00
_nrf9160 = ["nrf-pac/nrf9160", "_dppi"]
_nrf9120 = ["nrf-pac/nrf9120", "_dppi"]
_nrf52 = ["_ppi"]
_nrf51 = ["_ppi"]
_nrf91 = []
2021-10-28 01:07:06 +00:00
_time-driver = ["dep:embassy-time-driver", "embassy-time-driver?/tick-hz-32_768"]
2021-10-28 01:07:06 +00:00
# trustzone state.
_s = []
_ns = []
_ppi = []
_dppi = []
2021-10-28 01:07:06 +00:00
_gpio-p1 = []
_gpio-p2 = []
2020-09-22 16:03:43 +00:00
# Errata workarounds
_nrf52832_anomaly_109 = []
2020-09-22 16:03:43 +00:00
[dependencies]
embassy-time-driver = { version = "0.1", path = "../embassy-time-driver", optional = true }
2024-08-02 17:20:26 +00:00
embassy-time = { version = "0.3.2", path = "../embassy-time", optional = true }
2024-05-29 10:09:55 +00:00
embassy-sync = { version = "0.6.0", path = "../embassy-sync" }
embassy-hal-internal = {version = "0.2.0", path = "../embassy-hal-internal", features = ["cortex-m", "prio-bits-3"] }
embassy-embedded-hal = {version = "0.2.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"] }
2023-12-26 16:38:34 +00:00
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" }
nrf-pac = { git = "https://github.com/embassy-rs/nrf-pac", rev = "52e3a757f06035c94291bfc42b0c03f71e4d677e" }
2024-10-24 11:31:53 +00:00
defmt = { version = "0.3", optional = true }
2024-01-30 22:06:57 +00:00
bitflags = "2.4.2"
2021-09-10 22:10:46 +00:00
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"
2021-10-28 01:07:06 +00:00
cfg-if = "1.0.0"
2023-12-22 22:37:29 +00:00
document-features = "0.2.7"