Cargo Features

[dependencies]
py32-hal = { version = "0.3.0", default-features = false, features = ["rt", "defmt", "memory-x", "time", "exti", "embassy-usb-driver-impl", "usb-device-impl", "py32f030k28", "py32f030f16", "py32f072c1b", "time-driver-any", "time-driver-tim3", "time-driver-tim15", "time-driver-systick", "log"] }

cargo test --no-default-features --features "embassy time exti embassy-usb-driver-impl py32f072c1b"

default = defmt, exti, memory-x, rt, time

These default features are set whenever py32-hal is added without default-features = false somewhere in the dependency tree.

rt default

Enables rt of py32-metapac

py32-metapac = { path = "../py32-data/build/py32-metapac", default-features = false, features = [

defmt default

Enables defmt and defmt-rtt, defmt of embassy-usb-driver and optional musb

memory-x default

Enables memory-x of py32-metapac

time default _time-driver?

Enables embassy-time, time of embassy-embedded-hal

Affects i2c::Config.timeout

exti default

Affects py32-hal::exti

embassy-usb-driver-impl

Enables embassy-usb-driver, embassy-usb-driver-impl of musb

Affects usb::Driver, py32-hal::usb

usb-device-impl

Enables usb-device, usb-device-impl of musb

Affects usb::new_bus, py32-hal::usb

py32f030k28

Enables py32f030k28 of py32-metapac

py32f030f16

Enables py32f030f16 of py32-metapac

py32f072c1b

Enables builtin-py32f07x of musb, py32f072c1b of py32-metapac

time-driver-any = _time-driver

As of 2023-12-04, this driver is implemented using CC1 as the halfway rollover interrupt, and any additional CC capabilities to provide timer alarms to embassy-time. embassy-time requires AT LEAST one alarm to be allocatable, which means timers that only have CC1, such as TIM16/TIM17, are not candidates for use as an embassy-time driver provider. (a.k.a 1CH and 1CH_CMP are not, others are good.)

time-driver-tim1 time-driver-tim3 = _time-driver
time-driver-tim15 = _time-driver
time-driver-systick = _time-driver

Enables portable-atomic

Affects embassy::systick_time_driver

_time-driver time-driver-any? time-driver-systick? time-driver-tim1? time-driver-tim15? time-driver-tim3? = time

Enables embassy-time-driver and embassy-time-queue-utils

Affects embassy::time_driver

Features from optional dependencies

log implicit feature

Enables log

log:

A lightweight logging facade for Rust