From 61b8b62b506cfd41118972ec7ba7632e46227ed3 Mon Sep 17 00:00:00 2001 From: Julian Gaal Date: Wed, 8 May 2019 19:02:51 +0200 Subject: [PATCH] documentation improvements --- src/lib.rs | 49 +++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 45 insertions(+), 4 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 26d353f..214ee6a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,8 +1,49 @@ -#![no_std] +//! Mpu6050 sensor driver. +//! +//! Register sheet [here](https://www.invensense.com/wp-content/uploads/2015/02/MPU-6000-Register-Map1.pdf), +//! Data sheet [here](https://www.invensense.com/wp-content/uploads/2015/02/MPU-6500-Datasheet2.pdf) +//! +//! To use this driver you must provide a concrete `embedded_hal` implementation.//! This example uses `linux_embedded_hal` +//! ``` +//! let i2c = I2cdev::new("/dev/i2c-1") +//! .map_err(Mpu6050Error::I2c)?; +//! +//! let delay = Delay; +//! +//! let mut mpu = Mpu6050::new(i2c, delay); +//! mpu.init()?; +//! mpu.soft_calib(Steps(100))?; +//! mpu.calc_variance(Steps(50))?; +//! +//! println!("Calibrated with bias: {:?}", mpu.get_bias().unwrap()); +//! println!("Calculated variance: {:?}", mpu.get_variance().unwrap()); +//! +//! // get roll and pitch estimate +//! let acc = mpu.get_acc_angles()?; +//! +//! // get roll and pitch estimate - averaged accross n readings (steps) +//! let acc = mpu.get_acc_angles_avg(Steps(5))?; +//! +//! // get temp +//! let temp = mpu.get_temp()?; +//! +//! // get temp - averages across n readings (steps) +//! let temp = mpu.get_temp_avg(Steps(5))?; +//! +//! // get gyro data, scaled with sensitivity +//! let gyro = mpu.get_gyro()?; +//! +//! // get gyro data, scaled with sensitivity - averaged across n readings (steps) +//! let gyro = mpu.get_gyro_avg(Steps(5))?; +//! +//! // get accelerometer data, scaled with sensitivity +//! let acc = mpu.get_acc()?; +//! +//! // get accelerometer data, scaled with sensitivity - averages across n readings (steps) +//! let acc = mpu.get_acc_avg(Steps(5))?; +//! -///! Mpu6050 sensor driver. -///! Register sheet: https://www.invensense.com/wp-content/uploads/2015/02/MPU-6000-Register-Map1.pdf -///! Data sheet: https://www.invensense.com/wp-content/uploads/2015/02/MPU-6500-Datasheet2.pdf +#![no_std] pub mod registers;