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

Dependencies:   mbed AQM1602 HMC6352 PID

Committer:
lilac0112_1
Date:
Sun Mar 06 15:06:28 2016 +0000
Revision:
7:efe90188a49d
Parent:
5:5ff3a7d5d8c2
Child:
8:25c8c75d182a
active setting

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lilac0112_1 3:c49ea7ad8e91 1 #include "mbed.h"
lilac0112_1 3:c49ea7ad8e91 2 #include "extern.h"
lilac0112_1 3:c49ea7ad8e91 3
lilac0112_1 4:52da8da146d4 4 uint8_t ZeroFunction(uint8_t x){
lilac0112_1 7:efe90188a49d 5 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 6 if(x==1){
lilac0112_1 4:52da8da146d4 7 sprintf(buf, "Strategy:%2d", sys.strategy);
lilac0112_1 4:52da8da146d4 8 Lcd.locate(0, 1);Lcd.print(buf);wait_ms(50);return 0;
lilac0112_1 4:52da8da146d4 9 }
lilac0112_1 4:52da8da146d4 10 else{//x==2
lilac0112_1 4:52da8da146d4 11 sprintf(buf, "SeeYouAgain!");
lilac0112_1 4:52da8da146d4 12 Lcd.locate(0, 1);Lcd.print(buf);wait(0.5);
lilac0112_1 4:52da8da146d4 13 NVIC_SystemReset();
lilac0112_1 4:52da8da146d4 14 return 1;
lilac0112_1 4:52da8da146d4 15 }
lilac0112_1 4:52da8da146d4 16 }
lilac0112_1 4:52da8da146d4 17 uint8_t Start(uint8_t x){
lilac0112_1 7:efe90188a49d 18 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 19 sprintf(buf, "CatPot");
lilac0112_1 4:52da8da146d4 20 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 4:52da8da146d4 21 sys.strategy=0;
lilac0112_1 5:5ff3a7d5d8c2 22 Active();
lilac0112_1 4:52da8da146d4 23 return 1;
lilac0112_1 4:52da8da146d4 24 }
lilac0112_1 4:52da8da146d4 25 uint8_t GetIr(uint8_t x){
lilac0112_1 7:efe90188a49d 26 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 27 ReadIr();
lilac0112_1 4:52da8da146d4 28
lilac0112_1 4:52da8da146d4 29 //if(x==1) sprintf(buf, "SHRT:%2d, LNG:%2d", data.irSpot[0], data.irSpot[1]);
lilac0112_1 4:52da8da146d4 30 //if(x==2) sprintf(buf, "NOTE:%2d", data.irNotice);
lilac0112_1 4:52da8da146d4 31 //if(x==3) sprintf(buf, "POSITION:%2d", data.irPosition);
lilac0112_1 4:52da8da146d4 32 if(x==1) sprintf(buf, "POSI:%2d NOTE:%1d", data.irPosition, data.irNotice);
lilac0112_1 4:52da8da146d4 33 if(x==2) sprintf(buf, "PH_L:%1d PH_S:%1d", data.irValPhase[IR_LONG], data.irValPhase[IR_SHORT]);
lilac0112_1 4:52da8da146d4 34 if(x==3) sprintf(buf, "DIF:%1d KEY:%2d", data.irDif[IR_LONG], data.irKey);
lilac0112_1 4:52da8da146d4 35 Lcd.locate(0, 1);Lcd.print(buf);wait_ms(50);return 0;
lilac0112_1 4:52da8da146d4 36 }
lilac0112_1 4:52da8da146d4 37 uint8_t GetLine(uint8_t x){
lilac0112_1 7:efe90188a49d 38 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 39 uint8_t raw[3];
lilac0112_1 4:52da8da146d4 40 uint8_t held[3];
lilac0112_1 4:52da8da146d4 41 if(x==1){
lilac0112_1 4:52da8da146d4 42 raw[2] = GetBit(LineRaw, 3);
lilac0112_1 4:52da8da146d4 43 raw[1] = GetBit(LineRaw, 2);
lilac0112_1 4:52da8da146d4 44 raw[0] = GetBit(LineRaw, 1);
lilac0112_1 4:52da8da146d4 45
lilac0112_1 4:52da8da146d4 46 held[2] = GetBit(LineHold, 3);
lilac0112_1 4:52da8da146d4 47 held[1] = GetBit(LineHold, 2);
lilac0112_1 4:52da8da146d4 48 held[0] = GetBit(LineHold, 1);
lilac0112_1 4:52da8da146d4 49 //BusOut LineKeeper(lineInA, lineInB, lineInC);
lilac0112_1 4:52da8da146d4 50 //BusIn LineRaw(lineA2, lineB2, lineC2);
lilac0112_1 4:52da8da146d4 51 //BusIn LineHold(lineA1, lineB1, lineC1);
lilac0112_1 4:52da8da146d4 52 sprintf(buf, "A:%1d%1d B:%1d%1d C:%1d%1d ", raw[0],held[0],raw[1],held[1],raw[2],held[2]);
lilac0112_1 4:52da8da146d4 53 //sprintf(buf, "A:%1d B:%1d C:%1d ", Line[0].read(), Line[1].read(), Line[2].read());
lilac0112_1 4:52da8da146d4 54 Lcd.locate(0, 1);Lcd.print(buf);wait_ms(50);return 0;
lilac0112_1 4:52da8da146d4 55 }
lilac0112_1 4:52da8da146d4 56 if(x==2){
lilac0112_1 4:52da8da146d4 57 ReadPing();
lilac0112_1 4:52da8da146d4 58 sprintf(buf, "L:%3d R:%3d", data.ping[L_PING], data.ping[R_PING]);
lilac0112_1 4:52da8da146d4 59 Lcd.locate(0, 1);Lcd.print(buf);wait_ms(50);return 0;
lilac0112_1 4:52da8da146d4 60 }
lilac0112_1 4:52da8da146d4 61 if(x==3){
lilac0112_1 4:52da8da146d4 62 //ReadIr();
lilac0112_1 4:52da8da146d4 63 //sprintf(buf, "IR_KEY:%2d", data.irKey);
lilac0112_1 4:52da8da146d4 64 //sprintf(buf, "BALL:%1d", BallChecker.read());
lilac0112_1 4:52da8da146d4 65 sprintf(buf, "BALLA%6d", BallCheckerA.read_u16());
lilac0112_1 4:52da8da146d4 66 Lcd.locate(0, 1);Lcd.print(buf);wait_ms(50);return 0;
lilac0112_1 4:52da8da146d4 67 }
lilac0112_1 4:52da8da146d4 68 return 0;
lilac0112_1 4:52da8da146d4 69 }
lilac0112_1 4:52da8da146d4 70 uint8_t GetPidValue(uint8_t x){
lilac0112_1 7:efe90188a49d 71 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 72 PidUpdate();
lilac0112_1 4:52da8da146d4 73 sprintf(buf, "In:%03.0f Out:%+02d", cmps_set.InputPID, cmps_set.OutputPID);
lilac0112_1 4:52da8da146d4 74 Lcd.locate(0, 1);Lcd.print(buf);wait_ms(50);return 0;
lilac0112_1 4:52da8da146d4 75 }
lilac0112_1 4:52da8da146d4 76 uint8_t CalibrationEnter(uint8_t x){
lilac0112_1 7:efe90188a49d 77 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 78 sprintf(buf, "Enter");
lilac0112_1 4:52da8da146d4 79 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 5:5ff3a7d5d8c2 80 hmc.setCalibrationMode(HMC6352_ENTER_CALIB);
lilac0112_1 4:52da8da146d4 81 sys.jump_flag=CALIBRATION_EXIT;
lilac0112_1 4:52da8da146d4 82 return 1;
lilac0112_1 4:52da8da146d4 83 }
lilac0112_1 4:52da8da146d4 84 uint8_t CalibrationExit(uint8_t x){
lilac0112_1 7:efe90188a49d 85 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 86 sprintf(buf, "Exit");
lilac0112_1 4:52da8da146d4 87 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 5:5ff3a7d5d8c2 88 hmc.setCalibrationMode(HMC6352_EXIT_CALIB);
lilac0112_1 4:52da8da146d4 89 sys.jump_flag=START;
lilac0112_1 4:52da8da146d4 90 return 1;
lilac0112_1 4:52da8da146d4 91 }
lilac0112_1 4:52da8da146d4 92 uint8_t FrontReset(uint8_t x){
lilac0112_1 7:efe90188a49d 93 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 94 sys.jump_flag=START;
lilac0112_1 4:52da8da146d4 95 sprintf(buf, "FaceToFront!");
lilac0112_1 4:52da8da146d4 96 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 4:52da8da146d4 97 for(int i=0; i<5; i++){
lilac0112_1 4:52da8da146d4 98 ReadCmps();
lilac0112_1 4:52da8da146d4 99 cmps_set.CmpsInitialValue = cmps_set.cmps;
lilac0112_1 4:52da8da146d4 100 wait_ms(100);
lilac0112_1 4:52da8da146d4 101 }
lilac0112_1 4:52da8da146d4 102 cmps_set.CmpsDiff = REFERENCE - cmps_set.cmps;
lilac0112_1 4:52da8da146d4 103 cmps_set.FrontDeg=0;
lilac0112_1 4:52da8da146d4 104 return 1;
lilac0112_1 4:52da8da146d4 105 }
lilac0112_1 4:52da8da146d4 106 uint8_t SetPower1(uint8_t x){
lilac0112_1 7:efe90188a49d 107 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 108 if(x==1){
lilac0112_1 4:52da8da146d4 109 sys.s_pow = 20;
lilac0112_1 4:52da8da146d4 110 sys.l_pow = 20;
lilac0112_1 4:52da8da146d4 111 }
lilac0112_1 4:52da8da146d4 112 if(x==2){
lilac0112_1 4:52da8da146d4 113 sys.s_pow = 30;
lilac0112_1 4:52da8da146d4 114 sys.l_pow = 30;
lilac0112_1 4:52da8da146d4 115 }
lilac0112_1 4:52da8da146d4 116 if(x==3){
lilac0112_1 4:52da8da146d4 117 sys.s_pow = 40;
lilac0112_1 4:52da8da146d4 118 sys.l_pow = 40;
lilac0112_1 4:52da8da146d4 119 }
lilac0112_1 4:52da8da146d4 120 sys.jump_flag=START;
lilac0112_1 4:52da8da146d4 121 sprintf(buf, "TuningS_power");
lilac0112_1 4:52da8da146d4 122 Lcd.locate(0, 1);Lcd.print(buf);return 0;
lilac0112_1 4:52da8da146d4 123 }
lilac0112_1 4:52da8da146d4 124 uint8_t SetPower2(uint8_t x){
lilac0112_1 7:efe90188a49d 125 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 126 if(x==1){
lilac0112_1 4:52da8da146d4 127 sys.s_pow = 20;
lilac0112_1 4:52da8da146d4 128 sys.l_pow = 30;
lilac0112_1 4:52da8da146d4 129 }
lilac0112_1 4:52da8da146d4 130 if(x==2){
lilac0112_1 4:52da8da146d4 131 sys.s_pow = 25;
lilac0112_1 4:52da8da146d4 132 sys.l_pow = 35;
lilac0112_1 4:52da8da146d4 133 }
lilac0112_1 4:52da8da146d4 134 if(x==3){
lilac0112_1 4:52da8da146d4 135 sys.s_pow = 35;
lilac0112_1 4:52da8da146d4 136 sys.l_pow = 45;
lilac0112_1 4:52da8da146d4 137 }
lilac0112_1 4:52da8da146d4 138 sys.jump_flag=START;
lilac0112_1 4:52da8da146d4 139 sprintf(buf, "TuningL_power");
lilac0112_1 4:52da8da146d4 140 Lcd.locate(0, 1);Lcd.print(buf);return 0;
lilac0112_1 4:52da8da146d4 141 }
lilac0112_1 7:efe90188a49d 142 uint8_t SetPowerUp(uint8_t x){
lilac0112_1 7:efe90188a49d 143 char buf[LCD_COLUMN_NUM];
lilac0112_1 7:efe90188a49d 144 uint8_t i=(sys.pow_num+(-1+POW_COMBI_NUM))%POW_COMBI_NUM;
lilac0112_1 7:efe90188a49d 145 if(x==1){
lilac0112_1 7:efe90188a49d 146 sprintf(buf, "%2d:S%2d M%2d L%2d", i, ir_pow_val[i][POW_SHORT], ir_pow_val[i][POW_MIDDLE], ir_pow_val[i][POW_LONG]);
lilac0112_1 7:efe90188a49d 147 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 7:efe90188a49d 148 return 0;
lilac0112_1 7:efe90188a49d 149 }
lilac0112_1 7:efe90188a49d 150 else{//x==2
lilac0112_1 7:efe90188a49d 151 sys.pow_num = i;
lilac0112_1 7:efe90188a49d 152 sys.s_pow = ir_pow_val[sys.pow_num][POW_SHORT];
lilac0112_1 7:efe90188a49d 153 sys.m_pow = ir_pow_val[sys.pow_num][POW_MIDDLE];
lilac0112_1 7:efe90188a49d 154 sys.l_pow = ir_pow_val[sys.pow_num][POW_LONG];
lilac0112_1 7:efe90188a49d 155 return 1;
lilac0112_1 7:efe90188a49d 156 }
lilac0112_1 7:efe90188a49d 157 }
lilac0112_1 7:efe90188a49d 158 uint8_t SetPowerDown(uint8_t x){
lilac0112_1 7:efe90188a49d 159 char buf[LCD_COLUMN_NUM];
lilac0112_1 7:efe90188a49d 160 uint8_t i=(sys.pow_num+1)%POW_COMBI_NUM;
lilac0112_1 7:efe90188a49d 161 if(x==1){
lilac0112_1 7:efe90188a49d 162 sprintf(buf, "%2d:S%2d M%2d L%2d", i, ir_pow_val[i][POW_SHORT], ir_pow_val[i][POW_MIDDLE], ir_pow_val[i][POW_LONG]);
lilac0112_1 7:efe90188a49d 163 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 7:efe90188a49d 164 return 0;
lilac0112_1 7:efe90188a49d 165 }
lilac0112_1 7:efe90188a49d 166 else{//x==2
lilac0112_1 7:efe90188a49d 167 sys.pow_num = i;
lilac0112_1 7:efe90188a49d 168 sys.s_pow = ir_pow_val[sys.pow_num][POW_SHORT];
lilac0112_1 7:efe90188a49d 169 sys.m_pow = ir_pow_val[sys.pow_num][POW_MIDDLE];
lilac0112_1 7:efe90188a49d 170 sys.l_pow = ir_pow_val[sys.pow_num][POW_LONG];
lilac0112_1 7:efe90188a49d 171 return 1;
lilac0112_1 7:efe90188a49d 172 }
lilac0112_1 7:efe90188a49d 173 }
lilac0112_1 4:52da8da146d4 174 uint8_t SoftReset(uint8_t x){
lilac0112_1 7:efe90188a49d 175 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 176 sprintf(buf, "SeeYouAgain!");
lilac0112_1 4:52da8da146d4 177 Lcd.locate(0, 1);Lcd.print(buf);wait(0.5);
lilac0112_1 4:52da8da146d4 178 NVIC_SystemReset();
lilac0112_1 4:52da8da146d4 179 return 1;
lilac0112_1 4:52da8da146d4 180 }
lilac0112_1 4:52da8da146d4 181 uint8_t SetStrategy1(uint8_t x){
lilac0112_1 7:efe90188a49d 182 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 183 if(x==1) sys.strategy = 6;
lilac0112_1 4:52da8da146d4 184 if(x==2) sys.strategy = 7;
lilac0112_1 4:52da8da146d4 185 if(x==3) sys.strategy = 8;
lilac0112_1 4:52da8da146d4 186 sys.jump_flag=START;
lilac0112_1 4:52da8da146d4 187 sprintf(buf, "Make a strategy");
lilac0112_1 4:52da8da146d4 188 Lcd.locate(0, 1);Lcd.print(buf);return 0;
lilac0112_1 4:52da8da146d4 189 }
lilac0112_1 4:52da8da146d4 190 uint8_t SetStrategy2(uint8_t x){
lilac0112_1 7:efe90188a49d 191 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 192 if(x==1) sys.strategy = 9;
lilac0112_1 4:52da8da146d4 193 if(x==2) sys.strategy = 10;
lilac0112_1 4:52da8da146d4 194 if(x==3) sys.strategy = 11;
lilac0112_1 4:52da8da146d4 195 sys.jump_flag=START;
lilac0112_1 4:52da8da146d4 196 sprintf(buf, "Make a strategy");
lilac0112_1 4:52da8da146d4 197 Lcd.locate(0, 1);Lcd.print(buf);return 0;
lilac0112_1 4:52da8da146d4 198 }
lilac0112_1 4:52da8da146d4 199 uint8_t SetStrategy3(uint8_t x){
lilac0112_1 7:efe90188a49d 200 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 201 if(x==1) sys.strategy = 0;
lilac0112_1 4:52da8da146d4 202 if(x==2) sys.strategy = 1;
lilac0112_1 4:52da8da146d4 203 if(x==3) sys.strategy = 2;
lilac0112_1 4:52da8da146d4 204 sys.jump_flag=START;
lilac0112_1 4:52da8da146d4 205 sprintf(buf, "Make a strategy");
lilac0112_1 4:52da8da146d4 206 Lcd.locate(0, 1);Lcd.print(buf);return 0;
lilac0112_1 4:52da8da146d4 207 }
lilac0112_1 4:52da8da146d4 208 uint8_t SetStrategy4(uint8_t x){
lilac0112_1 7:efe90188a49d 209 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 210 if(x==1) sys.strategy = 3;
lilac0112_1 4:52da8da146d4 211 if(x==2) sys.strategy = 4;
lilac0112_1 4:52da8da146d4 212 if(x==3) sys.strategy = 5;
lilac0112_1 4:52da8da146d4 213 sys.jump_flag=START;
lilac0112_1 4:52da8da146d4 214 sprintf(buf, "Make a strategy");
lilac0112_1 4:52da8da146d4 215 Lcd.locate(0, 1);Lcd.print(buf);return 0;
lilac0112_1 4:52da8da146d4 216 }
lilac0112_1 4:52da8da146d4 217 uint8_t Start2(uint8_t x){
lilac0112_1 7:efe90188a49d 218 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 219 sprintf(buf, "CatPotForDebug");
lilac0112_1 4:52da8da146d4 220 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 5:5ff3a7d5d8c2 221 Active();
lilac0112_1 4:52da8da146d4 222 return 1;
lilac0112_1 3:c49ea7ad8e91 223 }