Ejemplo n.º 1
0
        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();
                }
            });
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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");
            });
        }
Ejemplo n.º 5
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");
            });
        }
Ejemplo n.º 6
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);
            }
        }
Ejemplo n.º 7
0
        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);
                    }
                }
            });
        }
Ejemplo n.º 8
0
        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);
            }
        }
Ejemplo n.º 9
0
 public void OnDeviceStatusChange(IoStatusChangeEventArgs args)
 {
     DeviceStatusChangeEvent?.Invoke(this, args);
 }