private async void HandleTemperatureMeasured(object sender, TemperatureData e) { if (e.IsValid) { await _dataPinLed.Flash(_longFlashTime); OnTemperatureMeasured?.Invoke(this, e); } else { await _errorLed.Flash(_longFlashTime); } }
private async void OnTemperatureMeasured(object sender, TemperatureData e) { Debug.WriteLine($"MainPage.OnTemperatureMeasured {e.Temperature}: {e.IsValid} at {DateTime.Now}"); if (e.IsValid) { await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async () => { var brush = TemperatureText.Foreground; TemperatureText.Text = $"{e.Temperature}°C"; TemperatureText.Foreground = new SolidColorBrush(Colors.Red); await Task.Delay(250); TemperatureText.Foreground = brush; }); } }
private void ProcessTemperatureData(object sender, TemperatureData temperatureData) { OnTemperatureDataReceived?.Invoke(this, temperatureData); }
public async void HandleNewTemperature(object sender, TemperatureData data) { Debug.WriteLine($"New temperature data received {data.Temperature} fanstatus = {data.FanStatus}"); _lastTemperatureData = data; _lastTemperatureData.Timestamp = DateTimeOffset.UtcNow; if (_lastFanStatus != _lastTemperatureData.FanStatus && _isProcessing) { _isProcessing = false; _lastFanStatus = _lastTemperatureData.FanStatus; await UpdateFirstPageStatus(); } else if (_lastToggleUse.IsSecondsAgo(Settings.FanSwitchQueueTtl) && _isProcessing) { _isProcessing = false; _lastFanStatus = _lastTemperatureData.FanStatus; await UpdateFirstPageStatus(); } else if (!_isProcessing) { _lastFanStatus = _lastTemperatureData.FanStatus; } }