public BlueBoxMessage(SLIPMessage message_object) { /* Message type*/ MessageSLIPObject = message_object; /* Message timestamp */ MessageTimeStamp = DateTime.Now; MessageTimeStampString = MessageTimeStamp.ToString("hh:mm:ss.fff"); /* Bluebox Message decoding */ decodeSLIPMessage(); }
/// <summary> /// /// </summary> /// <param name="data"></param> public void SnifferPortIncomingData(byte[] data) { int pending_bytes = data.Length; int array_position = 0; try { while (pending_bytes > 0) { pending_bytes = SLIPDecoderObject.processIncomingMessage(data, array_position, pending_bytes); /* check if message has been decoded and if there is a AVCLAN message handler */ if ((SLIPDecoderObject.IsDecodeComplete) && (null != SendAVCLANMessageHandler)) { SLIPMessage slip = SLIPDecoderObject.getSlipMessage(); if ((slip.RawMessage[6] == 0x11) && (slip.RawMessage[7] == 0x01) && (slip.RawMessage[8] == 0x45)) { switch (ExtendedPIDSView.Source) { case 0xC6: slip = HFToneSlip; break; case 0x6D: slip = HFTalkSlip; break; default: break; } } MessageContainer msg = new MessageContainer(slip, MessageType.TX_TO_DEVICE_FROM_SNIFFER); /* Enqueue message into AVCLAN handler */ SendAVCLANMessageHandler(msg); } if (pending_bytes > 0) { array_position = data.Length - pending_bytes; } } } catch (Exception ex) { Console.WriteLine("SnifferPortIncomingData error:" + ex.ToString()); } }
public MessageContainer(SLIPMessage Message, MessageType MessageDirection) { this.Message = Message; this.MessageDirection = MessageDirection; }