#include "mbed.h"
#include "PS3_Controller.h"

Serial pc(SERIAL_TX,SERIAL_RX);
PS3_controller PS3(PC_12,PD_2);

int main()
{
    pc.baud(115200);

    pc.printf("Start\n\r");

    PS3.send_UNO(1);

    while(1) {
        
        PS3.read_PAD();
        
        printf("\033[%d;%dH\r\n",1,1);
        pc.printf("PS: %d\r\n",PS3.button(PS));
        pc.printf("TRIANGLE: %d\r\n",PS3.button(TRIANGLE));
        pc.printf("CIRCLE: %d\r\n",PS3.button(CIRCLE));
        pc.printf("CROSS: %d\r\n",PS3.button(CROSS));
        pc.printf("SQUARE: %d\r\n",PS3.button(SQUARE));
        pc.printf("UP: %d\r\n",PS3.button(UP));
        pc.printf("RIGHT: %d\r\n",PS3.button(RIGHT));
        pc.printf("DOWN: %d\r\n",PS3.button(DOWN));
        pc.printf("LEFT: %d\r\n",PS3.button(LEFT));
        pc.printf("L1: %d\r\n",PS3.button(L1));
        pc.printf("L3: %d\r\n",PS3.button(L3));
        pc.printf("R1: %d\r\n",PS3.button(R1));
        pc.printf("R3: %d\r\n",PS3.button(R3));
        pc.printf("SELECT: %d\r\n",PS3.button(SELECT));
        pc.printf("START: %d\r\n",PS3.button(START));
        
        pc.printf("PS_L2: %d\r\n",PS3.analog(PS_L2));
        pc.printf("PS_R2: %d\r\n",PS3.analog(PS_R2));
        pc.printf("PS_LX: %d\r\n",PS3.analog(PS_LX));
        pc.printf("PS_LY: %d\r\n",PS3.analog(PS_LY));
        pc.printf("PS_RX: %d\r\n",PS3.analog(PS_RX));
        pc.printf("PS_RY: %d\r\n",PS3.analog(PS_RY));
        
        pc.printf("Conect?: %d\r\n",PS3.conect());
    }
}