/// <summary> /// Requests a reading from the sensor and updates its data properties with the gathered values. /// </summary> /// <returns>An awaitable Task</returns> /// <remarks> /// Note that when #AutoUpdateWhenPropertyRead is `true` (which it is, by default), this method is implicitly /// called when any sensor data property is read from --- there's no need to call this method unless you set /// AutoUpdateWhenPropertyRead to `false`. /// /// Unless otherwise noted, this method updates all sensor data simultaneously, which can often lead to more efficient /// bus usage (as well as reducing USB chattiness). /// </remarks> public override async Task UpdateAsync() { var data = (short)await dev.ReadWordDataBEAsync(0x00).ConfigureAwait(false); celsius = data / 32.0 / 8.0; RaisePropertyChanged(this); }
/// <summary> /// Requests a reading from the sensor and updates its data properties with the gathered values. /// </summary> /// <returns>An awaitable Task</returns> /// <remarks> /// Note that when #AutoUpdateWhenPropertyRead is `true` (which it is, by default), this method is implicitly /// called when any sensor data property is read from --- there's no need to call this method unless you set /// AutoUpdateWhenPropertyRead to `false`. /// /// Unless otherwise noted, this method updates all sensor data simultaneously, which can often lead to more efficient /// bus usage (as well as reducing USB chattiness). /// </remarks> public override async Task UpdateAsync() { var data = await dev.ReadWordDataBEAsync(0x05).ConfigureAwait(false); double temp = data & 0x0FFF; temp /= 16.0; if ((data & 0x1000) > 0) { temp -= 256; } celsius = temp; RaisePropertyChanged(this); }