I2CピンでPS4の情報を読む

I2CPS4.cpp

Committer:
m2130
Date:
23 months ago
Revision:
0:23682bb56485

File content as of revision 0:23682bb56485:

#include "I2CPS4.hpp"

I2CPS4::I2CPS4(PinName SDA, PinName SCL, uint8_t ID) : _i2c(SDA, SCL){
    _i2c.frequency(400000);
    id = ID << 1;
}

void I2CPS4::Data_Send(uint8_t name){
    _i2c.write(id, (char *)&name, 1, true);
    _i2c.read(id, (char *)&data, 1);
}

void I2CPS4::button_state(){
    if(up()) printf("Up ");
    if(right()) printf("Right ");
    if(left()) printf("Left ");
    if(down()) printf("Down ");
    if(triangle()) printf("Triangle ");
    if(circle()) printf("Circle ");
    if(square())  printf("Square ");
    if(cross())  printf("Cross ");
    if(l1())  printf("L1 ");
    if(l2() != 0) printf("L2:%2x ", l2());
    if(l3())  printf("L3 ");
    if(r1())  printf("R1 ");
    if(r2() != 0) printf("R2:%2x ", r2());
    if(r3())  printf("R3 ");
    if(options())  printf("OPTIONS ");
    if(share())  printf("SHARE ");
    if(ps())  printf("PS ");
    if(touchpad())  printf("TOUCHPAD ");
    if(lsx() != 127)  printf("LSX:%3d ", lsx());
    if(lsy() != 127)  printf("LSY:%3d ", lsy());
    if(rsx() != 127)  printf("RSX:%3d ", rsx());
    if(rsy() != 127) printf("RSY:%3d ", rsy());
     printf("\n");
}

bool I2CPS4::available(){
    data = 0;
    Data_Send(255);
    return data;
}
bool I2CPS4::up(){
    data = 0;
    Data_Send(UP);
    return data;
}

bool I2CPS4::right(){
    data = 0;
    Data_Send(RIGHT);
    return data;
}

bool I2CPS4::left(){
    data = 0;
    Data_Send(LEFT);
    return data;
}

bool I2CPS4::down(){
    data = 0;
    Data_Send(DOWN);
    return data;
}

bool I2CPS4::triangle(){
    data = 0;
    Data_Send(TRIANGLE);
    return data;
}

bool I2CPS4::circle(){
    data = 0;
    Data_Send(CIRCLE);
    return data;
}

bool I2CPS4::square(){
    data = 0;
    Data_Send(SQUARE);
    return data;
}

bool I2CPS4::cross(){
    data = 0;
    Data_Send(CROSS);
    return data;
}

bool I2CPS4::touchpad(){
    data = 0;
    Data_Send(TOUCHPAD);
    return data;
}

bool I2CPS4::ps(){
    data = 0;
    Data_Send(PS);
    return data;
}

bool I2CPS4::l1(){
    data = 0;
    Data_Send(L1);
    return data;
}

bool I2CPS4::r1(){
    data = 0;
    Data_Send(R1);
    return data;
}

bool I2CPS4::options(){
    data = 0;
    Data_Send(OPTIONS);
    return data;
}

bool I2CPS4::share(){
    data = 0;
    Data_Send(SHARE);
    return data;
}

bool I2CPS4::l3(){
    data = 0;
    Data_Send(L3);
    return data;
}

bool I2CPS4::r3(){
    data = 0;
    Data_Send(R3);
    return data;
}

uint8_t I2CPS4::l2(){
    data = 0;
    Data_Send(L2);
    return data;
}

uint8_t I2CPS4::r2(){
    data = 0;
    Data_Send(R2);
    return data;
}

uint8_t I2CPS4::lsx(){
    data = 0;
    Data_Send(LSX);
    return data;
}

uint8_t I2CPS4::lsy(){
    data = 0;
    Data_Send(LSY);
    return data;
}

uint8_t I2CPS4::rsx(){
    data = 0;
    Data_Send(RSX);
    return data;
}

uint8_t I2CPS4::rsy(){
    data = 0;
    Data_Send(RSY);
    return data;
}