private void recvDataDecode(byte[] data) { try { TransmitFormat_t recvData = (TransmitFormat_t)BytesToStruct(data, typeof(TransmitFormat_t)); //if (recvData.head != TRANSMIT_HEAD) return; switch (recvData.code) { case CONNECT_RESOPNCE_CODE: { msgRetransmit = null; heartBeatCnt = 0; printMessage("连接成功!\r\n", "green"); button1.Text = "断开连接"; label4.Text = "已连接"; heartBeat.Start(); Constate = CONNECTED; break; } case READ_CONFIG_RESPONCE_CODE: { msgRetransmit = null; heartBeatCnt = 0; ConfigFormat_t configData = (ConfigFormat_t)BytesToStruct(recvData.data, typeof(ConfigFormat_t)); comboBox1.Text = configData.channel.ToString(); comboBox3.Text = configData.power.ToString(); comboBox2.Text = configData.speed.ToString(); printMessage("配置读取成功!\r\n", "green"); break; } case WRITE_CONFIG_RESPONCE_CODE: { msgRetransmit = null; heartBeatCnt = 0; printMessage("配置写入成功!\r\n", "green"); break; } case HEART_BEAT_RESPONCE: heartBeatCnt = 0; break; case TRANS_DATA_CODE: { heartBeatCnt = 0; break; } default: //printMessage(System.Text.Encoding.Default.GetString(data) + "\r\n", "olive"); printMessage(BitConverter.ToString(data, 0).Replace(" ", string.Empty).ToLower() + "\r\n", "olive"); break; } } catch { printMessage(BitConverter.ToString(data, 0).Replace(" ", string.Empty).ToLower() + "\r\n", "olive"); } }
private void writeConfigRequest( ) { try { TransmitFormat_t connectdata = new TransmitFormat_t(); ConfigFormat_t configData = new ConfigFormat_t(); configData.channel = int.Parse(comboBox1.Text); configData.power = int.Parse(comboBox3.Text); configData.speed = int.Parse(comboBox2.Text); connectdata.head = TRANSMIT_HEAD; connectdata.code = WRITE_CONFIG_REQUEST_CODE; connectdata.datalen = Marshal.SizeOf(configData); connectdata.data = StructToBytes(configData); transmitSendData(StructToBytes(connectdata), Marshal.SizeOf(connectdata)); msgRetransmit = new delegateCall(writeConfigRequest); retransmit.Start(); } catch { MessageBox.Show("配置填写错误,请检查!"); } }