Generic Rust accelerometer support, including traits and types for taking readings from 2 or 3-axis accelerometers, intended for use with platform-agnostic accelerometer drivers written using embedded-hal.
Uses no_std
-oriented 2D and 3D vector types from the micromath.rs crate.
Additionally includes support for tracking device orientations using accelerometer data.
- Rust 1.47+
The following dependent crates providing platform-agnostic accelerometer
drivers built on embedded-hal
which also implement the Accelerometer
and/or the RawAccelerometer
traits from this crate:
Device Name | Description | Crate + Docs |
---|---|---|
ADXL313 | Analog Devices 3-axis accelerometer | |
ADXL343 | Analog Devices 3-axis accelerometer | |
ADXL355 | Analog Devices 3-axis accelerometer | |
LIS2DH12 | ST 3-Axis MEMS Accelerometer | |
LIS3DH | High Performance ST 3-Axis MEMS "nano" Accelerometer | |
MMA7660FC | Grove 3-Axis Digital Accelerometer | |
STK8BA58 | SENSORTEK 3-Axis MEMS Accelerometer | |
KXTJ31057 | Silicon Micromachined 3-axis accelerometer |
One of the main features of this crate is device orientation tracking for
3-axis accelerometers, which is gated under the orientation
cargo feature
(enabled-by-default). This provides smartphone-like device position sensing
using an accelerometer alone, returned as one of the variants of the
accelerometer::Orientation
enum.
See the accelerometer::Tracker
documentation for more information.
We abide by the Contributor Covenant and ask that you do as well.
For more information, please see CODE_OF_CONDUCT.md.
Copyright © 2019-2020 NeoBirth Developers
Dual licensed under your choice of either of:
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)