Skip to content

Latest commit

 

History

History
64 lines (41 loc) · 2.1 KB

README.md

File metadata and controls

64 lines (41 loc) · 2.1 KB

wave

crates.io docs.rs CI docs main

A no-std no-alloc gesture recognition library for low resolution TOF-Sensors.

Showcase

Horizontal Swipes

swipes_horizontal.mp4

Vertical Swipes

swipes_vertical.mp4

Static Holds

static_hold.mp4

Tests

Std is enabled for tests, but currently there is a bug that prevents cargo from building them successfully.
(see: github.com/rust-lang/rust/issues/48665).

To work around this, argument --lib wave needs to be used explicitly:

cargo test --lib wave

C Bindings

The static library can be (re)built with cargo build --release. Then libwave.a will be located in target/release. The header file wave.h is located in the crate root.

Cross-compile for a specific architecture, e.g. Cortex-M4: cargo build --release --target=thumbv7em-none-eabi

Cbindgen is used in the build script to (re)generate the header file wave.h.

To do this manually in the cli, execute:

cargo install --force cbindgen
cbindgen --config cbindgen.toml --crate wave --output wave.h

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.