/// <summary> /// 串口发送消息函数 /// </summary> /// <param name="ct"></param> public void SendMessage(CommunicationProtocol.CMDTYPE ct) { CommunicationProtocol.ProtocolMessage sMsg = new CommunicationProtocol.ProtocolMessage(ct); if (controlPort.IsOpen) { controlPort.Write(sMsg.MsgFrame, 0, sMsg.MsgTotalLength); controlPort.BaseStream.Flush(); } }
/// <summary> /// Get messages from the serial port /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ProcessControllerMessage(object sender, PlatformController.MsgEventArgs e) { CommunicationProtocol.CMDTYPE ct = e.msg.cmdType; string txt = "Recieved " + Enum.GetName(typeof(CommunicationProtocol.CMDTYPE), ct) + " message, payload: "; if (ct == CommunicationProtocol.CMDTYPE.DebugMessage) { for (int i = 0; i < e.msg.len; i++) { txt += (char)e.msg.payload[i]; } } else { txt += TextBoxMethod.ByteArrayToString(e.msg.payload, 0, e.msg.len); } #if true switch (ct) { case CommunicationProtocol.CMDTYPE.DetectCustomerIn: { pcontroller.SendMessage(CommunicationProtocol.CMDTYPE.DetectCustomerInRespond); break; } case CommunicationProtocol.CMDTYPE.OpenDoorCmdRespond: { break; } case CommunicationProtocol.CMDTYPE.DetectCustomerOut: { pcontroller.SendMessage(CommunicationProtocol.CMDTYPE.DetectCustomerOutRespond); break; } case CommunicationProtocol.CMDTYPE.DebugMessage: { break; } case CommunicationProtocol.CMDTYPE.EmgMsg: { break; } case CommunicationProtocol.CMDTYPE.ErrorMsg: { break; } } #endif SetDataText(richTextBox1, txt); }
private void GetEncoderMessage(object sender, PlatformController.MsgEventArgs e) { CommunicationProtocol.CMDTYPE ct = e.msg.cmdType; string txt = "Recieved " + Enum.GetName(typeof(CommunicationProtocol.CMDTYPE), ct) + " message, payload: "; switch (ct) { case CommunicationProtocol.CMDTYPE.EncoderUpdate: { int val = BitConverter.ToInt32(e.msg.payload, 0); SetDataText(richTextBox2, val.ToString()); break; } } }