private void HandlePumpStatusChange(IoStatusChangeEventArgs e) { var deviceId = e.DeviceId; var type = e.IoStatus; var feedback = e.Feedback; var data = feedback as PumpDirectiveData; if (data == null) { return; } if (CurrentContext.SysCache?.SystemRealTimeStatus == null) { LogFactory.Create().Warnning("RunningState is null when HandlePumpStatusChange"); return; } Dispatcher.Invoke(() => { if (CurrentContext.SysCache?.SystemRealTimeStatus.In.DeviceId == deviceId) { UpdatePumpIn(); } else { UpdatePumpOut(); } }); }
private void HandleDeviceStatusChange(IoStatusChangeEventArgs e) { var feedback = e.Feedback; var data = feedback as TemperatureDirectiveData; if (data != null) { CurrentContext.SysCache.SystemRealTimeStatus.Temperature.Temperature = Math.Round(data.CenterTemperature, 2); } Center.OnDeviceStatusChange(e); }
private void HandleDeviceStatusChange(IoStatusChangeEventArgs e) { var feedback = e.Feedback; var data = feedback as GasDirectiveData; if (data != null) { CurrentContext.SysCache.SystemRealTimeStatus.Gas.FlowRate = data.Flowrate; CurrentContext.SysCache.SystemRealTimeStatus.Gas.Concentration = data.TimeInterval; } Center.OnDeviceStatusChange(e); }
private async void HandleGasStatusChange(IoStatusChangeEventArgs e) { var feedback = e.Feedback; var data = feedback as GasDirectiveData; if (data == null) { return; } await Dispatcher.InvokeAsync(() => { txtFlowrate.Text = (data.Flowrate).ToString("0.0"); txtCon.Text = (data.Concentration).ToString("0.0"); }); }
private async void HandleSensorStatusChange(IoStatusChangeEventArgs e) { var feedback = e.Feedback; var data = feedback as TemperatureDirectiveData; if (data == null) { return; } await Dispatcher.InvokeAsync(() => { txtTemperature.Text = (data.CenterTemperature).ToString("0.0"); txtEnvTemperature.Text = (data.EnvTemperature).ToString("0.0"); txtHeaterTemperature.Text = (data.HeaterTemperature).ToString("0.0"); }); }
public void InstanceDeviceStatusChangeEvent(object sender, IoStatusChangeEventArgs e) { var deviceType = e.DeviceType; if (deviceType == TargetDeviceTypeEnum.Pump) { HandlePumpStatusChange(e); } else if (deviceType == TargetDeviceTypeEnum.Rocker) { HandleRockerStatusChange(e); } else if (deviceType == TargetDeviceTypeEnum.Temperature) { HandleSensorStatusChange(e); } else if (deviceType == TargetDeviceTypeEnum.Gas) { HandleGasStatusChange(e); } }
private async void HandleRockerStatusChange(IoStatusChangeEventArgs e) { var type = e.IoStatus; var feedback = e.Feedback; var data = feedback as RockerDirectiveData; if (data == null) { return; } if (CurrentContext.SysCache?.SystemRealTimeStatus == null) { LogFactory.Create().Warnning("RunningState is null when HandleRockerStatusChange"); return; } await Dispatcher.InvokeAsync(() => { txtRate.Text = CurrentContext.SysCache.SystemRealTimeStatus.Rocker.Speed.ToString("0.0"); txtAngle.Text = CurrentContext.SysCache.SystemRealTimeStatus.Rocker.Angle.ToString("0.0"); if (CurrentContext.SysCache?.SystemRealTimeStatus.Rocker.IsRunning ?? false) { if (GetAnimateStatus(sb) == ClockState.Stopped) { sb.Begin(this, true); } } else { if (GetAnimateStatus(sb) != ClockState.Stopped) { sb.Stop(this); } } }); }
private void HandleDeviceStatusChange(IoStatusChangeEventArgs e) { try { var feedback = e.Feedback; var data = feedback as RockerDirectiveData; if (data == null) { return; } CurrentContext.SysCache.SystemRealTimeStatus.Rocker.IsRunning = data.Speed > 0; CurrentContext.SysCache.SystemRealTimeStatus.Rocker.Angle = data.Speed > 0 ? Config.DefaultAngle : 0; CurrentContext.SysCache.SystemRealTimeStatus.Rocker.Speed = data.Speed; Center.OnDeviceStatusChange(e); } catch (Exception exception) { Debug.WriteLine(exception.Message); } }
public void OnDeviceStatusChange(IoStatusChangeEventArgs args) { DeviceStatusChangeEvent?.Invoke(this, args); }