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 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. 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. 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. 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) ![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. 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. 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) ![gamepad](pictures/gamepad.png)
@ -193,7 +194,6 @@ update Burning via ISP (advanced)
Test with Android phone (HL1) Test with Android phone (HL1)
"Emulate" HL1 protocol "Emulate" HL1 protocol
test no usb function with leonardo (usb workaround?) test no usb function with leonardo (usb workaround?)
test gamepad under linux, maybe remove keyboard?
remove dev HL2 link remove dev HL2 link
``` ```

View file

@ -28,6 +28,7 @@ leonardoExtended.bootloader.lock_bits=0x2F
leonardoExtended.build.mcu=atmega32u4 leonardoExtended.build.mcu=atmega32u4
leonardoExtended.build.f_cpu=16000000L leonardoExtended.build.f_cpu=16000000L
leonardoExtended.build.core=HID:hid
leonardoExtended.build.vid=0x2341 leonardoExtended.build.vid=0x2341
leonardoExtended.build.pid=0x8036 leonardoExtended.build.pid=0x8036
leonardoExtended.build.usb_product="Arduino Leonardo" 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 #HID Project needs to be installed https://github.com/NicoHood/HID
leonardoExtended.menu.usbcore.hid=Serial + Extended HID leonardoExtended.menu.usbcore.hid=Serial + Extended HID
leonardoExtended.menu.usbcore.hid.build.variant=leonardo_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=Serial + Gamepad HID
leonardoExtended.menu.usbcore.gamepad.build.variant=leonardo_gamepad 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=Serial + Custom HID
leonardoExtended.menu.usbcore.custom.build.variant=leonardo_custom 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=Default Core
leonardoExtended.menu.usbcore.USB_CORE.build.variant=arduino:leonardo leonardoExtended.menu.usbcore.USB_CORE.build.variant=leonardo
leonardoExtended.menu.usbcore.USB_CORE.build.core=arduino:arduino
leonardoExtended.menu.usbcore.NO_USB=No USB functions leonardoExtended.menu.usbcore.NO_USB=No USB functions
leonardoExtended.menu.usbcore.NO_USB.build.variant=leonardo_no_usb 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.mcu=atmega32u4
microExtended.build.f_cpu=16000000L microExtended.build.f_cpu=16000000L
microExtended.build.core=HID:hid
microExtended.build.vid=0x2341 microExtended.build.vid=0x2341
microExtended.build.pid=0x8037 microExtended.build.pid=0x8037
microExtended.build.usb_product="Arduino Micro" 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 #HID Project needs to be installed https://github.com/NicoHood/HID
microExtended.menu.usbcore.hid=Serial + Extended HID microExtended.menu.usbcore.hid=Serial + Extended HID
microExtended.menu.usbcore.hid.build.variant=micro_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=Serial + Gamepad HID
microExtended.menu.usbcore.gamepad.build.variant=micro_gamepad 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=Serial + Custom HID
microExtended.menu.usbcore.custom.build.variant=micro_custom 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=Default Core
microExtended.menu.usbcore.USB_CORE.build.variant=arduino:micro microExtended.menu.usbcore.USB_CORE.build.variant=micro
microExtended.menu.usbcore.USB_CORE.build.core=arduino:arduino
microExtended.menu.usbcore.NO_USB=No USB functions microExtended.menu.usbcore.NO_USB=No USB functions
microExtended.menu.usbcore.NO_USB.build.variant=micro_no_usb 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 // for the extern HID descriptors + settings
#include "pins_arduino.h" #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 // by default enable mouse + keyboard api
#define HID_MOUSE_ENABLE #define HID_MOUSE_ENABLE
#define HID_KEYBOARD_KEYS_ENABLE #define HID_KEYBOARD_KEYS_ENABLE