i'm checking a data_ready bit through i2c, the sensor have 200, 100, 10...Hz modes, ``` pub fn check_data_ready(&mut self) -> Result<(), Error> { let mut retries = 2; while retries > 0 { let status = self.read_register(Register::ST1)?; if (status & 0x01) != 0 { return Ok(()); // Data ready } std::thread::sleep(self.mode.into()); retries -= 1; } Err(Error::DataNotReady) } ``` is better than: ```rust pub fn check_data_ready(&mut self) -> Result<(), Error> { let mut retries = 100; while retries > 0 { let status = self.read_register(Register::ST1)?; if (status & 0x01) != 0 { return Ok(()); // Data ready } retries -= 1; } Err(Error::DataNotReady) } ```