private void UartDataeceivedCallback(object sender, SerialDataReceivedEventArgs e) { Console.WriteLine("data"); byte[] buffer = new byte[uartMngObj.serialPort.BytesToRead]; uartMngObj.serialPort.Read(buffer, 0, buffer.Length); List <byte> msg = new List <byte>(buffer); int parseIndex = 0; while (parseIndex < msg.Count) { if (BpsParseGeneral(msg, ref parseIndex)) { BaseBPSPacket baseBPSPacketRecv = BpsParse(); if (null != baseBPSPacketRecv && null != bpsRecvHandler) { bpsRecvHandler(baseBPSPacketRecv); } } } if (null != bpsRecvDebugHandler) { IReadonlyMsgList msgList = new WritableMsgList(msg); bpsRecvDebugHandler(msgList); } }
private void UartDataReceiedCallback(BaseBPSPacket baseBPSPacket) { try { switch (baseBPSPacket.ResponseCmd) { case BPSPacketCommTest.RESPONSE_CMD: { BPSPacketCommTest p = baseBPSPacket as BPSPacketCommTest; UIDoBPSPacket(p); break; } case BPSPacketDevInfo.RESPONSE_CMD: { BPSPacketDevInfo p = baseBPSPacket as BPSPacketDevInfo; UIDoBPSPacket(p); break; } } } catch (Exception e) { } }
private void UartDataReceivedHandler(BaseBPSPacket baseBPSPacket) { DelRecvBPSPacket del = new DelRecvBPSPacket(UartDataReceiedCallback); object[] args = new object[1]; args[0] = baseBPSPacket; BeginInvoke(del, args); }
public bool SendBPSPacketReq(BaseBPSPacket baseBPSPacket) { bool ret = false; try { if (baseBPSPacket != null && uartMngObj.IsOpen()) { baseBPSPacket.RequestAssemble(); ret = uartMngObj.write(baseBPSPacket.MsgBuffer()); IReadonlyMsgList msgList = new WritableMsgList(new List <byte>(baseBPSPacket.MsgBuffer())); bpsSendDebugHandler(msgList); } } catch (Exception e) { ret = false; } return(ret); }
public void BPSRecvIdleHandler(BaseBPSPacket baseBPSPacket) { /** do nothing */ }
private BaseBPSPacket BpsParse() { BaseBPSPacket ret = null; try { switch (RecvBuffer[BpsUtils.DATA_INDEX]) { case BPSPacketCommTest.RESPONSE_CMD: { ret = new BPSPacketCommTest(); ret.ResponseParse(ref RecvBuffer); break; } case BPSPacketBaudrate.RESPONSE_CMD: { ret = new BPSPacketBaudrate(); ret.ResponseParse(ref RecvBuffer); break; } case BPSPacketReset.RESPONSE_CMD: { ret = new BPSPacketReset(); ret.ResponseParse(ref RecvBuffer); break; } case BPSPacketRestoreFac.RESPONSE_CMD: { ret = new BPSPacketRestoreFac(); ret.ResponseParse(ref RecvBuffer); break; } case BPSPacketAddrSet.RESPONSE_CMD: { ret = new BPSPacketAddrSet(); ret.ResponseParse(ref RecvBuffer); break; } /** System Parameter Commands */ case BPSPacketSysPara.RESPONSE_CMD: { ret = BPSPacketSysPara.CreateObj(ref RecvBuffer); if (null != ret) { ret.ResponseParse(ref RecvBuffer); } break; } } } catch (Exception e) { ret = null; } BpsHeaderClear(); return(ret); }