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");
|
||||
mpu.set_temp_enabled(false)?;
|
||||
assert_eq!(mpu.get_temp_enabled()?, false);
|
||||
assert_eq!(mpu.get_temp()?, 36.53);
|
||||
mpu.set_temp_enabled(true)?;
|
||||
assert_eq!(mpu.get_temp_enabled()?, true);
|
||||
assert_ne!(mpu.get_temp()?, 36.53);
|
||||
|
||||
// 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_gyro_range()?, range::GyroRange::D250);
|
||||
assert_eq!(mpu.get_sleep_enabled()?, true);
|
||||
assert_eq!(mpu.get_temp_enabled()?, false);
|
||||
assert_eq!(mpu.get_temp_enabled()?, true);
|
||||
|
||||
println!("Test successful");
|
||||
Ok(())
|
||||
|
|
|
@ -203,13 +203,17 @@ where
|
|||
}
|
||||
|
||||
/// 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>> {
|
||||
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
|
||||
/// 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>> {
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue