Mamecontroller/joystick device wrapper library

Dependencies:   USBDevice mbed

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?

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();
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 }