Mamecontroller/joystick device wrapper library

Dependencies:   USBDevice mbed

GPIOJoystick.cpp

Committer:
bhavk11
Date:
2014-12-01
Revision:
2:018f204f6037
Parent:
1:89c1c7f9245a
Child:
4:4f6e38b6c07e

File content as of revision 2:018f204f6037:

#include "joystick.h"

//#define DELAY_ENABLED 1

GPIOJoystick::GPIOJoystick()
{

}

void GPIOJoystick::init()
{
    bool quit = false ;
    while(1) {
        if(Left == ON)
            pressLeft();
        if(Down == ON)
            pressDown();
        if(Right == ON)
            pressRight();
        if(Up == ON)
            pressUp();
        if(Jump == ON)
            pressJump();
        if(Fire1 == ON)
            pressFire1();
        if(Fire2 == ON)
            pressFire2();
//                break;
//            case '\n':
//                pressMenuSelect1();
//                break;
//            case '\r':
//                pressMenuSelect1();
//                break;
//            case '1':
//                pressMenuSelect2();
//                break;
//            case 0x1b:
//                pressMenuSelect3();
//                break;
//            case 'u':
//                uart.printf("pi\r\n");
//                router.sendEvent(USER);
//                break;
//            case 'p':
//                uart.printf("raspberry\r\n");
//                router.sendEvent(PASS);
//                break;
//            case 'k':
//                uart.printf("/home/pi/mame/mame4all_comp/mame_run/mame  \r\n");
//                router.sendEvent(RUN);
//                break;
//            case 'q':
//                uart.printf("Quitting now !! \r\n");
//                quit = true ;
//                break;
//
//        }
//        if(quit) break;
    }
}

void GPIOJoystick::pressMenuSelect1()
{
    uart.printf("Pressed Select Coins \r\n");
    #ifdef DELAY_ENABLED
    wait(5);
    #endif
    router.sendEvent(COIN1);
}

void GPIOJoystick::pressMenuSelect2()
{
    uart.printf("Pressed Start \r\n");
    #ifdef DELAY_ENABLED
    wait(5);
    #endif
    router.sendEvent(START);
}

void GPIOJoystick::pressMenuSelect3()
{
    uart.printf("Pressed Back \r\n");
    #ifdef DELAY_ENABLED
    wait(5);
    #endif
    router.sendEvent(BACK);
}

void GPIOJoystick::pressUp()
{
    uart.printf("Pressed Up \r\n");
    #ifdef DELAY_ENABLED
    wait(5);
    #endif
    router.sendEvent(MOVE_UP);
}

void GPIOJoystick::pressDown()
{
    uart.printf("Pressed Down \r\n");
    #ifdef DELAY_ENABLED
    wait(5);
    #endif
    router.sendEvent(MOVE_DOWN);
}

void GPIOJoystick::pressLeft()
{
    uart.printf("Pressed Left \r\n");
    #ifdef DELAY_ENABLED
    wait(5);
    #endif
    router.sendEvent(MOVE_LEFT);
}

void GPIOJoystick::pressRight()
{
    uart.printf("Pressed Right \r\n");
    #ifdef DELAY_ENABLED
    wait(5);
    #endif
    router.sendEvent(MOVE_RIGHT);
}

void GPIOJoystick::pressJump()
{
    uart.printf("Pressed Jump \r\n");
    #ifdef DELAY_ENABLED
    wait(5);
    #endif
    router.sendEvent(JUMP);
}

void GPIOJoystick::pressFire1()
{
    uart.printf("Pressed Fire1 \r\n");
    #ifdef DELAY_ENABLED
    wait(5);
    #endif
    router.sendEvent(FIRE1);
}

void GPIOJoystick::pressFire2()
{
    uart.printf("Pressed Fire2 \r\n");
}