Add support for LUFA-120730
This commit is contained in:
parent
b60f9c6ac6
commit
e9e4c0edc5
3 changed files with 29 additions and 14 deletions
|
@ -659,4 +659,4 @@ Files & Directories
|
|||
License
|
||||
-------
|
||||
Under `GPL` 2 or later. Some protocol files are under `Modified BSD License`.
|
||||
PJRC stack has its own license.
|
||||
LUFA and PJRC stack have their own license respectively.
|
||||
|
|
|
@ -1,10 +1,16 @@
|
|||
LUFA_DIR = protocol/lufa
|
||||
|
||||
# Path to the LUFA library
|
||||
LUFA_PATH = protocol/lufa/LUFA-120219
|
||||
LUFA_PATH ?= protocol/lufa/LUFA-120730
|
||||
|
||||
# Create the LUFA source path variables by including the LUFA root makefile
|
||||
include $(TOP_DIR)/$(LUFA_PATH)/LUFA/makefile
|
||||
# Create the LUFA source path variables by including the LUFA makefile
|
||||
ifneq (, $(wildcard $(TOP_DIR)/$(LUFA_PATH)/LUFA/Build/lufa_sources.mk))
|
||||
# New build system from 20120730
|
||||
LUFA_ROOT_PATH = $(LUFA_PATH)/LUFA
|
||||
include $(TOP_DIR)/$(LUFA_PATH)/LUFA/Build/lufa_sources.mk
|
||||
else
|
||||
include $(TOP_DIR)/$(LUFA_PATH)/LUFA/makefile
|
||||
endif
|
||||
|
||||
LUFA_SRC = $(LUFA_DIR)/lufa.c \
|
||||
$(LUFA_DIR)/descriptor.c \
|
||||
|
|
|
@ -151,32 +151,41 @@ void EVENT_USB_Device_StartOfFrame(void)
|
|||
/** Event handler for the USB_ConfigurationChanged event.
|
||||
* This is fired when the host sets the current configuration of the USB device after enumeration.
|
||||
*/
|
||||
#if LUFA_VERSION_INTEGER < 0x120730
|
||||
/* old API 120219 */
|
||||
#define ENDPOINT_CONFIG(epnum, eptype, epdir, epsize, epbank) Endpoint_ConfigureEndpoint(epnum, eptype, epdir, epsize, epbank)
|
||||
#else
|
||||
/* new API >= 120730 */
|
||||
#define ENDPOINT_BANK_SINGLE 1
|
||||
#define ENDPOINT_BANK_DOUBLE 2
|
||||
#define ENDPOINT_CONFIG(epnum, eptype, epdir, epsize, epbank) Endpoint_ConfigureEndpoint((epdir) | (epnum) , eptype, epsize, epbank)
|
||||
#endif
|
||||
void EVENT_USB_Device_ConfigurationChanged(void)
|
||||
{
|
||||
bool ConfigSuccess = true;
|
||||
|
||||
/* Setup Keyboard HID Report Endpoints */
|
||||
ConfigSuccess &= Endpoint_ConfigureEndpoint(KEYBOARD_IN_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN,
|
||||
KEYBOARD_EPSIZE, ENDPOINT_BANK_SINGLE);
|
||||
ConfigSuccess &= ENDPOINT_CONFIG(KEYBOARD_IN_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN,
|
||||
KEYBOARD_EPSIZE, ENDPOINT_BANK_SINGLE);
|
||||
|
||||
#ifdef MOUSE_ENABLE
|
||||
/* Setup Mouse HID Report Endpoint */
|
||||
ConfigSuccess &= Endpoint_ConfigureEndpoint(MOUSE_IN_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN,
|
||||
MOUSE_EPSIZE, ENDPOINT_BANK_SINGLE);
|
||||
ConfigSuccess &= ENDPOINT_CONFIG(MOUSE_IN_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN,
|
||||
MOUSE_EPSIZE, ENDPOINT_BANK_SINGLE);
|
||||
#endif
|
||||
|
||||
#ifdef EXTRAKEY_ENABLE
|
||||
/* Setup Extra HID Report Endpoint */
|
||||
ConfigSuccess &= Endpoint_ConfigureEndpoint(EXTRAKEY_IN_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN,
|
||||
EXTRAKEY_EPSIZE, ENDPOINT_BANK_SINGLE);
|
||||
ConfigSuccess &= ENDPOINT_CONFIG(EXTRAKEY_IN_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN,
|
||||
EXTRAKEY_EPSIZE, ENDPOINT_BANK_SINGLE);
|
||||
#endif
|
||||
|
||||
#ifdef CONSOLE_ENABLE
|
||||
/* Setup Console HID Report Endpoints */
|
||||
ConfigSuccess &= Endpoint_ConfigureEndpoint(CONSOLE_IN_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN,
|
||||
CONSOLE_EPSIZE, ENDPOINT_BANK_DOUBLE);
|
||||
ConfigSuccess &= Endpoint_ConfigureEndpoint(CONSOLE_OUT_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_OUT,
|
||||
CONSOLE_EPSIZE, ENDPOINT_BANK_SINGLE);
|
||||
ConfigSuccess &= ENDPOINT_CONFIG(CONSOLE_IN_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN,
|
||||
CONSOLE_EPSIZE, ENDPOINT_BANK_DOUBLE);
|
||||
ConfigSuccess &= ENDPOINT_CONFIG(CONSOLE_OUT_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_OUT,
|
||||
CONSOLE_EPSIZE, ENDPOINT_BANK_SINGLE);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue