uwick. W
/
MameController
Mamecontroller/joystick device wrapper library
Diff: GPIOJoystick.cpp
- Revision:
- 1:89c1c7f9245a
- Child:
- 2:018f204f6037
diff -r 4babde63a16e -r 89c1c7f9245a GPIOJoystick.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/GPIOJoystick.cpp Mon Dec 01 21:07:44 2014 +0000 @@ -0,0 +1,155 @@ +#include "joystick.h" + +//#define DELAY_ENABLED 1 + +GPIOJoystick::GPIOJoystick() +{ + +} + +void GPIOJoystick::init() +{ + bool quit = false ; + while(1) { + char ch = uart.getc(); + switch(ch) { + case 'a': + pressLeft(); + break; + case 's': + pressDown(); + break; + case 'd': + pressRight(); + break; + case 'w': + pressUp(); + break; + case ' ': + pressJump(); + break; + case 'n': + pressFire1(); + break; + case 'm': + pressFire2(); + break; + case '\n': + pressMenuSelect1(); + break; + case '\r': + pressMenuSelect1(); + break; + case '1': + pressMenuSelect2(); + break; + case 0x1b: + pressMenuSelect3(); + break; + case 'u': + uart.printf("pi\r\n"); + router.sendEvent(USER); + break; + case 'p': + uart.printf("raspberry\r\n"); + router.sendEvent(PASS); + break; + case 'k': + uart.printf("/home/pi/mame/mame4all_comp/mame_run/mame \r\n"); + router.sendEvent(RUN); + break; + case 'q': + uart.printf("Quitting now !! \r\n"); + quit = true ; + break; + + } + if(quit) break; + } +} + +void GPIOJoystick::pressMenuSelect1() +{ + uart.printf("Pressed Select Coins \r\n"); + #ifdef DELAY_ENABLED + wait(5); + #endif + router.sendEvent(COIN1); +} + +void GPIOJoystick::pressMenuSelect2() +{ + uart.printf("Pressed Start \r\n"); + #ifdef DELAY_ENABLED + wait(5); + #endif + router.sendEvent(START); +} + +void GPIOJoystick::pressMenuSelect3() +{ + uart.printf("Pressed Back \r\n"); + #ifdef DELAY_ENABLED + wait(5); + #endif + router.sendEvent(BACK); +} + +void GPIOJoystick::pressUp() +{ + uart.printf("Pressed Up \r\n"); + #ifdef DELAY_ENABLED + wait(5); + #endif + router.sendEvent(MOVE_UP); +} + +void GPIOJoystick::pressDown() +{ + uart.printf("Pressed Down \r\n"); + #ifdef DELAY_ENABLED + wait(5); + #endif + router.sendEvent(MOVE_DOWN); +} + +void GPIOJoystick::pressLeft() +{ + uart.printf("Pressed Left \r\n"); + #ifdef DELAY_ENABLED + wait(5); + #endif + router.sendEvent(MOVE_LEFT); +} + +void GPIOJoystick::pressRight() +{ + uart.printf("Pressed Right \r\n"); + #ifdef DELAY_ENABLED + wait(5); + #endif + router.sendEvent(MOVE_RIGHT); +} + +void GPIOJoystick::pressJump() +{ + uart.printf("Pressed Jump \r\n"); + #ifdef DELAY_ENABLED + wait(5); + #endif + router.sendEvent(JUMP); +} + +void GPIOJoystick::pressFire1() +{ + uart.printf("Pressed Fire1 \r\n"); + #ifdef DELAY_ENABLED + wait(5); + #endif + router.sendEvent(FIRE1); +} + +void GPIOJoystick::pressFire2() +{ + uart.printf("Pressed Fire2 \r\n"); +} \ No newline at end of file