Ejemplo n.º 1
0
 void parseIndata(object sender, Rs232InterfaceEventArgs e)
 {
     if (sender is Rs232Interface)//RayonM3 Parser
     {
         ParseInputData(e.ParseLength, e.InputChank);
     }//Add Here aditional parsers...
 }
Ejemplo n.º 2
0
        //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...
        }
Ejemplo n.º 3
0
        //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...
        }
Ejemplo n.º 4
0
        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();
                    }
                }
            }
        }
Ejemplo n.º 5
0
 private void SincronizationPos(object sender, Rs232InterfaceEventArgs e)
 {
     leftPanelViewModel.ConnectButtonContent = e.ConnecteButtonLabel;
     leftPanelViewModel.ComToolTipText       = "Allready Connected";
 }
Ejemplo n.º 6
0
        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();
                    }
                }
            }
        }