fix temperature sensor enable/disable
This commit is contained in:
parent
f021c88a08
commit
0ab57cadf4
2 changed files with 9 additions and 3 deletions
|
@ -47,8 +47,10 @@ fn main() -> Result<(), Mpu6050Error<LinuxI2CError>> {
|
||||||
println!("Test temp enable/disable");
|
println!("Test temp enable/disable");
|
||||||
mpu.set_temp_enabled(false)?;
|
mpu.set_temp_enabled(false)?;
|
||||||
assert_eq!(mpu.get_temp_enabled()?, false);
|
assert_eq!(mpu.get_temp_enabled()?, false);
|
||||||
|
assert_eq!(mpu.get_temp()?, 36.53);
|
||||||
mpu.set_temp_enabled(true)?;
|
mpu.set_temp_enabled(true)?;
|
||||||
assert_eq!(mpu.get_temp_enabled()?, true);
|
assert_eq!(mpu.get_temp_enabled()?, true);
|
||||||
|
assert_ne!(mpu.get_temp()?, 36.53);
|
||||||
|
|
||||||
// reset
|
// reset
|
||||||
println!("Test reset");
|
println!("Test reset");
|
||||||
|
@ -57,7 +59,7 @@ fn main() -> Result<(), Mpu6050Error<LinuxI2CError>> {
|
||||||
assert_eq!(mpu.get_accel_range()?, range::AccelRange::G2);
|
assert_eq!(mpu.get_accel_range()?, range::AccelRange::G2);
|
||||||
assert_eq!(mpu.get_gyro_range()?, range::GyroRange::D250);
|
assert_eq!(mpu.get_gyro_range()?, range::GyroRange::D250);
|
||||||
assert_eq!(mpu.get_sleep_enabled()?, true);
|
assert_eq!(mpu.get_sleep_enabled()?, true);
|
||||||
assert_eq!(mpu.get_temp_enabled()?, false);
|
assert_eq!(mpu.get_temp_enabled()?, true);
|
||||||
|
|
||||||
println!("Test successful");
|
println!("Test successful");
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
|
@ -203,13 +203,17 @@ where
|
||||||
}
|
}
|
||||||
|
|
||||||
/// enable, disable temperature measurement of sensor
|
/// enable, disable temperature measurement of sensor
|
||||||
|
/// TEMP_DIS actually saves "disabled status"
|
||||||
|
/// 1 is disabled! -> enable=true : bit=!enable
|
||||||
pub fn set_temp_enabled(&mut self, enable: bool) -> Result<(), Mpu6050Error<E>> {
|
pub fn set_temp_enabled(&mut self, enable: bool) -> Result<(), Mpu6050Error<E>> {
|
||||||
Ok(self.write_bit(PWR_MGMT_1::ADDR, PWR_MGMT_1::TEMP_DIS, enable)?)
|
Ok(self.write_bit(PWR_MGMT_1::ADDR, PWR_MGMT_1::TEMP_DIS, !enable)?)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// get temperature sensor status
|
/// get temperature sensor status
|
||||||
|
/// TEMP_DIS actually saves "disabled status"
|
||||||
|
/// 1 is disabled! -> 1 == 0 : false, 0 == 0 : true
|
||||||
pub fn get_temp_enabled(&mut self) -> Result<bool, Mpu6050Error<E>> {
|
pub fn get_temp_enabled(&mut self) -> Result<bool, Mpu6050Error<E>> {
|
||||||
Ok(self.read_bit(PWR_MGMT_1::ADDR, PWR_MGMT_1::TEMP_DIS)? != 0)
|
Ok(self.read_bit(PWR_MGMT_1::ADDR, PWR_MGMT_1::TEMP_DIS)? == 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// set accel x self test
|
/// set accel x self test
|
||||||
|
|
Loading…
Reference in a new issue