gamepad library
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 */