//******************************************************************************************************************** void comm_packetReceivedEvnt(Packet p) { device d = null; switch (p.OperationCode) { case 0xF://readRemarkResp log(p, "RRemarkResp received. " + (new PCReadDeviceRemarksResponse(p.Content)).ToString()); bool exit = false; foreach (device dvc in devices) if (dvc.id == p.OriginalDeviceID && dvc.net == p.OriginalSubnetID) exit = true; if (!exit) { d = new device() { id = p.OriginalDeviceID, net = p.OriginalSubnetID, deviceType = p.OriginalDeviceType }; d.remarks = p.Content; devices.Add(d); ReloadDevices(); System.Threading.Thread.Sleep(200); comm.SendPacket(CreatePacket(p.OriginalSubnetID, p.OriginalDeviceID, 0xF003));//mac //comm.SendPacket(CreatePacket(p.OriginalSubnetID, p.OriginalDeviceID, 0xABC0));//deviceInfo } break; case 0xF004: PCMACAddress mac = new PCMACAddress(p.Content); log(p, "MAC received. " + mac.ToString()); d = getDevice(p); if (d != null) { d.mac = p.Content; if (selDevice == d) txtMac1.Text = Util.ByteA2Text(d.mac); } break; case 0xABC1: PCInfo info = new PCInfo(p.Content); log(p, "Info received. " + info.ToString()); d = getDevice(p); if (d != null) { d.info = info; d.keys = new PCKeyConfig[info.GetByte(6)]; if (selDevice == d) { lblRCP.Visible = true; txtInputCount.Text = selDevice.info.GetByte(6).ToString(); txtOutputCount.Text = selDevice.info.GetByte(7).ToString(); txtLocked.Text = selDevice.info.GetByte(8).ToString(); txtSWVersion.Text = selDevice.info.GetWord(4).ToString(); txtHWVersion.Text = selDevice.info.GetWord(2).ToString(); } } break; case 0xABC3: PCMixConfig cfg = new PCMixConfig(p.Content); log(p, "MixConfig received. " + cfg.ToString()); d = getDevice(p); if (d != null) { if (selDevice == d) { MixChkLock.Checked = cfg._data[0] != 0; MixChkCurtainMode.Checked = cfg._data[1] != 0; } } break; case 0xABC7: PCKeyConfig k = new PCKeyConfig(p.Content); selDevice.keys[p.Content[0]] = k; break; case 0xF002: log(p, "Set MAC result: " + (p.Content[0] == PacketContentBase.ValueSuccess ? "Success" : "Failed")); break; case 0xF006: log(p, "Set ID result: " + (p.Content[0] == PacketContentBase.ValueSuccess ? "Success" : "Failed")); break; case 0xABC5: log(p, "Set Mix Config result: " + (p.Content[0] == PacketContentBase.ValueSuccess ? "Success" : "Failed")); break; case 0xABC9: log(p, "Set KeyConfig result: " + (p.Content[0] == PacketContentBase.ValueSuccess ? "Success" : "Failed")); break; } }
private void lstDevices_SelectedIndexChanged(object sender, EventArgs e) { if (lstDevices.SelectedItems.Count == 0) return; tabControl1.SelectedIndex = 0; selDevice = devices[lstDevices.SelectedIndices[0]]; txtDeviceType.Text = selDevice.deviceType.ToString(); txtDeviceID.Text = selDevice.id.ToString(); txtSubNetID.Text = selDevice.net.ToString(); txtRemarks.Text = Util.ByteA2Text(selDevice.remarks); txtMac1.Text = Util.ByteA2Text(selDevice.mac); if (selDevice.info != null) { lblRCP.Visible = true; txtInputCount.Text = selDevice.info.GetByte(6).ToString(); txtOutputCount.Text = selDevice.info.GetByte(7).ToString(); txtLocked.Text = selDevice.info.GetByte(8).ToString(); txtSWVersion.Text = selDevice.info.GetWord(4).ToString(); txtHWVersion.Text = selDevice.info.GetWord(2).ToString(); } else lblRCP.Visible = false; }