uwick. W
/
MameController
Mamecontroller/joystick device wrapper library
GPIOJoystick.cpp@4:4f6e38b6c07e, 2014-12-10 (annotated)
- Committer:
- uswickra
- Date:
- Wed Dec 10 05:51:13 2014 +0000
- Revision:
- 4:4f6e38b6c07e
- Parent:
- 2:018f204f6037
my controller;
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(); |
uswickra | 4:4f6e38b6c07e | 28 | |
uswickra | 4:4f6e38b6c07e | 29 | wait_ms(100); |
bhavk11 | 2:018f204f6037 | 30 | // break; |
bhavk11 | 2:018f204f6037 | 31 | // case '\n': |
bhavk11 | 2:018f204f6037 | 32 | // pressMenuSelect1(); |
bhavk11 | 2:018f204f6037 | 33 | // break; |
bhavk11 | 2:018f204f6037 | 34 | // case '\r': |
bhavk11 | 2:018f204f6037 | 35 | // pressMenuSelect1(); |
bhavk11 | 2:018f204f6037 | 36 | // break; |
bhavk11 | 2:018f204f6037 | 37 | // case '1': |
bhavk11 | 2:018f204f6037 | 38 | // pressMenuSelect2(); |
bhavk11 | 2:018f204f6037 | 39 | // break; |
bhavk11 | 2:018f204f6037 | 40 | // case 0x1b: |
bhavk11 | 2:018f204f6037 | 41 | // pressMenuSelect3(); |
bhavk11 | 2:018f204f6037 | 42 | // break; |
bhavk11 | 2:018f204f6037 | 43 | // case 'u': |
bhavk11 | 2:018f204f6037 | 44 | // uart.printf("pi\r\n"); |
bhavk11 | 2:018f204f6037 | 45 | // router.sendEvent(USER); |
bhavk11 | 2:018f204f6037 | 46 | // break; |
bhavk11 | 2:018f204f6037 | 47 | // case 'p': |
bhavk11 | 2:018f204f6037 | 48 | // uart.printf("raspberry\r\n"); |
bhavk11 | 2:018f204f6037 | 49 | // router.sendEvent(PASS); |
bhavk11 | 2:018f204f6037 | 50 | // break; |
bhavk11 | 2:018f204f6037 | 51 | // case 'k': |
bhavk11 | 2:018f204f6037 | 52 | // uart.printf("/home/pi/mame/mame4all_comp/mame_run/mame \r\n"); |
bhavk11 | 2:018f204f6037 | 53 | // router.sendEvent(RUN); |
bhavk11 | 2:018f204f6037 | 54 | // break; |
bhavk11 | 2:018f204f6037 | 55 | // case 'q': |
bhavk11 | 2:018f204f6037 | 56 | // uart.printf("Quitting now !! \r\n"); |
bhavk11 | 2:018f204f6037 | 57 | // quit = true ; |
bhavk11 | 2:018f204f6037 | 58 | // break; |
bhavk11 | 2:018f204f6037 | 59 | // |
bhavk11 | 2:018f204f6037 | 60 | // } |
bhavk11 | 2:018f204f6037 | 61 | // if(quit) break; |
uswickra | 1:89c1c7f9245a | 62 | } |
uswickra | 1:89c1c7f9245a | 63 | } |
uswickra | 1:89c1c7f9245a | 64 | |
uswickra | 1:89c1c7f9245a | 65 | void GPIOJoystick::pressMenuSelect1() |
uswickra | 1:89c1c7f9245a | 66 | { |
uswickra | 1:89c1c7f9245a | 67 | uart.printf("Pressed Select Coins \r\n"); |
uswickra | 1:89c1c7f9245a | 68 | #ifdef DELAY_ENABLED |
uswickra | 1:89c1c7f9245a | 69 | wait(5); |
uswickra | 1:89c1c7f9245a | 70 | #endif |
uswickra | 1:89c1c7f9245a | 71 | router.sendEvent(COIN1); |
uswickra | 1:89c1c7f9245a | 72 | } |
uswickra | 1:89c1c7f9245a | 73 | |
uswickra | 1:89c1c7f9245a | 74 | void GPIOJoystick::pressMenuSelect2() |
uswickra | 1:89c1c7f9245a | 75 | { |
uswickra | 1:89c1c7f9245a | 76 | uart.printf("Pressed Start \r\n"); |
uswickra | 1:89c1c7f9245a | 77 | #ifdef DELAY_ENABLED |
uswickra | 1:89c1c7f9245a | 78 | wait(5); |
uswickra | 1:89c1c7f9245a | 79 | #endif |
uswickra | 1:89c1c7f9245a | 80 | router.sendEvent(START); |
uswickra | 1:89c1c7f9245a | 81 | } |
uswickra | 1:89c1c7f9245a | 82 | |
uswickra | 1:89c1c7f9245a | 83 | void GPIOJoystick::pressMenuSelect3() |
uswickra | 1:89c1c7f9245a | 84 | { |
uswickra | 1:89c1c7f9245a | 85 | uart.printf("Pressed Back \r\n"); |
uswickra | 1:89c1c7f9245a | 86 | #ifdef DELAY_ENABLED |
uswickra | 1:89c1c7f9245a | 87 | wait(5); |
uswickra | 1:89c1c7f9245a | 88 | #endif |
uswickra | 1:89c1c7f9245a | 89 | router.sendEvent(BACK); |
uswickra | 1:89c1c7f9245a | 90 | } |
uswickra | 1:89c1c7f9245a | 91 | |
uswickra | 1:89c1c7f9245a | 92 | void GPIOJoystick::pressUp() |
uswickra | 1:89c1c7f9245a | 93 | { |
uswickra | 1:89c1c7f9245a | 94 | uart.printf("Pressed Up \r\n"); |
uswickra | 1:89c1c7f9245a | 95 | #ifdef DELAY_ENABLED |
uswickra | 1:89c1c7f9245a | 96 | wait(5); |
uswickra | 1:89c1c7f9245a | 97 | #endif |
uswickra | 1:89c1c7f9245a | 98 | router.sendEvent(MOVE_UP); |
uswickra | 1:89c1c7f9245a | 99 | } |
uswickra | 1:89c1c7f9245a | 100 | |
uswickra | 1:89c1c7f9245a | 101 | void GPIOJoystick::pressDown() |
uswickra | 1:89c1c7f9245a | 102 | { |
uswickra | 1:89c1c7f9245a | 103 | uart.printf("Pressed Down \r\n"); |
uswickra | 1:89c1c7f9245a | 104 | #ifdef DELAY_ENABLED |
uswickra | 1:89c1c7f9245a | 105 | wait(5); |
uswickra | 1:89c1c7f9245a | 106 | #endif |
uswickra | 1:89c1c7f9245a | 107 | router.sendEvent(MOVE_DOWN); |
uswickra | 1:89c1c7f9245a | 108 | } |
uswickra | 1:89c1c7f9245a | 109 | |
uswickra | 1:89c1c7f9245a | 110 | void GPIOJoystick::pressLeft() |
uswickra | 1:89c1c7f9245a | 111 | { |
uswickra | 1:89c1c7f9245a | 112 | uart.printf("Pressed Left \r\n"); |
uswickra | 1:89c1c7f9245a | 113 | #ifdef DELAY_ENABLED |
uswickra | 1:89c1c7f9245a | 114 | wait(5); |
uswickra | 1:89c1c7f9245a | 115 | #endif |
uswickra | 1:89c1c7f9245a | 116 | router.sendEvent(MOVE_LEFT); |
uswickra | 1:89c1c7f9245a | 117 | } |
uswickra | 1:89c1c7f9245a | 118 | |
uswickra | 1:89c1c7f9245a | 119 | void GPIOJoystick::pressRight() |
uswickra | 1:89c1c7f9245a | 120 | { |
uswickra | 1:89c1c7f9245a | 121 | uart.printf("Pressed Right \r\n"); |
uswickra | 1:89c1c7f9245a | 122 | #ifdef DELAY_ENABLED |
uswickra | 1:89c1c7f9245a | 123 | wait(5); |
uswickra | 1:89c1c7f9245a | 124 | #endif |
uswickra | 1:89c1c7f9245a | 125 | router.sendEvent(MOVE_RIGHT); |
uswickra | 1:89c1c7f9245a | 126 | } |
uswickra | 1:89c1c7f9245a | 127 | |
uswickra | 1:89c1c7f9245a | 128 | void GPIOJoystick::pressJump() |
uswickra | 1:89c1c7f9245a | 129 | { |
uswickra | 1:89c1c7f9245a | 130 | uart.printf("Pressed Jump \r\n"); |
uswickra | 1:89c1c7f9245a | 131 | #ifdef DELAY_ENABLED |
uswickra | 1:89c1c7f9245a | 132 | wait(5); |
uswickra | 1:89c1c7f9245a | 133 | #endif |
uswickra | 1:89c1c7f9245a | 134 | router.sendEvent(JUMP); |
uswickra | 1:89c1c7f9245a | 135 | } |
uswickra | 1:89c1c7f9245a | 136 | |
uswickra | 1:89c1c7f9245a | 137 | void GPIOJoystick::pressFire1() |
uswickra | 1:89c1c7f9245a | 138 | { |
uswickra | 1:89c1c7f9245a | 139 | uart.printf("Pressed Fire1 \r\n"); |
uswickra | 1:89c1c7f9245a | 140 | #ifdef DELAY_ENABLED |
uswickra | 1:89c1c7f9245a | 141 | wait(5); |
uswickra | 1:89c1c7f9245a | 142 | #endif |
uswickra | 1:89c1c7f9245a | 143 | router.sendEvent(FIRE1); |
uswickra | 1:89c1c7f9245a | 144 | } |
uswickra | 1:89c1c7f9245a | 145 | |
uswickra | 1:89c1c7f9245a | 146 | void GPIOJoystick::pressFire2() |
uswickra | 1:89c1c7f9245a | 147 | { |
uswickra | 1:89c1c7f9245a | 148 | uart.printf("Pressed Fire2 \r\n"); |
uswickra | 1:89c1c7f9245a | 149 | } |