Example #1
0
        internal virtual void SendCommand(byte[] data)
        {
            var setupPacket = new UsbSetupPacket((byte)UsbRequestType.TypeClass | (byte)UsbRequestRecipient.RecipInterface, 0, 0, 0, (short)data.Length);
            int lengthTransferred;

            if (!usbDevice.ControlTransfer(ref setupPacket, data, data.Length, out lengthTransferred))
            {
                throw new WinBeaconException("USB ControlTransfer failed");
            }
            if (lengthTransferred != data.Length)
            {
                throw new WinBeaconException("USB ControlTransfer didn't send all bytes. Sent {0} out of {1} bytes.", lengthTransferred, data.Length);
            }
        }