Cargo Features

knx-pico has no features set by default.

[dependencies]
knx-pico = { version = "0.3.0", features = ["std", "defmt", "serde", "usb-logger", "embassy-rp", "embassy-rp-usb"] }
std

Enable std support (for examples and applications)

defmt embassy-rp? embassy-rp-usb?

Enable defmt logging support

Enables defmt

Optional dependencies for defmt logging

and defmt of heapless

Core library dependencies (no_std)

serde

Enable serde support

Enables serde of heapless and serde

Serialization support (optional)

usb-logger embassy-rp-usb?

USB logger feature (alternative to defmt-rtt)

Enables embassy-usb-logger and log

embassy-rp = defmt

Feature for building the RP2040 binary with defmt-rtt (default)

Enables panic-persist and static_cell, defmt of heapless and embassy-sync and embassy-time

embassy-sync:

Embassy dependencies (only for binary/examples)

and cortex-m-rt, critical-section, cyw43 ^0.5.0, cyw43-pio ^0.8.0, defmt, defmt-rtt, embassy-executor, embassy-futures, embassy-net ^0.7.1, and embassy-rp ^0.8.0

cyw43:

Hardware specific (only for RP2040 binary)

Affects knx-pico::knx_client, knx-pico::knx_discovery, net::embassy_adapter, protocol::async_tunnel

embassy-rp-usb = defmt, usb-logger

Feature for building the RP2040 binary with USB logger Note: defmt-rtt is still needed because dependencies (cyw43, embassy-rp) use defmt internally

Enables panic-persist and static_cell, cortex-m-rt, critical-section, cyw43 ^0.5.0, cyw43-pio ^0.8.0, defmt, defmt-rtt, embassy-executor, embassy-futures, embassy-net ^0.7.1, embassy-rp ^0.8.0, embassy-sync, and embassy-time, defmt of heapless

Affects knx-pico::knx_client, knx-pico::knx_discovery, net::embassy_adapter, protocol::async_tunnel