Cargo Features

uni-core has no features set by default.

[dependencies]
uni-core = { version = "0.0.12", features = ["std", "advanced_math", "complex_numbers", "repl", "hardware-microbit", "hardware-pico2", "hardware-stm32h753zi", "target-microbit", "target-pico", "target-pico2", "target-stm32h753zi"] }

No HAL dependency needed - Pico has no hardware primitives in uni-core

std = libc

std enables libc for timezone detection

Affects hardware::linux_time

advanced_math

Trig, exp/log, rounding, advanced division

Affects primitives::sqrt, primitives::ceil, primitives::floor, primitives::pow, primitives::round, primitives::cos, primitives::sin, primitives::tan, primitives::exp, primitives::log

complex_numbers = num-complex

Complex and Gaussian integer support

repl = editline

REPL support with line editing (optional)

Affects uni-core::repl

hardware-microbit target-microbit? = cortex-m, cortex-m-rt, embedded-hal, microbit

Hardware platform features

Affects microbit::DISPLAY, microbit::button_read_builtin, microbit::led_on_builtin, microbit::led_off_builtin, microbit::led_clear_builtin, microbit::led_show_builtin, hardware::microbit, interpreter::Interpreter.buttons, interpreter::Interpreter.display_buffer

hardware-pico2 target-pico2? = cortex-m, cortex-m-rt, embedded-hal, rp235x-hal

Pico 2 (RP2350) GPIO primitives

Affects hardware::pico2, pico2::gpio_mode_builtin, pico2::gpio_set_builtin, pico2::gpio_get_builtin, pico2::sleep_ms_builtin, interpreter::Interpreter.gpio_pins

hardware-stm32h753zi target-stm32h753zi? = cortex-m-rt, defmt, defmt-rtt, embassy-executor, embassy-futures, embassy-time, embassy-usb, panic-probe

Enables critical-section-single-core of cortex-m, stm32h753zi of embassy-stm32 ^0.4.0

target-microbit = hardware-microbit

Convenience aliases for target features

target-pico

Pico (RP2040) - REPL only, no hardware primitives

target-pico2 = hardware-pico2
target-stm32h753zi = hardware-stm32h753zi

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.

num-complex complex_numbers?

Enables num-complex

Optional features

editline repl?

Enables editline ^0.0.20

embassy-stm32 hardware-stm32h753zi?

Enables embassy-stm32 ^0.4.0

embassy-executor hardware-stm32h753zi?
embassy-usb hardware-stm32h753zi?
embassy-time hardware-stm32h753zi?
embassy-futures hardware-stm32h753zi?
defmt hardware-stm32h753zi?

Enables defmt ^0.3

defmt-rtt hardware-stm32h753zi?

Enables defmt-rtt ^0.4

panic-probe hardware-stm32h753zi?

Enables panic-probe ^0.3

rp235x-hal hardware-pico2?
libc std?

Enables libc

Platform features

microbit thumbv7em-none-eabihf hardware-microbit?

Enables microbit-v2 ^0.15

embedded-hal arm none hardware-microbit? hardware-pico2?
cortex-m arm none hardware-microbit? hardware-pico2? hardware-stm32h753zi?
cortex-m-rt arm none hardware-microbit? hardware-pico2? hardware-stm32h753zi?