Cargo Features

[dependencies]
embassy-nrf = { version = "0.2.0", default-features = false, features = ["rt", "time", "defmt", "unstable-pac", "gpiote", "time-driver-rtc1", "nfc-pins-as-gpio", "reset-pin-as-gpio", "qspi-multiwrite-flash", "nrf51", "nrf52805", "nrf52810", "nrf52811", "nrf52820", "nrf52832", "nrf52833", "nrf52840", "nrf5340-app-s", "nrf5340-app-ns", "nrf5340-net", "nrf9160-s", "nrf9160-ns", "nrf9120-s", "nrf9161-s", "nrf9120-ns", "nrf9161-ns", "log"] }
default = rt

The rt feature is set by default whenever embassy-nrf is added without default-features = false somewhere in the dependency tree.

rt default

Cortex-M runtime (enabled by default)

Enables rt of optional nrf51-pac, optional nrf52805-pac, optional nrf52810-pac, optional nrf52811-pac, optional nrf52820-pac, optional nrf52832-pac, optional nrf52833-pac, optional nrf52840-pac, optional nrf5340-app-pac, optional nrf5340-net-pac, optional nrf9120-pac, and optional nrf9160-pac

time

Enable features requiring embassy-time

Enables embassy-time

defmt

Enable defmt

Enables defmt, defmt of embassy-embedded-hal, embassy-hal-internal, embassy-sync, and embassy-usb-driver

unstable-pac

Reexport the PAC for the currently enabled chip at embassy_nrf::pac (unstable)

gpiote

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

Affects embassy-nrf::gpiote, embassy-nrf::Config.gpiote_interrupt_priority

time-driver-rtc1 = _time-driver

Use RTC1 as the time driver for embassy-time, with a tick rate of 32.768khz

nfc-pins-as-gpio

Allow using the NFC pins as regular GPIO pins (P0_09/P0_10 on nRF52, P0_02/P0_03 on nRF53)

reset-pin-as-gpio

Allow using the RST pin as a regular GPIO pin.
* nRF52805, nRF52810, nRF52811, nRF52832: P0_21
* nRF52820, nRF52833, nRF52840: P0_18

qspi-multiwrite-flash

Implements the MultiwriteNorFlash trait for QSPI. Should only be enabled if your external flash supports the semantics described here

nrf51 = nrf51-pac

Chip selection features

nRF51

nrf52805 = nrf52805-pac

nRF52805

nrf52810 = nrf52810-pac

nRF52810

nrf52811 = nrf52811-pac

nRF52811

Affects radio::ieee802154

nrf52820 = nrf52820-pac

nRF52820

Affects embassy-nrf::usb, radio::ieee802154

nrf52832 = nrf52832-pac

nRF52832

Affects embassy-nrf::i2s

nrf52833 = nrf52833-pac

nRF52833

Affects embassy-nrf::i2s, saadc::VddhDiv5Input, embassy-nrf::usb, radio::ieee802154

nrf52840 = nrf52840-pac

nRF52840

Affects embassy-nrf::DcdcConfig.reg0, embassy-nrf::DcdcConfig.reg0_voltage, embassy-nrf::config.Reg0Voltage, embassy-nrf::qspi, embassy-nrf::i2s, saadc::VddhDiv5Input, embassy-nrf::usb, radio::ieee802154

nrf5340-app-s = _nrf5340-app

nRF5340 application core in Secure mode

nrf5340-app-ns = _nrf5340-app

nRF5340 application core in Non-Secure mode

nrf5340-net = _nrf5340-net

nRF5340 network core

nrf9160-s = _nrf91, nrf9160-pac

nRF9160 in Secure mode

nrf9160-ns = _nrf91, nrf9160-pac

nRF9160 in Non-Secure mode

nrf9120-s = _nrf91, nrf9120-pac

The nRF9120 is the internal part number for the nRF9161 and nRF9151.
nRF9120 in Secure mode

nrf9151-s nrf9161-s = _nrf91, nrf9120-pac
nrf9120-ns = _nrf91, nrf9120-pac

nRF9120 in Non-Secure mode

nrf9151-ns nrf9161-ns = _nrf91, nrf9120-pac
_nrf5340-app nrf5340-app-ns? nrf5340-app-s? = nrf5340-app-pac

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.

Affects embassy-nrf::config.DcdcConfig, embassy-nrf::qspi, saadc::VddhDiv5Input, embassy-nrf::usb

_nrf5340-net nrf5340-net? = nrf5340-net-pac

Affects nvmc::PAGE_SIZE, radio::ieee802154

_time-driver time-driver-rtc1?

Enables tick-hz-32_768 of embassy-time-driver

embassy-time-driver:

32.768kHz Tick Rate

Affects embassy-nrf::Config.time_interrupt_priority

_nrf91 nrf9120-ns? nrf9120-s? nrf9151-ns? nrf9151-s? nrf9160-ns? nrf9160-s? nrf9161-ns? nrf9161-s?

Affects embassy-nrf::config.DcdcConfig

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

log implicit feature

Enables log

log:

A lightweight logging facade for Rust

nrf51-pac nrf51?
nrf52805-pac nrf52805?
nrf52810-pac nrf52810?
nrf52811-pac nrf52811?
nrf52820-pac nrf52820?
nrf52832-pac nrf52832?
nrf52833-pac nrf52833?
nrf52840-pac nrf52840?
nrf5340-app-pac _nrf5340-app?
nrf5340-net-pac _nrf5340-net?
nrf9160-pac nrf9160-ns? nrf9160-s?
nrf9120-pac nrf9120-ns? nrf9120-s? nrf9151-ns? nrf9151-s? nrf9161-ns? nrf9161-s?