uwick. W
/
MameController
Mamecontroller/joystick device wrapper library
GPIOJoystick.cpp@2:018f204f6037, 2014-12-01 (annotated)
- 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?
User | Revision | Line number | New 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 | } |