]> git.donarmstrong.com Git - tmk_firmware.git/commitdiff
Add support for LUFA-120730
authortmk <nobody@nowhere>
Mon, 11 Feb 2013 13:56:30 +0000 (22:56 +0900)
committertmk <nobody@nowhere>
Mon, 11 Feb 2013 13:56:30 +0000 (22:56 +0900)
README.md
protocol/lufa.mk
protocol/lufa/lufa.c

index cf09a9407e32e0f8e68dc8d2f969e383d05085fa..072de0a3868f278c6d1697d2f62c6c21a8443083 100644 (file)
--- a/README.md
+++ b/README.md
@@ -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.
index bf6fc97b8e87a3e7ade6f48280e178a8906f6d04..443b85344bde1d96b30f1a0c9fda8ef19ad2d599 100644 (file)
@@ -1,10 +1,16 @@
 LUFA_DIR = protocol/lufa
 
 # Path to the LUFA library
-LUFA_PATH = protocol/lufa/LUFA-120219
-
-# Create the LUFA source path variables by including the LUFA root makefile
-include $(TOP_DIR)/$(LUFA_PATH)/LUFA/makefile
+LUFA_PATH ?= protocol/lufa/LUFA-120730
+
+# 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 \
index 68f30dd162f4f0aead644b29267b7eb1c896a999..98c3a68ffbdc30fa1c0128072070e5f4a5c15abc 100644 (file)
@@ -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
 }