public bool SetLed(Bluetooth.Colors color)
        {
            //set the LED's values into the write buffer
            writeBuffer[2] = (byte)((int)color >> 16);
            writeBuffer[3] = (byte)((int)color >> 8);
            writeBuffer[4] = (byte)(color);

            try
            {
                //Transfer the bytes to the controller
                writePipe.TransferData(writeBuffer, 0, writeBuffer.Length);
            }
            catch (Exception)
            {
                return false;
            }
            return true;
        }
        static void DeviceConnectedEvent(USBH_Device device)
        {
            //Check if device is a PS3 Controller
            if (device.VENDOR_ID != PS3Controller.PS3_VENDOR_ID || device.PRODUCT_ID != PS3Controller.PS3_PRODUCT_ID)
            {
                if (device.TYPE == USBH_DeviceType.Hub)
                    WriteSerial("Hub Connected");
                else if (device.PRODUCT_ID == Bluetooth.CSR_PRODUCT_ID && device.VENDOR_ID == Bluetooth.CSR_VENDOR_ID)//Check if it is the bluetooth dongle
                {
                    WriteSerial("Bluetooth Dongle Connected");
                    BT = new Bluetooth(device);
                }
                else if (device.VENDOR_ID == PS3Move.PS3MOVE_VENDOR_ID && device.PRODUCT_ID == PS3Move.PS3MOVE_PRODUCT_ID)
                {
                    WriteSerial("PS3 Move Controller Connected");
                    Move = new PS3Move(device);
                }
                else if (device.VENDOR_ID == PS3Navigation.PS3NAVIGATION_VENDOR_ID && device.PRODUCT_ID == PS3Navigation.PS3NAVIGATION_PRODUCT_ID)
                {
                    WriteSerial("PS3 Navigation Controller Connected");
                    Navigation = new PS3Navigation(device);
                }
                else
                    WriteSerial("Unknown Device Connected");
                return;
            }
            if (PS3Connected == PS3Max)//Check if the maximum number of controller is exceeded
            {
                WriteSerial(PS3Max + " Controllers are already connected");
                return;
            }

            PS3[PS3Connected] = new PS3Controller(device);//Connect the PS3 Controller
            PS3Device[PS3Connected] = device;//Store the device see "DeviceDisconnectedEvent"
            PS3SetLED(PS3Connected);//Set the specific LED on
            runThread[PS3Connected] = true;//Start the loop
            WriteSerial("PS3 Controller: " + (PS3Connected + 1) + " - Connected");

            PS3Connected++;
        }