From 51cb078fa0579c5afa78c64159d8c55e0d39360f Mon Sep 17 00:00:00 2001 From: Matt Sieren Date: Fri, 18 Mar 2016 22:40:10 +0100 Subject: [PATCH] Exclude specific enum defines and cast The unscoped Enum for the Controller LEDs is colliding with changes in the recent RedBearLab nRF51288 SDK, specifically the PinName enum in the mbed.h header file. As a simple RBL/mBed specific work-around we are now casting the LED enums into the USBH LEDEnum enum. This will potentially break support for controllers on RBL, but restore the ability to compile the project. --- PS3BT.cpp | 2 +- PS3USB.cpp | 2 +- XBOXRECV.cpp | 8 ++++---- XBOXUSB.cpp | 2 +- controllerEnums.h | 3 ++- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/PS3BT.cpp b/PS3BT.cpp index ab5a8ed5..f534ad7b 100644 --- a/PS3BT.cpp +++ b/PS3BT.cpp @@ -629,6 +629,6 @@ void PS3BT::onInit() { if(PS3MoveConnected) moveSetBulb(Red); else // Dualshock 3 or Navigation controller - setLedOn(LED1); + setLedOn(static_cast(LED1)); } } diff --git a/PS3USB.cpp b/PS3USB.cpp index f247cc91..18b881ca 100755 --- a/PS3USB.cpp +++ b/PS3USB.cpp @@ -566,6 +566,6 @@ void PS3USB::onInit() { if(PS3MoveConnected) moveSetBulb(Red); else // Dualshock 3 or Navigation controller - setLedOn(LED1); + setLedOn(static_cast(LED1)); } } diff --git a/XBOXRECV.cpp b/XBOXRECV.cpp index 39e14ef8..7431fa43 100644 --- a/XBOXRECV.cpp +++ b/XBOXRECV.cpp @@ -572,13 +572,13 @@ void XBOXRECV::onInit(uint8_t controller) { else { LEDEnum led; if(controller == 0) - led = LED1; + led = static_cast(LED1); else if(controller == 1) - led = LED2; + led = static_cast(LED2); else if(controller == 2) - led = LED3; + led = static_cast(LED3); else - led = LED4; + led = static_cast(LED4); setLedOn(led, controller); } } diff --git a/XBOXUSB.cpp b/XBOXUSB.cpp index ce69f82b..6799029d 100644 --- a/XBOXUSB.cpp +++ b/XBOXUSB.cpp @@ -358,5 +358,5 @@ void XBOXUSB::onInit() { if(pFuncOnInit) pFuncOnInit(); // Call the user function else - setLedOn(LED1); + setLedOn(static_cast(LED1)); } diff --git a/controllerEnums.h b/controllerEnums.h index 47fd975e..e51f15ca 100644 --- a/controllerEnums.h +++ b/controllerEnums.h @@ -26,11 +26,12 @@ /** Enum used to turn on the LEDs on the different controllers. */ enum LEDEnum { OFF = 0, +#ifndef RBL_NRF51822 LED1 = 1, LED2 = 2, LED3 = 3, LED4 = 4, - +#endif LED5 = 5, LED6 = 6, LED7 = 7,