Mamecontroller/joystick device wrapper library

Dependencies:   USBDevice mbed

Committer:
bhavk11
Date:
Mon Dec 01 21:33:36 2014 +0000
Revision:
2:018f204f6037
Parent:
1:89c1c7f9245a
Child:
4:4f6e38b6c07e
DebounceIn

Who changed what in which revision?

UserRevisionLine numberNew contents of line
uswickra 1:89c1c7f9245a 1 #include "joystick.h"
uswickra 1:89c1c7f9245a 2
uswickra 1:89c1c7f9245a 3 //#define DELAY_ENABLED 1
uswickra 1:89c1c7f9245a 4
uswickra 1:89c1c7f9245a 5 GPIOJoystick::GPIOJoystick()
uswickra 1:89c1c7f9245a 6 {
uswickra 1:89c1c7f9245a 7
uswickra 1:89c1c7f9245a 8 }
uswickra 1:89c1c7f9245a 9
uswickra 1:89c1c7f9245a 10 void GPIOJoystick::init()
uswickra 1:89c1c7f9245a 11 {
uswickra 1:89c1c7f9245a 12 bool quit = false ;
uswickra 1:89c1c7f9245a 13 while(1) {
bhavk11 2:018f204f6037 14 if(Left == ON)
bhavk11 2:018f204f6037 15 pressLeft();
bhavk11 2:018f204f6037 16 if(Down == ON)
bhavk11 2:018f204f6037 17 pressDown();
bhavk11 2:018f204f6037 18 if(Right == ON)
bhavk11 2:018f204f6037 19 pressRight();
bhavk11 2:018f204f6037 20 if(Up == ON)
bhavk11 2:018f204f6037 21 pressUp();
bhavk11 2:018f204f6037 22 if(Jump == ON)
bhavk11 2:018f204f6037 23 pressJump();
bhavk11 2:018f204f6037 24 if(Fire1 == ON)
bhavk11 2:018f204f6037 25 pressFire1();
bhavk11 2:018f204f6037 26 if(Fire2 == ON)
bhavk11 2:018f204f6037 27 pressFire2();
bhavk11 2:018f204f6037 28 // break;
bhavk11 2:018f204f6037 29 // case '\n':
bhavk11 2:018f204f6037 30 // pressMenuSelect1();
bhavk11 2:018f204f6037 31 // break;
bhavk11 2:018f204f6037 32 // case '\r':
bhavk11 2:018f204f6037 33 // pressMenuSelect1();
bhavk11 2:018f204f6037 34 // break;
bhavk11 2:018f204f6037 35 // case '1':
bhavk11 2:018f204f6037 36 // pressMenuSelect2();
bhavk11 2:018f204f6037 37 // break;
bhavk11 2:018f204f6037 38 // case 0x1b:
bhavk11 2:018f204f6037 39 // pressMenuSelect3();
bhavk11 2:018f204f6037 40 // break;
bhavk11 2:018f204f6037 41 // case 'u':
bhavk11 2:018f204f6037 42 // uart.printf("pi\r\n");
bhavk11 2:018f204f6037 43 // router.sendEvent(USER);
bhavk11 2:018f204f6037 44 // break;
bhavk11 2:018f204f6037 45 // case 'p':
bhavk11 2:018f204f6037 46 // uart.printf("raspberry\r\n");
bhavk11 2:018f204f6037 47 // router.sendEvent(PASS);
bhavk11 2:018f204f6037 48 // break;
bhavk11 2:018f204f6037 49 // case 'k':
bhavk11 2:018f204f6037 50 // uart.printf("/home/pi/mame/mame4all_comp/mame_run/mame \r\n");
bhavk11 2:018f204f6037 51 // router.sendEvent(RUN);
bhavk11 2:018f204f6037 52 // break;
bhavk11 2:018f204f6037 53 // case 'q':
bhavk11 2:018f204f6037 54 // uart.printf("Quitting now !! \r\n");
bhavk11 2:018f204f6037 55 // quit = true ;
bhavk11 2:018f204f6037 56 // break;
bhavk11 2:018f204f6037 57 //
bhavk11 2:018f204f6037 58 // }
bhavk11 2:018f204f6037 59 // if(quit) break;
uswickra 1:89c1c7f9245a 60 }
uswickra 1:89c1c7f9245a 61 }
uswickra 1:89c1c7f9245a 62
uswickra 1:89c1c7f9245a 63 void GPIOJoystick::pressMenuSelect1()
uswickra 1:89c1c7f9245a 64 {
uswickra 1:89c1c7f9245a 65 uart.printf("Pressed Select Coins \r\n");
uswickra 1:89c1c7f9245a 66 #ifdef DELAY_ENABLED
uswickra 1:89c1c7f9245a 67 wait(5);
uswickra 1:89c1c7f9245a 68 #endif
uswickra 1:89c1c7f9245a 69 router.sendEvent(COIN1);
uswickra 1:89c1c7f9245a 70 }
uswickra 1:89c1c7f9245a 71
uswickra 1:89c1c7f9245a 72 void GPIOJoystick::pressMenuSelect2()
uswickra 1:89c1c7f9245a 73 {
uswickra 1:89c1c7f9245a 74 uart.printf("Pressed Start \r\n");
uswickra 1:89c1c7f9245a 75 #ifdef DELAY_ENABLED
uswickra 1:89c1c7f9245a 76 wait(5);
uswickra 1:89c1c7f9245a 77 #endif
uswickra 1:89c1c7f9245a 78 router.sendEvent(START);
uswickra 1:89c1c7f9245a 79 }
uswickra 1:89c1c7f9245a 80
uswickra 1:89c1c7f9245a 81 void GPIOJoystick::pressMenuSelect3()
uswickra 1:89c1c7f9245a 82 {
uswickra 1:89c1c7f9245a 83 uart.printf("Pressed Back \r\n");
uswickra 1:89c1c7f9245a 84 #ifdef DELAY_ENABLED
uswickra 1:89c1c7f9245a 85 wait(5);
uswickra 1:89c1c7f9245a 86 #endif
uswickra 1:89c1c7f9245a 87 router.sendEvent(BACK);
uswickra 1:89c1c7f9245a 88 }
uswickra 1:89c1c7f9245a 89
uswickra 1:89c1c7f9245a 90 void GPIOJoystick::pressUp()
uswickra 1:89c1c7f9245a 91 {
uswickra 1:89c1c7f9245a 92 uart.printf("Pressed Up \r\n");
uswickra 1:89c1c7f9245a 93 #ifdef DELAY_ENABLED
uswickra 1:89c1c7f9245a 94 wait(5);
uswickra 1:89c1c7f9245a 95 #endif
uswickra 1:89c1c7f9245a 96 router.sendEvent(MOVE_UP);
uswickra 1:89c1c7f9245a 97 }
uswickra 1:89c1c7f9245a 98
uswickra 1:89c1c7f9245a 99 void GPIOJoystick::pressDown()
uswickra 1:89c1c7f9245a 100 {
uswickra 1:89c1c7f9245a 101 uart.printf("Pressed Down \r\n");
uswickra 1:89c1c7f9245a 102 #ifdef DELAY_ENABLED
uswickra 1:89c1c7f9245a 103 wait(5);
uswickra 1:89c1c7f9245a 104 #endif
uswickra 1:89c1c7f9245a 105 router.sendEvent(MOVE_DOWN);
uswickra 1:89c1c7f9245a 106 }
uswickra 1:89c1c7f9245a 107
uswickra 1:89c1c7f9245a 108 void GPIOJoystick::pressLeft()
uswickra 1:89c1c7f9245a 109 {
uswickra 1:89c1c7f9245a 110 uart.printf("Pressed Left \r\n");
uswickra 1:89c1c7f9245a 111 #ifdef DELAY_ENABLED
uswickra 1:89c1c7f9245a 112 wait(5);
uswickra 1:89c1c7f9245a 113 #endif
uswickra 1:89c1c7f9245a 114 router.sendEvent(MOVE_LEFT);
uswickra 1:89c1c7f9245a 115 }
uswickra 1:89c1c7f9245a 116
uswickra 1:89c1c7f9245a 117 void GPIOJoystick::pressRight()
uswickra 1:89c1c7f9245a 118 {
uswickra 1:89c1c7f9245a 119 uart.printf("Pressed Right \r\n");
uswickra 1:89c1c7f9245a 120 #ifdef DELAY_ENABLED
uswickra 1:89c1c7f9245a 121 wait(5);
uswickra 1:89c1c7f9245a 122 #endif
uswickra 1:89c1c7f9245a 123 router.sendEvent(MOVE_RIGHT);
uswickra 1:89c1c7f9245a 124 }
uswickra 1:89c1c7f9245a 125
uswickra 1:89c1c7f9245a 126 void GPIOJoystick::pressJump()
uswickra 1:89c1c7f9245a 127 {
uswickra 1:89c1c7f9245a 128 uart.printf("Pressed Jump \r\n");
uswickra 1:89c1c7f9245a 129 #ifdef DELAY_ENABLED
uswickra 1:89c1c7f9245a 130 wait(5);
uswickra 1:89c1c7f9245a 131 #endif
uswickra 1:89c1c7f9245a 132 router.sendEvent(JUMP);
uswickra 1:89c1c7f9245a 133 }
uswickra 1:89c1c7f9245a 134
uswickra 1:89c1c7f9245a 135 void GPIOJoystick::pressFire1()
uswickra 1:89c1c7f9245a 136 {
uswickra 1:89c1c7f9245a 137 uart.printf("Pressed Fire1 \r\n");
uswickra 1:89c1c7f9245a 138 #ifdef DELAY_ENABLED
uswickra 1:89c1c7f9245a 139 wait(5);
uswickra 1:89c1c7f9245a 140 #endif
uswickra 1:89c1c7f9245a 141 router.sendEvent(FIRE1);
uswickra 1:89c1c7f9245a 142 }
uswickra 1:89c1c7f9245a 143
uswickra 1:89c1c7f9245a 144 void GPIOJoystick::pressFire2()
uswickra 1:89c1c7f9245a 145 {
uswickra 1:89c1c7f9245a 146 uart.printf("Pressed Fire2 \r\n");
uswickra 1:89c1c7f9245a 147 }