Skip to content
/ wave Public

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

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

flxzt/wave

Repository files navigation

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.

About

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

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published