![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Mamecontroller/joystick device wrapper library
serial_joystick.cpp@0:4babde63a16e, 2014-11-26 (annotated)
- Committer:
- uswickra
- Date:
- Wed Nov 26 23:24:53 2014 +0000
- Revision:
- 0:4babde63a16e
- Child:
- 1:89c1c7f9245a
Mamecontroller repo
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
uswickra | 0:4babde63a16e | 1 | #include "joystick.h" |
uswickra | 0:4babde63a16e | 2 | |
uswickra | 0:4babde63a16e | 3 | //#define DELAY_ENABLED 1 |
uswickra | 0:4babde63a16e | 4 | |
uswickra | 0:4babde63a16e | 5 | SerialJoystick::SerialJoystick() |
uswickra | 0:4babde63a16e | 6 | { |
uswickra | 0:4babde63a16e | 7 | |
uswickra | 0:4babde63a16e | 8 | } |
uswickra | 0:4babde63a16e | 9 | |
uswickra | 0:4babde63a16e | 10 | void SerialJoystick::init() |
uswickra | 0:4babde63a16e | 11 | { |
uswickra | 0:4babde63a16e | 12 | bool quit = false ; |
uswickra | 0:4babde63a16e | 13 | while(1) { |
uswickra | 0:4babde63a16e | 14 | char ch = uart.getc(); |
uswickra | 0:4babde63a16e | 15 | switch(ch) { |
uswickra | 0:4babde63a16e | 16 | case 'a': |
uswickra | 0:4babde63a16e | 17 | pressLeft(); |
uswickra | 0:4babde63a16e | 18 | break; |
uswickra | 0:4babde63a16e | 19 | case 's': |
uswickra | 0:4babde63a16e | 20 | pressDown(); |
uswickra | 0:4babde63a16e | 21 | break; |
uswickra | 0:4babde63a16e | 22 | case 'd': |
uswickra | 0:4babde63a16e | 23 | pressRight(); |
uswickra | 0:4babde63a16e | 24 | break; |
uswickra | 0:4babde63a16e | 25 | case 'w': |
uswickra | 0:4babde63a16e | 26 | pressUp(); |
uswickra | 0:4babde63a16e | 27 | break; |
uswickra | 0:4babde63a16e | 28 | case ' ': |
uswickra | 0:4babde63a16e | 29 | pressJump(); |
uswickra | 0:4babde63a16e | 30 | break; |
uswickra | 0:4babde63a16e | 31 | case 'n': |
uswickra | 0:4babde63a16e | 32 | pressFire1(); |
uswickra | 0:4babde63a16e | 33 | break; |
uswickra | 0:4babde63a16e | 34 | case 'm': |
uswickra | 0:4babde63a16e | 35 | pressFire2(); |
uswickra | 0:4babde63a16e | 36 | break; |
uswickra | 0:4babde63a16e | 37 | case '\n': |
uswickra | 0:4babde63a16e | 38 | pressMenuSelect1(); |
uswickra | 0:4babde63a16e | 39 | break; |
uswickra | 0:4babde63a16e | 40 | case '\r': |
uswickra | 0:4babde63a16e | 41 | pressMenuSelect1(); |
uswickra | 0:4babde63a16e | 42 | break; |
uswickra | 0:4babde63a16e | 43 | case '1': |
uswickra | 0:4babde63a16e | 44 | pressMenuSelect2(); |
uswickra | 0:4babde63a16e | 45 | break; |
uswickra | 0:4babde63a16e | 46 | case 0x1b: |
uswickra | 0:4babde63a16e | 47 | pressMenuSelect3(); |
uswickra | 0:4babde63a16e | 48 | break; |
uswickra | 0:4babde63a16e | 49 | case 'q': |
uswickra | 0:4babde63a16e | 50 | uart.printf("Quitting now !! \r\n"); |
uswickra | 0:4babde63a16e | 51 | quit = true ; |
uswickra | 0:4babde63a16e | 52 | break; |
uswickra | 0:4babde63a16e | 53 | |
uswickra | 0:4babde63a16e | 54 | } |
uswickra | 0:4babde63a16e | 55 | if(quit) break; |
uswickra | 0:4babde63a16e | 56 | } |
uswickra | 0:4babde63a16e | 57 | } |
uswickra | 0:4babde63a16e | 58 | |
uswickra | 0:4babde63a16e | 59 | void SerialJoystick::pressMenuSelect1() |
uswickra | 0:4babde63a16e | 60 | { |
uswickra | 0:4babde63a16e | 61 | uart.printf("Pressed Select Coins \r\n"); |
uswickra | 0:4babde63a16e | 62 | #ifdef DELAY_ENABLED |
uswickra | 0:4babde63a16e | 63 | wait(5); |
uswickra | 0:4babde63a16e | 64 | #endif |
uswickra | 0:4babde63a16e | 65 | router.sendEvent(COIN1); |
uswickra | 0:4babde63a16e | 66 | } |
uswickra | 0:4babde63a16e | 67 | |
uswickra | 0:4babde63a16e | 68 | void SerialJoystick::pressMenuSelect2() |
uswickra | 0:4babde63a16e | 69 | { |
uswickra | 0:4babde63a16e | 70 | uart.printf("Pressed Start \r\n"); |
uswickra | 0:4babde63a16e | 71 | #ifdef DELAY_ENABLED |
uswickra | 0:4babde63a16e | 72 | wait(5); |
uswickra | 0:4babde63a16e | 73 | #endif |
uswickra | 0:4babde63a16e | 74 | router.sendEvent(START); |
uswickra | 0:4babde63a16e | 75 | } |
uswickra | 0:4babde63a16e | 76 | |
uswickra | 0:4babde63a16e | 77 | void SerialJoystick::pressMenuSelect3() |
uswickra | 0:4babde63a16e | 78 | { |
uswickra | 0:4babde63a16e | 79 | uart.printf("Pressed Back \r\n"); |
uswickra | 0:4babde63a16e | 80 | #ifdef DELAY_ENABLED |
uswickra | 0:4babde63a16e | 81 | wait(5); |
uswickra | 0:4babde63a16e | 82 | #endif |
uswickra | 0:4babde63a16e | 83 | router.sendEvent(BACK); |
uswickra | 0:4babde63a16e | 84 | } |
uswickra | 0:4babde63a16e | 85 | |
uswickra | 0:4babde63a16e | 86 | void SerialJoystick::pressUp() |
uswickra | 0:4babde63a16e | 87 | { |
uswickra | 0:4babde63a16e | 88 | uart.printf("Pressed Up \r\n"); |
uswickra | 0:4babde63a16e | 89 | #ifdef DELAY_ENABLED |
uswickra | 0:4babde63a16e | 90 | wait(5); |
uswickra | 0:4babde63a16e | 91 | #endif |
uswickra | 0:4babde63a16e | 92 | router.sendEvent(MOVE_UP); |
uswickra | 0:4babde63a16e | 93 | } |
uswickra | 0:4babde63a16e | 94 | |
uswickra | 0:4babde63a16e | 95 | void SerialJoystick::pressDown() |
uswickra | 0:4babde63a16e | 96 | { |
uswickra | 0:4babde63a16e | 97 | uart.printf("Pressed Down \r\n"); |
uswickra | 0:4babde63a16e | 98 | #ifdef DELAY_ENABLED |
uswickra | 0:4babde63a16e | 99 | wait(5); |
uswickra | 0:4babde63a16e | 100 | #endif |
uswickra | 0:4babde63a16e | 101 | router.sendEvent(MOVE_DOWN); |
uswickra | 0:4babde63a16e | 102 | } |
uswickra | 0:4babde63a16e | 103 | |
uswickra | 0:4babde63a16e | 104 | void SerialJoystick::pressLeft() |
uswickra | 0:4babde63a16e | 105 | { |
uswickra | 0:4babde63a16e | 106 | uart.printf("Pressed Left \r\n"); |
uswickra | 0:4babde63a16e | 107 | #ifdef DELAY_ENABLED |
uswickra | 0:4babde63a16e | 108 | wait(5); |
uswickra | 0:4babde63a16e | 109 | #endif |
uswickra | 0:4babde63a16e | 110 | router.sendEvent(MOVE_LEFT); |
uswickra | 0:4babde63a16e | 111 | } |
uswickra | 0:4babde63a16e | 112 | |
uswickra | 0:4babde63a16e | 113 | void SerialJoystick::pressRight() |
uswickra | 0:4babde63a16e | 114 | { |
uswickra | 0:4babde63a16e | 115 | uart.printf("Pressed Right \r\n"); |
uswickra | 0:4babde63a16e | 116 | #ifdef DELAY_ENABLED |
uswickra | 0:4babde63a16e | 117 | wait(5); |
uswickra | 0:4babde63a16e | 118 | #endif |
uswickra | 0:4babde63a16e | 119 | router.sendEvent(MOVE_RIGHT); |
uswickra | 0:4babde63a16e | 120 | } |
uswickra | 0:4babde63a16e | 121 | |
uswickra | 0:4babde63a16e | 122 | void SerialJoystick::pressJump() |
uswickra | 0:4babde63a16e | 123 | { |
uswickra | 0:4babde63a16e | 124 | uart.printf("Pressed Jump \r\n"); |
uswickra | 0:4babde63a16e | 125 | #ifdef DELAY_ENABLED |
uswickra | 0:4babde63a16e | 126 | wait(5); |
uswickra | 0:4babde63a16e | 127 | #endif |
uswickra | 0:4babde63a16e | 128 | router.sendEvent(JUMP); |
uswickra | 0:4babde63a16e | 129 | } |
uswickra | 0:4babde63a16e | 130 | |
uswickra | 0:4babde63a16e | 131 | void SerialJoystick::pressFire1() |
uswickra | 0:4babde63a16e | 132 | { |
uswickra | 0:4babde63a16e | 133 | uart.printf("Pressed Fire1 \r\n"); |
uswickra | 0:4babde63a16e | 134 | #ifdef DELAY_ENABLED |
uswickra | 0:4babde63a16e | 135 | wait(5); |
uswickra | 0:4babde63a16e | 136 | #endif |
uswickra | 0:4babde63a16e | 137 | router.sendEvent(FIRE1); |
uswickra | 0:4babde63a16e | 138 | } |
uswickra | 0:4babde63a16e | 139 | |
uswickra | 0:4babde63a16e | 140 | void SerialJoystick::pressFire2() |
uswickra | 0:4babde63a16e | 141 | { |
uswickra | 0:4babde63a16e | 142 | uart.printf("Pressed Fire2 \r\n"); |
uswickra | 0:4babde63a16e | 143 | } |