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.cpp@0:a6288c29b936, 2017-02-04 (annotated)
- Committer:
- eencae
- Date:
- Sat Feb 04 15:31:44 2017 +0000
- Revision:
- 0:a6288c29b936
- Child:
- 1:6d25cd49059b
Initial commit. Untested. Under development.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
eencae | 0:a6288c29b936 | 1 | #include "Gamepad.h" |
eencae | 0:a6288c29b936 | 2 | |
eencae | 0:a6288c29b936 | 3 | Gamepad::Gamepad() |
eencae | 0:a6288c29b936 | 4 | { |
eencae | 0:a6288c29b936 | 5 | led_1 = new PwmOut(PTA1); |
eencae | 0:a6288c29b936 | 6 | led_2 = new PwmOut(PTA2); |
eencae | 0:a6288c29b936 | 7 | led_3 = new PwmOut(PTC2); |
eencae | 0:a6288c29b936 | 8 | led_4 = new PwmOut(PTC3); |
eencae | 0:a6288c29b936 | 9 | led_5 = new PwmOut(PTC4); |
eencae | 0:a6288c29b936 | 10 | led_6 = new PwmOut(PTD3); |
eencae | 0:a6288c29b936 | 11 | |
eencae | 0:a6288c29b936 | 12 | lcd = new N5110(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); |
eencae | 0:a6288c29b936 | 13 | joystick = new Joystick(PTB10,PTB11,PTC16); |
eencae | 0:a6288c29b936 | 14 | |
eencae | 0:a6288c29b936 | 15 | button_A = new InterruptIn(PTB9); |
eencae | 0:a6288c29b936 | 16 | button_B = new InterruptIn(D10); |
eencae | 0:a6288c29b936 | 17 | button_X = new InterruptIn(PTC17); |
eencae | 0:a6288c29b936 | 18 | button_Y = new InterruptIn(PTC12); // changed pin |
eencae | 0:a6288c29b936 | 19 | button_back = new InterruptIn(PTB19); |
eencae | 0:a6288c29b936 | 20 | button_start = new InterruptIn(PTC5); |
eencae | 0:a6288c29b936 | 21 | button_L = new InterruptIn(PTB18); |
eencae | 0:a6288c29b936 | 22 | button_R = new InterruptIn(PTB3); |
eencae | 0:a6288c29b936 | 23 | |
eencae | 0:a6288c29b936 | 24 | buzzer = new PwmOut(PTC10); |
eencae | 0:a6288c29b936 | 25 | pot = new AnalogIn(PTB2); |
eencae | 0:a6288c29b936 | 26 | |
eencae | 0:a6288c29b936 | 27 | } |
eencae | 0:a6288c29b936 | 28 | |
eencae | 0:a6288c29b936 | 29 | void Gamepad::init() |
eencae | 0:a6288c29b936 | 30 | { |
eencae | 0:a6288c29b936 | 31 | lcd->init(); |
eencae | 0:a6288c29b936 | 32 | joystick->init(); |
eencae | 0:a6288c29b936 | 33 | } |
eencae | 0:a6288c29b936 | 34 | |
eencae | 0:a6288c29b936 | 35 | void Gamepad::leds_off() |
eencae | 0:a6288c29b936 | 36 | { |
eencae | 0:a6288c29b936 | 37 | led_1->write(1.0); |
eencae | 0:a6288c29b936 | 38 | led_2->write(1.0); |
eencae | 0:a6288c29b936 | 39 | led_3->write(1.0); |
eencae | 0:a6288c29b936 | 40 | led_4->write(1.0); |
eencae | 0:a6288c29b936 | 41 | led_5->write(1.0); |
eencae | 0:a6288c29b936 | 42 | led_6->write(1.0); |
eencae | 0:a6288c29b936 | 43 | } |
eencae | 0:a6288c29b936 | 44 | |
eencae | 0:a6288c29b936 | 45 | void Gamepad::leds_on() |
eencae | 0:a6288c29b936 | 46 | { |
eencae | 0:a6288c29b936 | 47 | led_1->write(0.0); |
eencae | 0:a6288c29b936 | 48 | led_2->write(0.0); |
eencae | 0:a6288c29b936 | 49 | led_3->write(0.0); |
eencae | 0:a6288c29b936 | 50 | led_4->write(0.0); |
eencae | 0:a6288c29b936 | 51 | led_5->write(0.0); |
eencae | 0:a6288c29b936 | 52 | led_6->write(0.0); |
eencae | 0:a6288c29b936 | 53 | } |