uwick. W
/
MameController
Mamecontroller/joystick device wrapper library
GPIOJoystick.cpp
- Committer:
- uswickra
- Date:
- 2014-12-01
- Revision:
- 1:89c1c7f9245a
- Child:
- 2:018f204f6037
File content as of revision 1:89c1c7f9245a:
#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"); }