public void getTemperature(mpuCallbackTemp callback, int delay) { double value = 0; if (this.deviceReady && this.mpu != null) { try { for (;;) { byte[] ReadBuf = new byte[2]; this.mpu.WriteRead(new byte[] { TEMP_OUT_H }, ReadBuf); Array.Reverse(ReadBuf); var temperature2 = BitConverter.ToUInt16(ReadBuf, 0); value = (temperature2 / 333.87) + 21.0; callback(value); Task.Delay(delay).Wait(); } } catch (Exception err) { Debug.WriteLine(err.Message); } } }
/** * return temperature into °C **/ public void getTemperature(mpuCallbackTemp callback) { this.getTemperature(callback, 1000); }