1
Fork 0

update example with averaging

This commit is contained in:
juliangaal 2019-04-24 15:44:18 +02:00
parent 3cc8a6baff
commit 5458cccb48

View file

@ -10,8 +10,8 @@ fn main() -> Result<(), Mpu6050Error<LinuxI2CError>> {
let mut mpu = Mpu6050::new(i2c, delay); let mut mpu = Mpu6050::new(i2c, delay);
mpu.init()?; mpu.init()?;
mpu.soft_calib(100)?; mpu.soft_calib(Steps(100))?;
mpu.calc_variance(50)?; mpu.calc_variance(Steps(50))?;
println!("Calibrated with bias: {:?}", mpu.get_bias().unwrap()); println!("Calibrated with bias: {:?}", mpu.get_bias().unwrap());
println!("Calculated variance: {:?}", mpu.get_variance().unwrap()); println!("Calculated variance: {:?}", mpu.get_variance().unwrap());
@ -21,16 +21,32 @@ fn main() -> Result<(), Mpu6050Error<LinuxI2CError>> {
let acc = mpu.get_acc_angles()?; let acc = mpu.get_acc_angles()?;
println!("r/p: {:?}", acc); println!("r/p: {:?}", acc);
// get roll and pitch estimate - averaged accross n readings (mask)
let acc = mpu.get_acc_angles_avg(Mask(5))?;
println!("r/p avg: {:?}", acc);
// get temp // get temp
let temp = mpu.get_temp()?; let temp = mpu.get_temp()?;
println!("temp: {}c", temp); println!("temp: {}c", temp);
// get temp - averages across n readings (mask)
let temp = mpu.get_temp_avg(Mask(5))?;
println!("temp avg: {}c", temp);
// get gyro data, scaled with sensitivity // get gyro data, scaled with sensitivity
let gyro = mpu.get_gyro()?; let gyro = mpu.get_gyro()?;
println!("gyro: {:?}", gyro); println!("gyro: {:?}", gyro);
// get gyro data, scaled with sensitivity - averaged across n readings (mask)
let gyro = mpu.get_gyro_avg(Mask(5))?;
println!("gyro avg: {:?}", gyro);
// get accelerometer data, scaled with sensitivity // get accelerometer data, scaled with sensitivity
let acc = mpu.get_acc()?; let acc = mpu.get_acc()?;
println!("acc: {:?}", acc); println!("acc: {:?}", acc);
// get accelerometer data, scaled with sensitivity - averages across n readings (mask)
let acc = mpu.get_acc_avg(Mask(5))?;
println!("acc avg: {:?}", acc);
} }
} }