コード例 #1
0
        public void push_byte(byte data)
        {
            if (state_machine(data) == 1)
            {

                //Task.Run(()=> {
                    PacketEventArgs e = new PacketEventArgs();
                    e.packet = packet;
                    e.packet_config = packet_config;
                    e.payload = payload;
                    PacketReceived(this, e);
                //});
                packet.Clear();
                payload.Clear();
            }
        }
コード例 #2
0
ファイル: msg_ctrl.cs プロジェクト: MChehadeh/userTerminal
 public void OnPacketReceived(Serial_parser sender,PacketEventArgs e){
     Serial_parser.msg_type_tx received_msg_type = (Serial_parser.msg_type_tx)e.packet[e.packet_config.padding_len + 1];
     if (received_msg_type != Serial_parser.msg_type_tx.probe)//Probe fills output windows
     {
         Debug.WriteLine(string.Format("MSG CTRL OnPacketReceived {0} at {1}", received_msg_type.ToString(), DateTime.Now.ToLongTimeString()));
     }
     switch (received_msg_type)
     {
         case Serial_parser.msg_type_tx.heart_beat:
             if (HeartBeatReceived != null)
             {
                 HeartBeatReceived(this, new EventArgs());
             }
             break;
         case Serial_parser.msg_type_tx.settings_tx:
             //serial_driver.main_form.settings.push_setting_data(packet); //TODO
             throw new NotImplementedException();
             break;
         case Serial_parser.msg_type_tx.probe:
             ProbeReceivedEventArgs eProbe=new ProbeReceivedEventArgs();
             eProbe.payload=e.payload;
             if (ProbeReceived != null)
             {
                 ProbeReceived(eProbe);
             }
             else
             {
                 Debug.WriteLine(string.Format("Unhandeled {0} at {1}", received_msg_type.ToString(), DateTime.Now.ToLongTimeString()));
             }
             break;
         case Serial_parser.msg_type_tx.msg_tx:
             throw new NotImplementedException();
             //TODO
             break;
         case Serial_parser.msg_type_tx.acknowledgement:
             switch ((ACK_type)e.payload[0])
             {
                 case ACK_type.AckCommand:
                     if (AckCommandReceived != null)
                     {
                         AckReceivedEventArgs eAck = new AckReceivedEventArgs();
                         eAck.ID = e.payload[1];
                         AckCommandReceived(this,eAck);
                     }
                     else
                     {
                         Debug.WriteLine(string.Format("Unhandeled {0} at {1}", received_msg_type.ToString(), DateTime.Now.ToLongTimeString()));
                     }
                     break;
                 case ACK_type.AckSettingUpdate:
                     if (AckSettingUpdateReceived!=null)
                     {
                         AckReceivedEventArgs eAck = new AckReceivedEventArgs();
                         eAck.ID = e.payload[1];
                         AckSettingUpdateReceived(this,eAck);
                     }
                     else
                     {
                         Debug.WriteLine(string.Format("Unhandeled {0} at {1}", received_msg_type.ToString(), DateTime.Now.ToLongTimeString()));
                     }
                     break;
                 default:
                     throw new NotImplementedException();
                     break;
             }
             break;
         case Serial_parser.msg_type_tx.dbg_txt:
             DebugTextReceivedEventArgs eDebugText = new DebugTextReceivedEventArgs();
             eDebugText.DebugText=System.Text.Encoding.Default.GetString(e.payload.ToArray());
             if (DebugTextReceived != null)
             {
                 DebugTextReceived(eDebugText);
             }
             else
             {
                 Debug.WriteLine(string.Format("Unhandeled {0} at {1}", received_msg_type.ToString(), DateTime.Now.ToLongTimeString()));
             }
             break;
         case Serial_parser.msg_type_tx.chnl_bias:
             BiasReceivedEventArgs eBias = new BiasReceivedEventArgs();
             eBias.Bias = BitConverter.ToSingle(e.payload.ToArray(), 0);
             eBias.CtrlChnl = (commander.ctrl_channel)BitConverter.ToSingle(e.payload.ToArray(), 4);
             BiasReceived(this,eBias);
             break;
         case Serial_parser.msg_type_tx.mrft_bag:
             MRFTBagReceivedEventArgs eMRFTBag = new MRFTBagReceivedEventArgs();
             eMRFTBag.Amplitude = BitConverter.ToSingle(e.payload.ToArray(), 0);
             eMRFTBag.Duration = BitConverter.ToUInt32(e.payload.ToArray(), 4);
             if (MRFTBagReceived != null)
             {
                 MRFTBagReceived(eMRFTBag);
             }
             else
             {
                 Debug.WriteLine(string.Format("Unhandeled {0} at {1}", received_msg_type.ToString(), DateTime.Now.ToLongTimeString()));
             }
             break;
         default:
             throw new NotImplementedException();
             break;
     }
 }