Mamecontroller/joystick device wrapper library

Dependencies:   USBDevice mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers serial_joystick.cpp Source File

serial_joystick.cpp

00001 #include "joystick.h"
00002 
00003 //#define DELAY_ENABLED 1
00004 
00005 SerialJoystick::SerialJoystick()
00006 {
00007 
00008 }
00009 
00010 void SerialJoystick::init()
00011 {
00012     bool quit = false ;
00013     while(1) {
00014         char ch = uart.getc();
00015         switch(ch) {
00016             case 'a':
00017                 pressLeft();
00018                 break;
00019             case 's':
00020                 pressDown();
00021                 break;
00022             case 'd':
00023                 pressRight();
00024                 break;
00025             case 'w':
00026                 pressUp();
00027                 break;
00028             case ' ':
00029                 pressJump();
00030                 break;
00031             case 'n':
00032                 pressFire1();
00033                 break;
00034             case 'm':
00035                 pressFire2();
00036                 break;
00037             case '\n':
00038                 pressMenuSelect1();
00039                 break;
00040             case '\r':
00041                 pressMenuSelect1();
00042                 break;
00043             case '1':
00044                 pressMenuSelect2();
00045                 break;
00046             case 0x1b:
00047                 pressMenuSelect3();
00048                 break;
00049             case 'u':
00050                 uart.printf("pi\r\n");
00051                 router.sendEvent(USER);
00052                 break;
00053             case 'p':
00054                 uart.printf("raspberry\r\n");
00055                 router.sendEvent(PASS);
00056                 break;
00057             case 'k':
00058                 uart.printf("/home/pi/mame/mame4all_comp/mame_run/mame  \r\n");
00059                 router.sendEvent(RUN);
00060                 break;
00061             case 'q':
00062                 uart.printf("Quitting now !! \r\n");
00063                 quit = true ;
00064                 break;
00065 
00066         }
00067         if(quit) break;
00068     }
00069 }
00070 
00071 void SerialJoystick::pressMenuSelect1()
00072 {
00073     uart.printf("Pressed Select Coins \r\n");
00074     #ifdef DELAY_ENABLED
00075     wait(5);
00076     #endif
00077     router.sendEvent(COIN1);
00078 }
00079 
00080 void SerialJoystick::pressMenuSelect2()
00081 {
00082     uart.printf("Pressed Start \r\n");
00083     #ifdef DELAY_ENABLED
00084     wait(5);
00085     #endif
00086     router.sendEvent(START);
00087 }
00088 
00089 void SerialJoystick::pressMenuSelect3()
00090 {
00091     uart.printf("Pressed Back \r\n");
00092     #ifdef DELAY_ENABLED
00093     wait(5);
00094     #endif
00095     router.sendEvent(BACK);
00096 }
00097 
00098 void SerialJoystick::pressUp()
00099 {
00100     uart.printf("Pressed Up \r\n");
00101     #ifdef DELAY_ENABLED
00102     wait(5);
00103     #endif
00104     router.sendEvent(MOVE_UP);
00105 }
00106 
00107 void SerialJoystick::pressDown()
00108 {
00109     uart.printf("Pressed Down \r\n");
00110     #ifdef DELAY_ENABLED
00111     wait(5);
00112     #endif
00113     router.sendEvent(MOVE_DOWN);
00114 }
00115 
00116 void SerialJoystick::pressLeft()
00117 {
00118     uart.printf("Pressed Left \r\n");
00119     #ifdef DELAY_ENABLED
00120     wait(5);
00121     #endif
00122     router.sendEvent(MOVE_LEFT);
00123 }
00124 
00125 void SerialJoystick::pressRight()
00126 {
00127     uart.printf("Pressed Right \r\n");
00128     #ifdef DELAY_ENABLED
00129     wait(5);
00130     #endif
00131     router.sendEvent(MOVE_RIGHT);
00132 }
00133 
00134 void SerialJoystick::pressJump()
00135 {
00136     uart.printf("Pressed Jump \r\n");
00137     #ifdef DELAY_ENABLED
00138     wait(5);
00139     #endif
00140     router.sendEvent(JUMP);
00141 }
00142 
00143 void SerialJoystick::pressFire1()
00144 {
00145     uart.printf("Pressed Fire1 \r\n");
00146     #ifdef DELAY_ENABLED
00147     wait(5);
00148     #endif
00149     router.sendEvent(FIRE1);
00150 }
00151 
00152 void SerialJoystick::pressFire2()
00153 {
00154     uart.printf("Pressed Fire2 \r\n");
00155 }