From 043f3de47d502eb482f2a1e7c3e634cad45ffc53 Mon Sep 17 00:00:00 2001 From: NicoHood Date: Sat, 15 Aug 2015 08:17:43 +0200 Subject: [PATCH 1/2] Made USP-API included flexible --- hardware/arduino/avr/cores/arduino/USBAPI.h | 1 + hardware/arduino/avr/cores/arduino/USBCore.cpp | 4 ++++ hardware/arduino/avr/cores/arduino/main.cpp | 8 ++++++-- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/hardware/arduino/avr/cores/arduino/USBAPI.h b/hardware/arduino/avr/cores/arduino/USBAPI.h index 7f468a66c93..7eafcca5c90 100644 --- a/hardware/arduino/avr/cores/arduino/USBAPI.h +++ b/hardware/arduino/avr/cores/arduino/USBAPI.h @@ -67,6 +67,7 @@ class USBDevice_ bool wakeupHost(); // returns false, when wakeup cannot be processed }; extern USBDevice_ USBDevice; +void setupUSB(); //================================================================================ //================================================================================ diff --git a/hardware/arduino/avr/cores/arduino/USBCore.cpp b/hardware/arduino/avr/cores/arduino/USBCore.cpp index f12d3269afd..b2f2cdb2728 100644 --- a/hardware/arduino/avr/cores/arduino/USBCore.cpp +++ b/hardware/arduino/avr/cores/arduino/USBCore.cpp @@ -828,4 +828,8 @@ bool USBDevice_::wakeupHost() return false; } +void setupUSB() { + USBDevice.attach(); +} + #endif /* if defined(USBCON) */ diff --git a/hardware/arduino/avr/cores/arduino/main.cpp b/hardware/arduino/avr/cores/arduino/main.cpp index 434cd403c0d..48325ddef31 100644 --- a/hardware/arduino/avr/cores/arduino/main.cpp +++ b/hardware/arduino/avr/cores/arduino/main.cpp @@ -28,7 +28,11 @@ void initVariant() __attribute__((weak)); void initVariant() { } void setupUSB() __attribute__((weak)); -void setupUSB() { } +void setupUSB() { +#if defined(USBCON) && (MAGIC_KEY_POS != (RAMEND-1)) + USBDevice.attach(); +#endif +} int main(void) { @@ -37,7 +41,7 @@ int main(void) initVariant(); #if defined(USBCON) - USBDevice.attach(); + setupUSB(); #endif setup(); From 1c7614bf54038ebb429c1d56a1592732e874f3e1 Mon Sep 17 00:00:00 2001 From: Nico Date: Thu, 24 Sep 2015 21:07:15 +0200 Subject: [PATCH 2/2] Rely on a definition rather than the magic key To enable this function you could use https://github.com/arduino/arduino-builder/issues/15 --- hardware/arduino/avr/cores/arduino/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hardware/arduino/avr/cores/arduino/main.cpp b/hardware/arduino/avr/cores/arduino/main.cpp index 48325ddef31..cc1d1ced66d 100644 --- a/hardware/arduino/avr/cores/arduino/main.cpp +++ b/hardware/arduino/avr/cores/arduino/main.cpp @@ -29,7 +29,7 @@ void initVariant() { } void setupUSB() __attribute__((weak)); void setupUSB() { -#if defined(USBCON) && (MAGIC_KEY_POS != (RAMEND-1)) +#if defined(USBCON) && defined(DYNAMIC_USB_CORE_INCLUDE)) USBDevice.attach(); #endif }