コード例 #1
0
ファイル: manage.cs プロジェクト: zeitoonco/EectronicLab
 //********************************************************************************************************************
 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;
     }
 }
コード例 #2
0
ファイル: manage.cs プロジェクト: zeitoonco/EectronicLab
 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;
 }