예제 #1
0
 public LaserProtocolFactory()
 {
     InitializeDecoders();
     TxQueue       = new LaserTxQueue();
     RxQueue       = new LaserRxQueue();
     RxMsgQueue    = new LaserRxMsgQueue();
     TxMsgQueue    = new LaserTxMsgQueue();
     LaserProtocol = new LaserProtocol();
 }
예제 #2
0
        public LaserProtocol DePackage(byte[] data)
        {
            LaserProtocol lp = new LaserProtocol();

            if (data == null)
            {
                //LogHelper.GetLogger<LaserProtocol>().Error("通信层接收到数据包为空或者数据长度不足,丢弃。");
                return(null);
            }
            if (data[0] != deMarkHead)
            {
                //LogHelper.GetLogger<LaserProtocol>().Error("通信层接收到数据包不是本应用需要接受的数据包,丢弃。");
                return(null);
            }
            lp.Body = new byte[data.Length - 1];
            Array.Copy(data, 1, lp.Body, 0, data.Length - 1);
            return(lp);
        }