Fix when no specific descriptors are set

This commit is contained in:
Nico 2015-01-11 12:08:01 +01:00
parent 1d64d2e5e4
commit 830e5871e5
3 changed files with 10 additions and 16 deletions

View file

@ -131,16 +131,17 @@ Install HoodLoader2 and flash the hex file. If it works please leave me some inf
Troubleshoot
============
Switching the HID-Core might confuse the OS since the USB device changes completely from one second to the other.
**Switching the HID-Core** might confuse the OS since the USB device changes completely from one second to the other.
Therefore go to Printers and Devices on Windows and select remove. Reconnect your Arduino and maybe remove it again if its not working properly.
Alternatively you can also restart your PC or use another USB PID (in the boards.txt) to see if its a Windows problem or not.
If you change the USB PID the CDC Driver wont be loaded but you can always reupload a sketch in bootloader mode.
![remove usb device](pictures/remove-device.png)
Gamepads had several problems over the time. The first thing I'd like to mention is that the calibration windows only updates if you focus it.
**Gamepads** had several problems over the time. The first thing I'd like to mention is that the calibration windows only updates if you focus it.
Windows only supports gamepads with up to 7 axis and 32 buttons and has problems with more than one Gamepad in a multireport.
Linux has problems when gamepads are in multi reports with a system device for example. It may occur that it display immense axis/buttons or none at all.
The current gamepad setting was tested under windows and ubuntu and seems to work. Feel free to extend the gamepad report at your own risk.
![gamepad](pictures/gamepad.png)
@ -193,7 +194,6 @@ update Burning via ISP (advanced)
Test with Android phone (HL1)
"Emulate" HL1 protocol
test no usb function with leonardo (usb workaround?)
test gamepad under linux, maybe remove keyboard?
remove dev HL2 link
```

View file

@ -28,6 +28,7 @@ leonardoExtended.bootloader.lock_bits=0x2F
leonardoExtended.build.mcu=atmega32u4
leonardoExtended.build.f_cpu=16000000L
leonardoExtended.build.core=HID:hid
leonardoExtended.build.vid=0x2341
leonardoExtended.build.pid=0x8036
leonardoExtended.build.usb_product="Arduino Leonardo"
@ -38,19 +39,14 @@ leonardoExtended.build.extra_flags={build.usb_flags}
#HID Project needs to be installed https://github.com/NicoHood/HID
leonardoExtended.menu.usbcore.hid=Serial + Extended HID
leonardoExtended.menu.usbcore.hid.build.variant=leonardo_hid
leonardoExtended.menu.usbcore.hid.build.core=HID:hid
leonardoExtended.menu.usbcore.gamepad=Serial + Gamepad HID
leonardoExtended.menu.usbcore.gamepad.build.variant=leonardo_gamepad
leonardoExtended.menu.usbcore.gamepad.build.core=HID:hid
leonardoExtended.menu.usbcore.custom=Serial + Custom HID
leonardoExtended.menu.usbcore.custom.build.variant=leonardo_custom
leonardoExtended.menu.usbcore.custom.build.core=HID:hid
leonardoExtended.menu.usbcore.USB_CORE=Default Core
leonardoExtended.menu.usbcore.USB_CORE.build.variant=arduino:leonardo
leonardoExtended.menu.usbcore.USB_CORE.build.core=arduino:arduino
leonardoExtended.menu.usbcore.USB_CORE.build.variant=leonardo
leonardoExtended.menu.usbcore.NO_USB=No USB functions
leonardoExtended.menu.usbcore.NO_USB.build.variant=leonardo_no_usb
leonardoExtended.menu.usbcore.NO_USB.build.core=HID:hid
##############################################################
@ -74,6 +70,7 @@ microExtended.bootloader.lock_bits=0x2F
microExtended.build.mcu=atmega32u4
microExtended.build.f_cpu=16000000L
microExtended.build.core=HID:hid
microExtended.build.vid=0x2341
microExtended.build.pid=0x8037
microExtended.build.usb_product="Arduino Micro"
@ -84,19 +81,14 @@ microExtended.build.extra_flags={build.usb_flags}
#HID Project needs to be installed https://github.com/NicoHood/HID
microExtended.menu.usbcore.hid=Serial + Extended HID
microExtended.menu.usbcore.hid.build.variant=micro_hid
microExtended.menu.usbcore.hid.build.core=HID:hid
microExtended.menu.usbcore.gamepad=Serial + Gamepad HID
microExtended.menu.usbcore.gamepad.build.variant=micro_gamepad
microExtended.menu.usbcore.gamepad.build.core=HID:hid
microExtended.menu.usbcore.custom=Serial + Custom HID
microExtended.menu.usbcore.custom.build.variant=micro_custom
microExtended.menu.usbcore.custom.build.core=HID:hid
microExtended.menu.usbcore.USB_CORE=Default Core
microExtended.menu.usbcore.USB_CORE.build.variant=arduino:micro
microExtended.menu.usbcore.USB_CORE.build.core=arduino:arduino
microExtended.menu.usbcore.USB_CORE.build.variant=micro
microExtended.menu.usbcore.NO_USB=No USB functions
microExtended.menu.usbcore.NO_USB.build.variant=micro_no_usb
microExtended.menu.usbcore.NO_USB.build.core=HID:hid
##############################################################

View file

@ -48,7 +48,9 @@ THE SOFTWARE.
// for the extern HID descriptors + settings
#include "pins_arduino.h"
#ifndef EXTERN_HID_REPORT
#if !defined(EXTERN_HID_REPORT) && !defined(HID_MOUSE_ENABLE) && !defined(HID_KEYBOARD_KEYS_ENABLE) \
&& !defined(HID_KEYBOARD_LEDS_ENABLE) && !defined(HID_MOUSE_ABSOLUTE_ENABLE) && !defined(HID_RAWHID_ENABLE) \
&& !defined(HID_CONSUMER_ENABLE) && !defined(HID_SYSTEM_ENABLE) && !defined(HID_GAMEPAD_ENABLE)
// by default enable mouse + keyboard api
#define HID_MOUSE_ENABLE
#define HID_KEYBOARD_KEYS_ENABLE