基本クラス

Dependents:   300_PS3com Quadrifoglio_PS3COM

Master.cpp

Committer:
piroro4560
Date:
2022-06-15
Revision:
2:9d9681465f4a
Parent:
1:60319e61775d
Child:
3:9b1aefdd251a

File content as of revision 2:9d9681465f4a:

#include "Master.h"

Master::Master() :
      pc(USBTX, USBRX, 115200)
      ,shot(kicker)
      ,drib(ESCpin)
{
    omni.wheel[0].setRadian(PI * 1.0 / 4.0);
    omni.wheel[1].setRadian(PI * 3.0 / 4.0);
    omni.wheel[2].setRadian(PI * 5.0 / 4.0);
    omni.wheel[3].setRadian(PI * 7.0 / 4.0);
    motor[0] = new KohiMD(Pin_motor_0);
    motor[1] = new KohiMD(Pin_motor_1);
    motor[2] = new KohiMD(Pin_motor_2);
    motor[3] = new KohiMD(Pin_motor_3);
    shot.setkickperiod(2.0);
    shot.setoutputtime(0.1);
    drib.setspeed(0.0);
}

void Master::SetPS3Address(bool *button_, uint8_t *trigger_, uint8_t *stick_)
{
    button = button_;
    stick = stick_;
    trigger = trigger_;
}

void Master::PS3Com()
{
    for(int i=0; i < 4; i++) {   
        if (button[i+4]) {
            pwm = 0.5;
        } else if (button[i+4+4]){
            pwm = -0.5;
        } else {
            pwm = 0;
        }
        SetValueMotor(i, pwm);
    }
    if (button[2]) Shot();
    if (button[3]) Dribble(0.6);
}

void Master::Shot()
{
    shot.outPut();
}

void Master::Dribble(float power)
{
    drib.setspeed(power);
}

void Master::SetValueMotor(int num, double val)
{
    motor[num]->setSpeed(val);
}