From 3708b3c35e6480482b411eba209fe9fe51cd87f7 Mon Sep 17 00:00:00 2001 From: juliangaal Date: Mon, 20 May 2019 16:20:34 +0200 Subject: [PATCH] build example in base cargo.toml with dev-dependencies --- {example/.cargo => .cargo}/config | 0 Cargo.toml | 6 ++++ examples/.cargo/config | 2 ++ {example => examples}/Cargo.toml | 0 examples/main.rs | 52 +++++++++++++++++++++++++++++++ {example => examples}/src/main.rs | 0 6 files changed, 60 insertions(+) rename {example/.cargo => .cargo}/config (100%) create mode 100644 examples/.cargo/config rename {example => examples}/Cargo.toml (100%) create mode 100644 examples/main.rs rename {example => examples}/src/main.rs (100%) diff --git a/example/.cargo/config b/.cargo/config similarity index 100% rename from example/.cargo/config rename to .cargo/config diff --git a/Cargo.toml b/Cargo.toml index 47892e5..6d2d91e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,3 +17,9 @@ libm = "0.1.2" [dependencies.nalgebra] default-features = false version = "0.18.0" + +[dev-dependencies] +i2cdev = "0.4.1" +linux-embedded-hal = "0.2.2" + + diff --git a/examples/.cargo/config b/examples/.cargo/config new file mode 100644 index 0000000..0c1c209 --- /dev/null +++ b/examples/.cargo/config @@ -0,0 +1,2 @@ +[target.armv7-unknown-linux-gnueabihf] +linker = "arm-linux-gnueabihf-gcc" diff --git a/example/Cargo.toml b/examples/Cargo.toml similarity index 100% rename from example/Cargo.toml rename to examples/Cargo.toml diff --git a/examples/main.rs b/examples/main.rs new file mode 100644 index 0000000..13a2989 --- /dev/null +++ b/examples/main.rs @@ -0,0 +1,52 @@ +use mpu6050::*; +use linux_embedded_hal::{I2cdev, Delay}; +use i2cdev::linux::LinuxI2CError; + +fn main() -> Result<(), Mpu6050Error> { + 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()); + + loop { + // get roll and pitch estimate + let acc = mpu.get_acc_angles()?; + println!("r/p: {}", acc); + + // get roll and pitch estimate - averaged accross n readings (steps) + let acc = mpu.get_acc_angles_avg(Steps(5))?; + println!("r/p avg: {}", acc); + + // get temp + let temp = mpu.get_temp()?; + println!("temp: {}c", temp); + + // get temp - averages across n readings (steps) + let temp = mpu.get_temp_avg(Steps(5))?; + println!("temp avg: {}c", temp); + + // get gyro data, scaled with sensitivity + let gyro = mpu.get_gyro()?; + println!("gyro: {}", gyro); + + // get gyro data, scaled with sensitivity - averaged across n readings (steps) + let gyro = mpu.get_gyro_avg(Steps(5))?; + println!("gyro avg: {}", gyro); + + // get accelerometer data, scaled with sensitivity + let acc = mpu.get_acc()?; + println!("acc: {}", acc); + + // get accelerometer data, scaled with sensitivity - averages across n readings (steps) + let acc = mpu.get_acc_avg(Steps(5))?; + println!("acc avg: {}", acc); + } +} diff --git a/example/src/main.rs b/examples/src/main.rs similarity index 100% rename from example/src/main.rs rename to examples/src/main.rs