public MessengerInstanceWrappr(ProsessData data) { MessengerInstance.Send(new ProsessDataMessage(data)); }
public ProsessDataMessage(ProsessData data) { ProsessData = data; }
public void DecodeDataString(string text) { // Assign the value of the recieved_data to the RichTextBox. text.Trim(); mainViewModel.ResivedStringFromArduino = text; ProsessData _prosessData = new ProsessData(); string replacement = Regex.Replace(text, "\r", ""); _prosessData.RAW_Data = replacement; var textList = Regex.Split(replacement, "_"); var plotValues = new List <double>(); try { foreach (var item in textList) { if (item.StartsWith("HartB")) { int beat; int.TryParse(item.Remove(0, 5), out beat); //if (beat != HartBeatArduino) //{ HartBeatArduino = beat; mainViewModel.HeartBeat = HartBeatArduino; //} //else //{ // string mesage = string.Format("Hartbeat from arduino {0}, vs {1}", beat.ToString(), HartBeatArduino.ToString()); // MessageBox.Show(mesage,"HartBeatArduino"); // try // { // mySerialPort.Close(); // } // catch (Exception) // { // mySerialPort.Dispose(); // } //} } else if (item.StartsWith("STATE")) { int.TryParse(item.Remove(0, 5), out systemState); mainViewModel.BrewingState = systemState; _prosessData.BrewingState = systemState; } else if (item.StartsWith("CleSt")) { int.TryParse(item.Remove(0, 5), out systemCleaningState); mainViewModel.CleaningState = systemCleaningState; _prosessData.CleaningState = systemCleaningState; } else if (item.StartsWith("Messa")) { var message = item.Remove(0, 5); TxtMessageFromSystem.Text = message; mainViewModel.MessageFromSystem = message; } else if (item.StartsWith("TimSp")) { int maxtTme; var message = item.Remove(0, 5); int.TryParse(message, out maxtTme); progressBar.Maximum = maxtTme; } else if (item.StartsWith("RemTi")) { int time; var message = item.Remove(0, 5); int.TryParse(message, out time); progressBar.Value = time; TimeSpan t = TimeSpan.FromSeconds(time); string timeString = string.Format("{0:D2}h:{1:D2}m:{2:D2}s", t.Hours, t.Minutes, t.Seconds); mainViewModel.Timer = timeString; _prosessData.Timer = t; } else if (item.StartsWith("AmbTe")) { var value = double.Parse(item.Remove(0, 5), CultureInfo.InvariantCulture); ambiantTemperature = value; txtAmbientTemp.Text = value.ToString(); } else if (item.StartsWith("HltSp")) { var value = double.Parse(item.Remove(0, 5), CultureInfo.InvariantCulture); hotLiqureTank.TemperatureSetpoint = value; HLT.TextSetTemp.Text = value.ToString(); mainViewModel.HotLiquidTankTemperatureSetpoint = value; _prosessData.HLT.TemperatureSetpoint = value; } else if (item.StartsWith("HltTe")) { var value = double.Parse(item.Remove(0, 5), CultureInfo.InvariantCulture); plotValues.Add(value); hotLiqureTank.TemperatureActual.SensorValue = value; HLT.GauageActTemp.Value = value; HLT.TextActuelTemp.Text = value.ToString(); mainViewModel.HotLiquidTankTemperature = value; _prosessData.HLT.Temperature = value; } else if (item.StartsWith("HltE1")) { if (item.Remove(0, 5).StartsWith("1")) { hotLiqureTank.HeatingElement.On = true; HLT.indicatorHeatingElementOn.Fill = myRedBrush; mainViewModel.HotLiquidTankElement = true; _prosessData.HLT.HeatingElementOn = true; } else { hotLiqureTank.HeatingElement.On = false; HLT.indicatorHeatingElementOn.Fill = myGrayBrush; mainViewModel.HotLiquidTankElement = false; _prosessData.HLT.HeatingElementOn = false; } } else if (item.StartsWith("HltCp")) { if (item.Remove(0, 5).StartsWith("1")) { hotLiqureTank.CirculationPump.On = true; HLT.indicatorCirculationPumpOn.Fill = myRedBrush; _prosessData.HLT.CirculationPump.Running = true; } else { hotLiqureTank.CirculationPump.On = false; HLT.indicatorCirculationPumpOn.Fill = myGrayBrush; _prosessData.HLT.CirculationPump.Running = false; } } else if (item.StartsWith("HltTp")) { if (item.Remove(0, 5).StartsWith("1")) { hotLiqureTank.TransferPump.On = true; HLT.indicatorTransferPumpOn.Fill = myRedBrush; _prosessData.HLT.TransferPump.Running = true; } else { hotLiqureTank.TransferPump.On = false; HLT.indicatorTransferPumpOn.Fill = myGrayBrush; _prosessData.HLT.TransferPump.Running = false; } } else if (item.StartsWith("HltVo")) { double value; value = double.Parse(item.Remove(0, 5), CultureInfo.InvariantCulture); hotLiqureTank.Volume.SensorValue = value; HLT.TxtTankVolume.Text = value.ToString(); _prosessData.HLT.CurrentVolume = value; } else if (item.StartsWith("MatTe")) { double value; value = double.Parse(item.Remove(0, 5), CultureInfo.InvariantCulture); plotValues.Add(value); mashTank.TemperatureActual.SensorValue = value; MashTank.GauageActTemp.Value = value; MashTank.TextActuelTemp.Text = value.ToString(); mainViewModel.MeshTankTemperature = value; _prosessData.MashTank.Temperature = value; } else if (item.StartsWith("RimRO")) { double value; value = double.Parse(item.Remove(0, 5), CultureInfo.InvariantCulture); mainViewModel.MeshTankRimsRightOutesideTemperature = value; _prosessData.MashTank.RimsRight.OutesideTemperature = value; plotValues.Add(value); } else if (item.StartsWith("RimLO")) { var value = double.Parse(item.Remove(0, 5), CultureInfo.InvariantCulture); mainViewModel.MeshTankRimsLeftOutesideTemperature = value; _prosessData.MashTank.RimsLeft.OutesideTemperature = value; } else if (item.StartsWith("MarTe")) { double value; value = double.Parse(item.Remove(0, 5), CultureInfo.InvariantCulture); mashTank.HeatingElementReturTemperature.SensorValue = value; mainViewModel.MeshTankRimsReturTemperature = value; MashTank.txtTemperatureAfterHeate.Text = value.ToString(); _prosessData.MashTank.RimsRight.OutTeperature = value; } else if (item.StartsWith("MatSp")) { double value; value = double.Parse(item.Remove(0, 5), CultureInfo.InvariantCulture); mashTank.TemperatureSetpoint = value; MashTank.TextSetTemp.Text = value.ToString(); mainViewModel.MeshTankTemperatureSetpoint = value; _prosessData.MashTank.TemperatureSetpoint = value; } else if (item.StartsWith("MatE1")) { if (item.Remove(0, 5).StartsWith("1")) { mashTank.HeatingElement.On = true; MashTank.indicatorHeatingElementOn.Fill = myRedBrush; _prosessData.MashTank.RimsRight.ElementOn = true; } else { mashTank.HeatingElement.On = false; MashTank.indicatorHeatingElementOn.Fill = myGrayBrush; _prosessData.MashTank.RimsRight.ElementOn = false; } } else if (item.StartsWith("MatE2")) { if (item.Remove(0, 5).StartsWith("1")) { mashTank.HeatingElement.On = true; MashTank.indicatorHeatingElementOn.Fill = myRedBrush; _prosessData.MashTank.RimsLeft.ElementOn = true; } else { mashTank.HeatingElement.On = false; MashTank.indicatorHeatingElementOn.Fill = myGrayBrush; _prosessData.MashTank.RimsRight.ElementOn = false; } } else if (item.StartsWith("MatCp")) { if (item.Remove(0, 5).StartsWith("1")) { mashTank.CirculationPump.On = true; MashTank.indicatorCirculationPumpOn.Fill = myRedBrush; _prosessData.MashTank.CirculationPump.Running = true; } else { mashTank.CirculationPump.On = false; MashTank.indicatorCirculationPumpOn.Fill = myGrayBrush; _prosessData.MashTank.CirculationPump.Running = false; } } else if (item.StartsWith("MatTp")) { if (item.Remove(0, 5).StartsWith("1")) { mashTank.TransferPump.On = true; MashTank.indicatorTransferPumpOn.Fill = myRedBrush; _prosessData.MashTank.TransferPump.Running = true; } else { mashTank.TransferPump.On = false; MashTank.indicatorTransferPumpOn.Fill = myGrayBrush; _prosessData.MashTank.TransferPump.Running = false; } } else if (item.StartsWith("MatAV")) { double value; value = double.Parse(item.Remove(0, 5), CultureInfo.InvariantCulture); _prosessData.MashTank.AddedVolume = value; } else if (item.StartsWith("MatVo")) { double value; value = double.Parse(item.Remove(0, 5), CultureInfo.InvariantCulture); plotValues.Add(value); mashTank.Volume.SensorValue = value; MashTank.TxtTankVolume.Text = value.ToString(); mainViewModel.MeshTankVolume = value; _prosessData.MashTank.CurrentVolume = value; } else if (item.StartsWith("BotTe")) { double value; value = double.Parse(item.Remove(0, 5), CultureInfo.InvariantCulture); plotValues.Add(value); boilTank.TemperatureActual.SensorValue = value; BoilTank.GauageActTemp.Value = value; BoilTank.TextActuelTemp.Text = value.ToString(); mainViewModel.BoilTankTemperature = value; _prosessData.BoilTank.Temperature = value; } else if (item.StartsWith("BotSp")) { double value; value = double.Parse(item.Remove(0, 5), CultureInfo.InvariantCulture); boilTank.TemperatureSetpoint = value; BoilTank.TextSetTemp.Text = value.ToString(); mainViewModel.BoilTankTemperatureSetpoint = value; _prosessData.BoilTank.TemperatureSetpoint = value; } else if (item.StartsWith("BotE1")) { if (item.Remove(0, 5).StartsWith("1")) { boilTank.HeatingElement.On = true; BoilTank.indicatorHeatingElementOn.Fill = myRedBrush; _prosessData.BoilTank.Element1_On = true; } else { boilTank.HeatingElement.On = false; BoilTank.indicatorHeatingElementOn.Fill = myGrayBrush; _prosessData.BoilTank.Element1_On = false; } } else if (item.StartsWith("BotE2")) { if (item.Remove(0, 5).StartsWith("1")) { _prosessData.BoilTank.Element2_On = true; } else { _prosessData.BoilTank.Element2_On = false; } } else if (item.StartsWith("BotCp")) { if (item.Remove(0, 5).StartsWith("1")) { boilTank.CirculationPump.On = true; BoilTank.indicatorCirculationPumpOn.Fill = myRedBrush; } else { boilTank.CirculationPump.On = false; BoilTank.indicatorCirculationPumpOn.Fill = myGrayBrush; } } else if (item.StartsWith("BotTp")) { if (item.Remove(0, 5).StartsWith("1")) { boilTank.TransferPump.On = true; BoilTank.indicatorTransferPumpOn.Fill = myRedBrush; _prosessData.BoilTank.Pump.Running = true; } else { boilTank.TransferPump.On = false; BoilTank.indicatorTransferPumpOn.Fill = myGrayBrush; _prosessData.BoilTank.Pump.Running = false; } } else if (item.StartsWith("BotVo")) { double value; value = double.Parse(item.Remove(0, 5), CultureInfo.InvariantCulture); boilTank.Volume.SensorValue = value; mainViewModel.BoilTankVolume = value; BoilTank.TxtTankVolume.Text = value.ToString(); _prosessData.BoilTank.CurrentVolume = value; } else if (item.StartsWith("BoCoT")) { var value = double.Parse(item.Remove(0, 5), CultureInfo.InvariantCulture); boilTank.HeatingElementReturTemperature.SensorValue = value; mainViewModel.BoilTankRetureCoolingElementTemperature = value; _prosessData.BoilTank.TemperatureAfterCooler = value; } else if (item.StartsWith("ConSe")) { var ConSe = Regex.Split(item, ":"); } else if (item.StartsWith("TotEn")) { double value; value = double.Parse(item.Remove(0, 5), CultureInfo.InvariantCulture); value = value / 1000; //Konverting to KW value = value / 3600; //Konverting to KW/h mainViewModel.TotaleUsedEnergy = value; } } var mes = new MessengerInstanceWrappr(_prosessData); mes.Cleanup(); try { if (plotValues.Count == 5) { mainViewModel.UpdateModel(plotValues); Plot.InvalidatePlot(); } } catch (Exception e) { String message = "Error in updating chart: " + e.ToString(); MessageBox.Show(message); } } catch (Exception ex) { textBoxError.Text = ex.ToString(); } }