public void UpdateSensors() { Task.Run(async() => { var sensors = new ReadAllSensors(hat); ISenseHatSensors sensorReadings = sensors.Run(); string temp = sensorReadings.Temperature?.ToString() ?? "N/A"; Debug.WriteLine($"TEMP: {temp} Celsius"); var t = new WatcherTemperature(Convert.ToDouble(temp)); results = $"TEMP: {t.Celsius?.ToString("F")} Celsius"; Debug.WriteLine($"TEMP: {Math.Round(t.ToFahrenheit(), 2)} Fahrenheit"); results += $"\nTEMP: {t.ToFahrenheit()} Fahrenheit"; Debug.WriteLine($"% RELATIVE HUMIDITY: {sensorReadings.Humidity?.ToString("F")}"); results += $"\n% RELATIVE HUMIDITY: {sensorReadings.Humidity?.ToString("F")}"; Debug.WriteLine($"BAROMETRIC PRESSURE (MB): {sensorReadings.Pressure?.ToString("F")}"); results += $"\nBAROMETRIC PRESSURE (MB): {sensorReadings.Pressure?.ToString("F")}"; Debug.WriteLine($"MAGNETOMETER: {sensorReadings.MagneticField?.ToString()}"); results += $"\nMAGNETOMETER: {sensorReadings.MagneticField?.ToString()}"; await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { //update the UI this.TempText.Text = results; this.TempText.UpdateLayout(); }); }); }
public WatcherTimer(ISenseHatSensors Sensors) { sensors = Sensors; DispatcherTimerSetup(); }