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
Gamepad.h@1:6d25cd49059b, 2017-02-04 (annotated)
- Committer:
- eencae
- Date:
- Sat Feb 04 16:13:18 2017 +0000
- Revision:
- 1:6d25cd49059b
- Parent:
- 0:a6288c29b936
- Child:
- 3:964a6d95acdd
Added more methods. Still untested.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
eencae | 0:a6288c29b936 | 1 | #ifndef GAMEPAD_H |
eencae | 0:a6288c29b936 | 2 | #define GAMEPAD_H |
eencae | 0:a6288c29b936 | 3 | |
eencae | 0:a6288c29b936 | 4 | #include "mbed.h" |
eencae | 0:a6288c29b936 | 5 | #include "N5110.h" |
eencae | 0:a6288c29b936 | 6 | #include "Joystick.h" |
eencae | 0:a6288c29b936 | 7 | |
eencae | 0:a6288c29b936 | 8 | class Gamepad |
eencae | 0:a6288c29b936 | 9 | { |
eencae | 0:a6288c29b936 | 10 | |
eencae | 0:a6288c29b936 | 11 | public: |
eencae | 0:a6288c29b936 | 12 | |
eencae | 0:a6288c29b936 | 13 | Gamepad(); |
eencae | 1:6d25cd49059b | 14 | ~Gamepad(); |
eencae | 0:a6288c29b936 | 15 | N5110 *lcd; |
eencae | 0:a6288c29b936 | 16 | Joystick *joystick; |
eencae | 0:a6288c29b936 | 17 | |
eencae | 0:a6288c29b936 | 18 | void init(); |
eencae | 0:a6288c29b936 | 19 | void leds_on(); |
eencae | 0:a6288c29b936 | 20 | void leds_off(); |
eencae | 1:6d25cd49059b | 21 | void fade_leds(float val); |
eencae | 1:6d25cd49059b | 22 | |
eencae | 1:6d25cd49059b | 23 | float read_pot(); |
eencae | 1:6d25cd49059b | 24 | void tone(float frequency, float duration); |
eencae | 1:6d25cd49059b | 25 | |
eencae | 1:6d25cd49059b | 26 | bool a_pressed(); |
eencae | 1:6d25cd49059b | 27 | bool b_pressed(); |
eencae | 1:6d25cd49059b | 28 | bool x_pressed(); |
eencae | 1:6d25cd49059b | 29 | bool y_pressed(); |
eencae | 1:6d25cd49059b | 30 | bool l_pressed(); |
eencae | 1:6d25cd49059b | 31 | bool r_pressed(); |
eencae | 1:6d25cd49059b | 32 | bool back_pressed(); |
eencae | 1:6d25cd49059b | 33 | bool start_pressed(); |
eencae | 0:a6288c29b936 | 34 | |
eencae | 0:a6288c29b936 | 35 | private: |
eencae | 0:a6288c29b936 | 36 | |
eencae | 0:a6288c29b936 | 37 | PwmOut *led_1; |
eencae | 0:a6288c29b936 | 38 | PwmOut *led_2; |
eencae | 0:a6288c29b936 | 39 | PwmOut *led_3; |
eencae | 0:a6288c29b936 | 40 | PwmOut *led_4; |
eencae | 0:a6288c29b936 | 41 | PwmOut *led_5; |
eencae | 0:a6288c29b936 | 42 | PwmOut *led_6; |
eencae | 0:a6288c29b936 | 43 | |
eencae | 1:6d25cd49059b | 44 | InterruptIn *button_A; |
eencae | 1:6d25cd49059b | 45 | InterruptIn *button_B; |
eencae | 1:6d25cd49059b | 46 | InterruptIn *button_X; |
eencae | 1:6d25cd49059b | 47 | InterruptIn *button_Y; // changed pin |
eencae | 1:6d25cd49059b | 48 | InterruptIn *button_back; |
eencae | 1:6d25cd49059b | 49 | InterruptIn *button_start; |
eencae | 1:6d25cd49059b | 50 | InterruptIn *button_L; |
eencae | 1:6d25cd49059b | 51 | InterruptIn *button_R; |
eencae | 1:6d25cd49059b | 52 | |
eencae | 1:6d25cd49059b | 53 | PwmOut *buzzer; |
eencae | 1:6d25cd49059b | 54 | AnalogIn *pot; |
eencae | 1:6d25cd49059b | 55 | |
eencae | 1:6d25cd49059b | 56 | Timeout *timeout; |
eencae | 1:6d25cd49059b | 57 | |
eencae | 1:6d25cd49059b | 58 | void init_buttons(); |
eencae | 1:6d25cd49059b | 59 | void tone_off(); |
eencae | 1:6d25cd49059b | 60 | void a_isr(); |
eencae | 1:6d25cd49059b | 61 | void b_isr(); |
eencae | 1:6d25cd49059b | 62 | void x_isr(); |
eencae | 1:6d25cd49059b | 63 | void y_isr(); |
eencae | 1:6d25cd49059b | 64 | void l_isr(); |
eencae | 1:6d25cd49059b | 65 | void r_isr(); |
eencae | 1:6d25cd49059b | 66 | void back_isr(); |
eencae | 1:6d25cd49059b | 67 | void start_isr(); |
eencae | 1:6d25cd49059b | 68 | |
eencae | 1:6d25cd49059b | 69 | bool a_flag,b_flag,x_flag,y_flag,l_flag,r_flag,back_flag,start_flag; |
eencae | 0:a6288c29b936 | 70 | |
eencae | 0:a6288c29b936 | 71 | }; |
eencae | 0:a6288c29b936 | 72 | |
eencae | 0:a6288c29b936 | 73 | #endif |