Card/IO firmware ================ This repository contains the firmware source code for the Card/IO open source ECG device, built with an ESP32-C6 or ESP32-S3 MCU. This firmware is in its early stages of development. Setup ----- Tools you need to build the firmware: - Espressif's Xtensa-enabled rust compiler - [espup](https://github.com/esp-rs/espup) > Make sure to run `. ~/export-esp.sh` before trying to work with the firmware - `cargo install cargo-espflash` - `cargo install cargo-watch` ### Enable External / USB JTAG selector solder bridge - `pip install esptool` - `python -m espefuse burn_efuse --port COM4 STRAP_JTAG_SEL 1` Commands -------- - `cargo xtask -h`: Prints information about available commands. Most of the commands have short aliasses, listed below. - `cargo xbuild [release]`: Build the firmware image for a `` version board. - `cargo xrun `: Build and run the firmware on a `` version board. - `cargo monitor`: Connect to the Card/IO device and display serial output. `` can be omitted, or one of: `v4`, `v6s3`, `v6c6`. Defaults to `v6c6`. - `cargo xcheck `: runs `cargo check` - `cargo xclippy `: runs `cargo clippy` - `cargo xdoc [--open]`: runs `cargo doc` and optionally opens the generated documentation. - `cargo xtest`: runs `cargo test`. - `cargo example [--watch]`: runs an example. Use `--watch` to enable automatic reload when a file changes. - To run the config site on your PC, run `cargo example config-site simple --watch` and open `127.0.0.1:8080` in a browser.