Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of Gamepad by
Diff: Gamepad.h
- Revision:
- 13:ef5fc9f58805
- Parent:
- 12:1b0b6355da4f
- Child:
- 15:c582b3326d44
diff -r 1b0b6355da4f -r ef5fc9f58805 Gamepad.h
--- a/Gamepad.h Fri Mar 03 12:35:43 2017 +0000
+++ b/Gamepad.h Fri Mar 03 12:51:13 2017 +0000
@@ -3,7 +3,16 @@
#include <bitset>
-#include "mbed.h"
+// Forward declaration of the classes that we use from the mbed library
+// This avoids the need for us to include the huge mbed.h header inside our
+// own library API
+namespace mbed
+{
+class AnalogIn;
+class InterruptIn;
+class PwmOut;
+class Timeout;
+}
#define TOL 0.1f
#define RAD2DEG 57.2957795131f
@@ -58,30 +67,30 @@
class Gamepad
{
private:
- PwmOut *_led1;
- PwmOut *_led2;
- PwmOut *_led3;
- PwmOut *_led4;
- PwmOut *_led5;
- PwmOut *_led6;
+ mbed::PwmOut *_led1;
+ mbed::PwmOut *_led2;
+ mbed::PwmOut *_led3;
+ mbed::PwmOut *_led4;
+ mbed::PwmOut *_led5;
+ mbed::PwmOut *_led6;
- InterruptIn *_button_A;
- InterruptIn *_button_B;
- InterruptIn *_button_X;
- InterruptIn *_button_Y;
- InterruptIn *_button_back;
- InterruptIn *_button_start;
- InterruptIn *_button_L;
- InterruptIn *_button_R;
- InterruptIn *_button_joystick;
+ mbed::InterruptIn *_button_A;
+ mbed::InterruptIn *_button_B;
+ mbed::InterruptIn *_button_X;
+ mbed::InterruptIn *_button_Y;
+ mbed::InterruptIn *_button_L;
+ mbed::InterruptIn *_button_R;
+ mbed::InterruptIn *_button_back;
+ mbed::InterruptIn *_button_start;
+ mbed::InterruptIn *_button_joystick;
- AnalogIn *_vert;
- AnalogIn *_horiz;
+ mbed::AnalogIn *_vert;
+ mbed::AnalogIn *_horiz;
- PwmOut *_buzzer;
- AnalogIn *_pot;
+ mbed::PwmOut *_buzzer;
+ mbed::AnalogIn *_pot;
- Timeout *_timeout;
+ mbed::Timeout *_timeout;
std::bitset<N_EVENTS> _event_state; ///< A binary list of buttons that has been pressed
@@ -158,7 +167,7 @@
* @return true if the event occurred
*/
bool check_event(GamepadEvent const id);
-
+
/** Get magnitude of joystick movement
* @returns value in range 0.0 to 1.0
*/
