void parseIndata(object sender, Rs232InterfaceEventArgs e) { if (sender is Rs232Interface)//RayonM3 Parser { ParseInputData(e.ParseLength, e.InputChank); }//Add Here aditional parsers... }
//TODO here will switch between parsers depends on sender object #if DEBUG_OPERATION //int CurrentCmdCounterTx = 0; #endif public void parseOutdata(object sender, Rs232InterfaceEventArgs e) { #if DEBUG_OPERATION if (e.PacketRx.ID == DebugOutput.GetInstance.ID && e.PacketRx.SubID == DebugOutput.GetInstance.subID && e.PacketRx.IsSet == true) { CurrentCmdCounterTx++; Debug.WriteLine("CurrentCmdCounterTx: " + CurrentCmdCounterTx + " Value: " + e.PacketRx.Data2Send); } #endif if (sender is Rs232Interface)//RayonM3 Parser { ParseOutputData(e.PacketRx.Data2Send, e.PacketRx.ID, e.PacketRx.SubID, e.PacketRx.IsSet, e.PacketRx.IsFloat); #if DEBUG_OPERATION //Debug.WriteLine("{0} {1}[{2}]={3} {4}.", e.PacketRx.IsSet ? "Set" : "Get", e.PacketRx.ID, e.PacketRx.SubID, e.PacketRx.Data2Send, e.PacketRx.IsFloat ? "F" : "I"); if (e.PacketRx.ID == DebugOutput.GetInstance.ID && e.PacketRx.SubID == DebugOutput.GetInstance.subID && e.PacketRx.IsSet == true) { //CurrentCmdCounterTx++; Debug.WriteLine(" Value sent: " + e.PacketRx.Data2Send); } #endif if (LeftPanelViewModel.GetInstance != null) { // perform Get after "set" function if (LeftPanelViewModel._app_running && !DebugViewModel.GetInstance.EnRefresh && e.PacketRx.IsSet != false) { Thread.Sleep(1); if (e.PacketRx.ID != 63 && e.PacketRx.ID != 67) { ParseOutputData(/*e.PacketRx.Data2Send*/ "", e.PacketRx.ID, e.PacketRx.SubID, false, e.PacketRx.IsFloat); } } } }//Add Here aditional parsers... }
//TODO here will switch between parsers depends on sender object void parseOutdata(object sender, Rs232InterfaceEventArgs e) { if (sender is Rs232Interface)//RayonM3 Parser { ParseOutputData(e.PacketRx.Data2Send, e.PacketRx.ID, e.PacketRx.SubID, e.PacketRx.IsSet, e.PacketRx.IsFloat); //Debug.WriteLine("{0} {1}[{2}]={3} {4}.", e.PacketRx.IsSet ? "Set" : "Get", e.PacketRx.ID, e.PacketRx.SubID, e.PacketRx.Data2Send, e.PacketRx.IsFloat ? "F" : "I"); if (LeftPanelViewModel.GetInstance != null) { // perform Get after "set" function if (LeftPanelViewModel.flag == true && DebugViewModel.GetInstance.EnRefresh == false && e.PacketRx.IsSet != false) { if (e.PacketRx.ID != 63 && e.PacketRx.ID != 67) { ParseOutputData(e.PacketRx.Data2Send, e.PacketRx.ID, e.PacketRx.SubID, false, e.PacketRx.IsFloat); } } } }//Add Here aditional parsers... }
public void MakePacketsBuff(object sender, Rs232InterfaceEventArgs e) { if (sender is Rs232Interface) //RayonM3 Parser { if (Rs232Interface.GetInstance.IsSynced) //Already Synchronized { if (e.DataChunk.Length == 0) { return; } length = e.DataChunk.Length; data = e.DataChunk; //Parallel.For(0, length, i => //{ // FiilsPlotPackets(data[i]); //Plot packets // FiilsStandartPackets(data[i]);//Standart Packets // FiilsStandartPacketsNew(data[i]);//Standart Pavkets New Updeted // i++; //}); for (int i = 0; i < length; i++) { FiilsPlotPackets(data[i]); //Plot packets FiilsStandartPackets(data[i]); //Standart Packets FiilsStandartPacketsNew(data[i]); //Standart Pavkets New Updeted } if (PlotPacketsList.Count > 0) { ParserRayonM1.GetInstanceofParser.ParsePlot(PlotPacketsList); //PlotPacketsList.Clear(); } //send to plot parser if (StandartPacketsListNew.Count > 0) { //ParserRayonM1.GetInstanceofParser.ParseStandartData(StandartPacketsListNew); //foreach(var packet in StandartPacketsListNew) //ParserRayonM1.GetInstanceofParser.ParseInputPacket(packet); StandartPacketsListNew.Clear(); // Joseph add } //send to Standart parser } else { if (e.DataChunk.Length == 0) { return; } PlotPacketsList.Clear(); StandartPacketsListNew.Clear(); length = e.DataChunk.Length; data = e.DataChunk; for (int i = 0; i < length; i++) { AproveSynchronization(data[i]); //Plot packets } if (StandartPacketsListNew.Count > 0) { ParserRayonM1.GetInstanceofParser.ParseSynchAcktData(StandartPacketsListNew); StandartPacketsListNew.Clear(); } } } }
private void SincronizationPos(object sender, Rs232InterfaceEventArgs e) { leftPanelViewModel.ConnectButtonContent = e.ConnecteButtonLabel; leftPanelViewModel.ComToolTipText = "Allready Connected"; }
public void MakePacketsBuff(object sender, Rs232InterfaceEventArgs e) { if (e.DataChunk[0] == 65 && e.DataChunk.Length < 2 && LeftPanelViewModel.GetInstance.ConnectTextBoxContent == "Not Connected") { EventRiser.Instance.RiseEevent(string.Format($"Unit is at loader mode")); EventRiser.Instance.RiseEevent(string.Format($"Ready for FW update")); SerialProgrammer.GetInstance.is_in_boot_mode = true; Rs232Interface.GetInstance.AutoBaudEcho -= Rs232Interface.GetInstance.SendDataHendler; return; } else if (sender is Rs232Interface) //RayonM3 Parser { if (Rs232Interface.GetInstance.IsSynced || DebugViewModel.GetInstance._forceConnectMode) //Already Synchronized { if (e.DataChunk.Length == 0) { return; } length = e.DataChunk.Length; data = e.DataChunk; for (int i = 0; i < length; i++) { FiilsPlotPackets(data[i]); //Plot packets FiilsPlotBodePackets(data[i]); //Plot packets FiilsStandartPacketsNew(data[i]); //Standart Packets New Updeted } if (PlotPacketsList.Count > 0) { ParserRayonM1.GetInstanceofParser.ParsePlot(PlotPacketsList); } //send to plot parser if (PlotBodePacketsList.Count > 0) { BodeViewModel.GetInstance.ParseBodePlot(PlotBodePacketsList); PlotBodePacketsList.Clear(); } if (StandartPacketsListNew.Count > 0) { StandartPacketsListNew.Clear(); // Joseph add } //send to Standart parser } else { if (e.DataChunk.Length == 0) { return; } PlotPacketsList.Clear(); StandartPacketsListNew.Clear(); length = e.DataChunk.Length; data = e.DataChunk; #if DEBUG_DATA StringBuilder hex = new StringBuilder(length * 2); foreach (byte b in data) { hex.AppendFormat("{0:X2} ", b); } Debug.WriteLine(hex.ToString()); #endif for (int i = 0; i < length; i++) { AproveSynchronization(data[i]); //Plot packets } if (StandartPacketsListNew.Count > 0) { ParserRayonM1.GetInstanceofParser.ParseSynchAcktData(StandartPacketsListNew); StandartPacketsListNew.Clear(); } } } }