Installation
Python package
pip install -e client/ # from the repository root
Then, from any program:
from haptic_skin import haptic, Necklace
haptic("NE", 0.8) # quick one-liner (default necklace)
nk = Necklace(port="/dev/ttyACM0") # explicit device
nk.set_vector([0, 0, 255, 0, 0, 0, 0, 0])
nk.stop()
With no port (or HAPTIC_SKIN_PORT unset) the package uses an in-process
simulator — no hardware required.
Firmware (Pico 1 W, RP2040)
rustup target add thumbv6m-none-eabi
cargo install elf2uf2-rs
cd firmware-rust-v2
cargo build --release
Flash: hold BOOTSEL, plug the Pico in (it mounts as RPI-RP2), then:
cargo run --release # elf2uf2-rs copies the .uf2
Building this documentation
cd docs-site
cargo install mdbook mdbook-mermaid
pip install pdoc
./build.sh # mdBook hub + Python API (pdoc) + Rust API (rustdoc)
Output lands in docs-site/book/ (with book/python/ and book/rust/).