ジャパンオープン用のメインプログラム

Dependencies:   mbed AQM1602 HMC6352 PID

main_processing/setup_command_active/command_functions.cpp

Committer:
lilac0112_1
Date:
2016-03-03
Revision:
3:c49ea7ad8e91
Child:
4:52da8da146d4

File content as of revision 3:c49ea7ad8e91:

#include "mbed.h"
#include "extern.h"

uint8_t LoopFunction0(uint8_t x){
    char buf[0x10];
    if(x==1){
        sprintf(buf, "Strategy:%2d", sys.strategy);
        Lcd.locate(0, 1);Lcd.print(buf);wait_ms(50);return 0;
    }
    else{//x==2
        sprintf(buf, "SeeYouAgain!");
        Lcd.locate(0, 1);Lcd.print(buf);wait(0.5);
        NVIC_SystemReset();
        return 1;
    }
}
uint8_t LoopFunction1(uint8_t x){
    char buf[0x10];
    sprintf(buf, "CatPot");
    Lcd.locate(0, 1);Lcd.print(buf);
    sys.strategy=0;
    ActiveLoop();
    return 1;
}
uint8_t LoopFunction2(uint8_t x){
    char buf[0x10];
    ReadIr();
    
    //if(x==1) sprintf(buf, "SHRT:%2d, LNG:%2d", data.irSpot[0], data.irSpot[1]);
    //if(x==2) sprintf(buf, "NOTE:%2d", data.irNotice);
    //if(x==3) sprintf(buf, "POSITION:%2d", data.irPosition);
    if(x==1) sprintf(buf, "POSI:%2d NOTE:%1d", data.irPosition, data.irNotice);
    if(x==2) sprintf(buf, "PH_L:%1d PH_S:%1d", data.irValPhase[IR_LONG], data.irValPhase[IR_SHORT]);
    if(x==3) sprintf(buf, "DIF:%1d KEY:%2d", data.irDif[IR_LONG], data.irKey);
    Lcd.locate(0, 1);Lcd.print(buf);wait_ms(50);return 0;
}
uint8_t LoopFunction3(uint8_t x){
    char buf[0x10];
    uint8_t raw[3];
    uint8_t held[3];
    if(x==1){
        raw[2] = GetBit(LineRaw, 3);
        raw[1] = GetBit(LineRaw, 2);
        raw[0] = GetBit(LineRaw, 1);
        
        held[2] = GetBit(LineHold, 3);
        held[1] = GetBit(LineHold, 2);
        held[0] = GetBit(LineHold, 1);
        //BusOut LineKeeper(lineInA, lineInB, lineInC);
        //BusIn LineRaw(lineA2, lineB2, lineC2);
        //BusIn LineHold(lineA1, lineB1, lineC1);
        sprintf(buf, "A:%1d%1d B:%1d%1d C:%1d%1d ", raw[0],held[0],raw[1],held[1],raw[2],held[2]);
        //sprintf(buf, "A:%1d B:%1d C:%1d ", Line[0].read(), Line[1].read(), Line[2].read());
        Lcd.locate(0, 1);Lcd.print(buf);wait_ms(50);return 0;
    }
    if(x==2){
        ReadPing();
        sprintf(buf, "L:%3d R:%3d", data.ping[L_PING], data.ping[R_PING]);
        Lcd.locate(0, 1);Lcd.print(buf);wait_ms(50);return 0;
    }
    if(x==3){
        //ReadIr();
        //sprintf(buf, "IR_KEY:%2d", data.irKey);
        //sprintf(buf, "BALL:%1d", BallChecker.read());
        sprintf(buf, "BALLA%6d", BallCheckerA.read_u16());
        Lcd.locate(0, 1);Lcd.print(buf);wait_ms(50);return 0;
    }
    return 0;
}
uint8_t LoopFunction4(uint8_t x){
    char buf[0x10];
    PidUpdate();
    sprintf(buf, "In:%03.0f Out:%+02d", cmps_set.InputPID, cmps_set.OutputPID);
    Lcd.locate(0, 1);Lcd.print(buf);wait_ms(50);return 0;
}
uint8_t LoopFunction5(uint8_t x){
    char buf[0x10];
    sprintf(buf, "Enter");
    Lcd.locate(0, 1);Lcd.print(buf);
    hmc.setCalibrationMode(HMC6352_EXIT_CALIB);
    sys.jump_flag=6;
    return 1;
}
uint8_t LoopFunction6(uint8_t x){
    char buf[0x10];
    sprintf(buf, "Exit");
    Lcd.locate(0, 1);Lcd.print(buf);
    hmc.setCalibrationMode(HMC6352_ENTER_CALIB);
    sys.jump_flag=1;
    return 1;
}
uint8_t LoopFunction7(uint8_t x){
    char buf[0x10];
    sys.jump_flag=1;
    sprintf(buf, "FaceToFront!");
    Lcd.locate(0, 1);Lcd.print(buf);
    for(int i=0; i<5; i++){
        ReadCmps();
        cmps_set.CmpsInitialValue = cmps_set.cmps;
        wait_ms(100);
    }
    cmps_set.CmpsDiff = REFERENCE - cmps_set.cmps;
    cmps_set.FrontDeg=0;
    sys.jump_flag=1;
    return 1;
}
uint8_t LoopFunction8(uint8_t x){
    char buf[0x10];
    if(x==1){
        sys.s_pow =  20;
        sys.l_pow =  20;
    }
    if(x==2){
        sys.s_pow =  30;
        sys.l_pow =  30;
    }
    if(x==3){
        sys.s_pow =  40;
        sys.l_pow =  40;
    }
    sys.jump_flag=1;
    sprintf(buf, "TuningS_power");
    Lcd.locate(0, 1);Lcd.print(buf);return 0;
}
uint8_t LoopFunction9(uint8_t x){
    char buf[0x10];
    if(x==1){
        sys.s_pow =  20;
        sys.l_pow =  30;
    }
    if(x==2){
        sys.s_pow =  25;
        sys.l_pow =  35;
    }
    if(x==3){
        sys.s_pow =  35;
        sys.l_pow =  45;
    }
    sys.jump_flag=1;
    sprintf(buf, "TuningL_power");
    Lcd.locate(0, 1);Lcd.print(buf);return 0;
}
uint8_t LoopFunctionA(uint8_t x){
    char buf[0x10];
    sprintf(buf, "SeeYouAgain!");
    Lcd.locate(0, 1);Lcd.print(buf);wait(0.5);
    NVIC_SystemReset();
    return 1;
}
uint8_t LoopFunctionB(uint8_t x){
    char buf[0x10];
    if(x==1) sys.strategy = 6;
    if(x==2) sys.strategy = 7;
    if(x==3) sys.strategy = 8;
    sys.jump_flag=1;
    sprintf(buf, "Make a strategy");
    Lcd.locate(0, 1);Lcd.print(buf);return 0;
}
uint8_t LoopFunctionC(uint8_t x){
    char buf[0x10];
    if(x==1) sys.strategy = 9;
    if(x==2) sys.strategy = 10;
    if(x==3) sys.strategy = 11;
    sys.jump_flag=1;
    sprintf(buf, "Make a strategy");
    Lcd.locate(0, 1);Lcd.print(buf);return 0;
}
uint8_t LoopFunctionD(uint8_t x){
    char buf[0x10];
    if(x==1) sys.strategy = 0;
    if(x==2) sys.strategy = 1;
    if(x==3) sys.strategy = 2;
    sys.jump_flag=1;
    sprintf(buf, "Make a strategy");
    Lcd.locate(0, 1);Lcd.print(buf);return 0;
}
uint8_t LoopFunctionE(uint8_t x){
    char buf[0x10];
    if(x==1) sys.strategy = 3;
    if(x==2) sys.strategy = 4;
    if(x==3) sys.strategy = 5;
    sys.jump_flag=1;
    sprintf(buf, "Make a strategy");
    Lcd.locate(0, 1);Lcd.print(buf);return 0;
}
uint8_t LoopFunctionF(uint8_t x){
    char buf[0x10];
    sprintf(buf, "CatPotForDebug");
    Lcd.locate(0, 1);Lcd.print(buf);
    ActiveLoop();
    return 1;
}