Library for ELEC2645 Gamepad PCB. University of Leeds Version 2 January 2020
Dependents: ELEC2645_Ticker_WAV ELEC2645_Project_username ELEC2645_Project_el18vgt ELEC2645_Project_el17oc11 ... more
Diff: Gamepad.h
- Revision:
- 13:ef5fc9f58805
- Parent:
- 12:1b0b6355da4f
- Child:
- 15:c582b3326d44
--- 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 */