diff --git a/examples/test.rs b/examples/test.rs index eec3a3f..2c90fdb 100644 --- a/examples/test.rs +++ b/examples/test.rs @@ -47,8 +47,10 @@ fn main() -> Result<(), Mpu6050Error> { 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> { 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(()) diff --git a/src/lib.rs b/src/lib.rs index 7cfec0a..65b1733 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -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> { - 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> { - 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