C+
Packages · View as Markdown

espidf

C+ bindings for ESP-IDF on esp32-xtensa: GPIO, microsecond clock, sleep, UART console. Heap-free wrappers suitable for #[no_alloc] / realtime loops.

[dependencies]
espidf = "*"
import "espidf/gpio" as gpio;
import "espidf/timer" as timer;
import "espidf/task" as task;
import "espidf/log" as log;

gpio::set_direction(2, to: gpio::Mode::Output);
gpio::set_level(2, to: gpio::Level::High);
let t: i64 = timer::now_us();
log::print_i64("us: ", t);
task::delay_ms(500);

Build as a staticlib for the ESP-IDF/CMake firmware link:

cpc build --target esp32-xtensa

Docs

Tests

Host-side unit tests cover enum/ABI mapping (no board required):

cd vendor/espidf && cpc test