Cargo Features

Heapless has no features set by default.

[dependencies]
heapless = { version = "0.8.0", features = ["portable-atomic", "portable-atomic-critical-section", "portable-atomic-unsafe-assume-single-core", "serde", "ufmt", "defmt-03", "mpmc_large"] }
portable-atomic portable-atomic-critical-section? portable-atomic…assume-single-core?

Enable polyfilling of atomics via portable-atomic. portable-atomic polyfills some functionality by default, but to get full atomics you must enable one of its features to tell it how to do it. See portable-atomic documentation for details.

Enables portable-atomic

Affects heapless::spsc, heapless::mpmc

portable-atomic-critical-section = portable-atomic

Enable polyfilling of atomics via portable-atomic, using critical section for locking

Enables critical-section of portable-atomic

portable-atomic-unsafe-assume-single-core = portable-atomic

Enable polyfilling of atomics via portable-atomic, using disabling interrupts for locking.
WARNING: this is only sound for single-core bare-metal privileged-mode targets!

Enables unsafe-assume-single-core of portable-atomic

serde

implement serde traits.

Enables serde

ufmt

implement ufmt traits.

Enables ufmt-write

defmt-03

Implement defmt::Format from defmt v0.3

Enables defmt

mpmc_large

Enable larger MPMC sizes.

Affects heapless::mpmc