Beispiel #1
0
        private void OnKickDeviceChanged(KickDeviceInfo device)
        {
            BeginInvoke(new Action(() =>
              {
            var index = cboDevices.SelectedIndex;
            cboDevices.DataSource = AllDevices.ToArray();
            cboDevices.SelectedIndex = index;

            if (ActiveDevice == device)
              UpdateUI();
              }));
        }
Beispiel #2
0
 private void OnNewKickDevice(KickDeviceInfo device)
 {
     BeginInvoke(new Action(() =>
       {
     var devices = AllDevices.ToArray();
     cboDevices.DataSource = devices;
     cboDevices.SelectedIndex = devices.Count() - 1;
       }));
 }
Beispiel #3
0
 private void ProcessUdpPacket(KickDeviceInfo device, UdpPacket request)
 {
     switch (request.Command)
       {
     case 0x01:
       var response = new UdpPacket(Address.All, 0x83, null);
       RegisterUdpPacketToSend(response);
       break;
     case 0x06:
       device.EV = request.Data[0];
       if (OnKickDeviceChanged != null) OnKickDeviceChanged(device);
       break;
     case 0x81:
       var rgbBytes = request.Data.Take(3).ToArray();
       var nameBytes = request.Data.Skip(3).TakeWhile(b => b > 0x0).ToArray();
       device.Name = Encoding.ASCII.GetString(nameBytes);
       device.Color = new RGBColor(rgbBytes[0], rgbBytes[1], rgbBytes[2]);
       if (OnKickDeviceChanged != null) OnKickDeviceChanged(device);
       break;
     case 0x83:
       device.EmitterTemperature = Convert.ToSByte(request.Data[0]);
       device.Power = request.Data[1];
       if (OnKickDeviceChanged != null) OnKickDeviceChanged(device);
       break;
     case 0x87:
       device.FirmwareVersion = new Version(request.Data[0], request.Data[1]);
       device.HardwareVersion = new Version(request.Data[2], request.Data[3]);
       device.SerialNumber = request.Data.Skip(4).Take(4).ToHexString()
     + "-" + request.Data.Skip(8).Take(4).ToHexString()
     + "-" + request.Data.Skip(12).Take(4).ToHexString()
     + "-" + request.Data.Skip(16).Take(4).ToHexString();
       if (OnKickDeviceChanged != null) OnKickDeviceChanged(device);
       break;
     case 0x89:
       device.EmitterTemperature = Convert.ToSByte(request.Data[0]);
       if (OnKickDeviceChanged != null) OnKickDeviceChanged(device);
       break;
     case 0x90:
       device.Power = request.Data[0];
       if (OnKickDeviceChanged != null) OnKickDeviceChanged(device);
       break;
     case 0x91:
       device.EV = request.Data[0];
       device.Color = new RGBColor(request.Data[9], request.Data[10], request.Data[11]);
       device.FirmwareVersion = new Version(request.Data[12], request.Data[13]);
       device.HardwareVersion = new Version(request.Data[14], request.Data[15]);
       device.Name = Encoding.ASCII.GetString(request.Data.Skip(16).TakeWhile(b => b > 0x0).ToArray());
       if (OnKickDeviceChanged != null) OnKickDeviceChanged(device);
       break;
     default:
       break;
       }
 }