uwick. W
/
MameController
Mamecontroller/joystick device wrapper library
Embed:
(wiki syntax)
Show/hide line numbers
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 }
Generated on Wed Jul 13 2022 17:27:58 by 1.7.2