CatPot 2015-2016 / Mbed 2 deprecated CatPot_2v10_T_Main

Dependencies:   mbed AQM1602 HMC6352 PID

Committer:
lilac0112_1
Date:
Thu Mar 10 08:26:33 2016 +0000
Revision:
11:3efae754e6ef
Parent:
10:6df631c39f9b
Child:
14:b510adcb6065
somehow

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 10:6df631c39f9b 7 sprintf(buf, "Str%2d%.10s", sys.strategy, act[sys.strategy].LcdStr);
lilac0112_1 4:52da8da146d4 8 Lcd.locate(0, 1);Lcd.print(buf);wait_ms(50);return 0;
lilac0112_1 4:52da8da146d4 9 }
lilac0112_1 10:6df631c39f9b 10 else if(x==2){
lilac0112_1 10:6df631c39f9b 11 sprintf(buf, "%2d:S%2d M%2d L%2d",
lilac0112_1 10:6df631c39f9b 12 sys.pow_num,
lilac0112_1 10:6df631c39f9b 13 ir_pow_val[sys.pow_num][POW_SHORT],
lilac0112_1 10:6df631c39f9b 14 ir_pow_val[sys.pow_num][POW_MIDDLE],
lilac0112_1 10:6df631c39f9b 15 ir_pow_val[sys.pow_num][POW_LONG]
lilac0112_1 10:6df631c39f9b 16 );
lilac0112_1 10:6df631c39f9b 17 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 10:6df631c39f9b 18 return 0;
lilac0112_1 10:6df631c39f9b 19 }
lilac0112_1 10:6df631c39f9b 20 else{//x==3
lilac0112_1 4:52da8da146d4 21 sprintf(buf, "SeeYouAgain!");
lilac0112_1 4:52da8da146d4 22 Lcd.locate(0, 1);Lcd.print(buf);wait(0.5);
lilac0112_1 4:52da8da146d4 23 NVIC_SystemReset();
lilac0112_1 4:52da8da146d4 24 return 1;
lilac0112_1 4:52da8da146d4 25 }
lilac0112_1 4:52da8da146d4 26 }
lilac0112_1 4:52da8da146d4 27 uint8_t Start(uint8_t x){
lilac0112_1 7:efe90188a49d 28 char buf[LCD_COLUMN_NUM];
lilac0112_1 8:25c8c75d182a 29 uint8_t temp;
lilac0112_1 8:25c8c75d182a 30 temp = sys.strategy;
lilac0112_1 4:52da8da146d4 31 sprintf(buf, "CatPot");
lilac0112_1 4:52da8da146d4 32 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 4:52da8da146d4 33 sys.strategy=0;
lilac0112_1 10:6df631c39f9b 34 sys.TurnStartFlag=0;
lilac0112_1 10:6df631c39f9b 35 Active();
lilac0112_1 10:6df631c39f9b 36 sys.strategy=temp;
lilac0112_1 10:6df631c39f9b 37 return 1;
lilac0112_1 10:6df631c39f9b 38 }
lilac0112_1 10:6df631c39f9b 39 uint8_t TurnAndStart(uint8_t x){
lilac0112_1 10:6df631c39f9b 40 char buf[LCD_COLUMN_NUM];
lilac0112_1 10:6df631c39f9b 41 uint8_t temp;
lilac0112_1 10:6df631c39f9b 42 temp = sys.strategy;
lilac0112_1 10:6df631c39f9b 43 sprintf(buf, "CatPot");
lilac0112_1 10:6df631c39f9b 44 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 10:6df631c39f9b 45 sys.strategy=0;
lilac0112_1 10:6df631c39f9b 46 sys.TurnStartFlag=1;
lilac0112_1 5:5ff3a7d5d8c2 47 Active();
lilac0112_1 8:25c8c75d182a 48 sys.strategy=temp;
lilac0112_1 4:52da8da146d4 49 return 1;
lilac0112_1 4:52da8da146d4 50 }
lilac0112_1 4:52da8da146d4 51 uint8_t GetIr(uint8_t x){
lilac0112_1 7:efe90188a49d 52 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 53 ReadIr();
lilac0112_1 4:52da8da146d4 54
lilac0112_1 4:52da8da146d4 55 //if(x==1) sprintf(buf, "SHRT:%2d, LNG:%2d", data.irSpot[0], data.irSpot[1]);
lilac0112_1 4:52da8da146d4 56 //if(x==2) sprintf(buf, "NOTE:%2d", data.irNotice);
lilac0112_1 4:52da8da146d4 57 //if(x==3) sprintf(buf, "POSITION:%2d", data.irPosition);
lilac0112_1 4:52da8da146d4 58 if(x==1) sprintf(buf, "POSI:%2d NOTE:%1d", data.irPosition, data.irNotice);
lilac0112_1 4:52da8da146d4 59 if(x==2) sprintf(buf, "PH_L:%1d PH_S:%1d", data.irValPhase[IR_LONG], data.irValPhase[IR_SHORT]);
lilac0112_1 4:52da8da146d4 60 if(x==3) sprintf(buf, "DIF:%1d KEY:%2d", data.irDif[IR_LONG], data.irKey);
lilac0112_1 4:52da8da146d4 61 Lcd.locate(0, 1);Lcd.print(buf);wait_ms(50);return 0;
lilac0112_1 4:52da8da146d4 62 }
lilac0112_1 10:6df631c39f9b 63 uint8_t GetSns0(uint8_t x){
lilac0112_1 7:efe90188a49d 64 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 65 uint8_t raw[3];
lilac0112_1 4:52da8da146d4 66 uint8_t held[3];
lilac0112_1 4:52da8da146d4 67 if(x==1){
lilac0112_1 11:3efae754e6ef 68 LineKeeper=LINE_FIX;//line
lilac0112_1 10:6df631c39f9b 69
lilac0112_1 4:52da8da146d4 70 raw[2] = GetBit(LineRaw, 3);
lilac0112_1 4:52da8da146d4 71 raw[1] = GetBit(LineRaw, 2);
lilac0112_1 4:52da8da146d4 72 raw[0] = GetBit(LineRaw, 1);
lilac0112_1 4:52da8da146d4 73
lilac0112_1 4:52da8da146d4 74 held[2] = GetBit(LineHold, 3);
lilac0112_1 4:52da8da146d4 75 held[1] = GetBit(LineHold, 2);
lilac0112_1 4:52da8da146d4 76 held[0] = GetBit(LineHold, 1);
lilac0112_1 4:52da8da146d4 77 //BusOut LineKeeper(lineInA, lineInB, lineInC);
lilac0112_1 4:52da8da146d4 78 //BusIn LineRaw(lineA2, lineB2, lineC2);
lilac0112_1 4:52da8da146d4 79 //BusIn LineHold(lineA1, lineB1, lineC1);
lilac0112_1 4:52da8da146d4 80 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 81 //sprintf(buf, "A:%1d B:%1d C:%1d ", Line[0].read(), Line[1].read(), Line[2].read());
lilac0112_1 4:52da8da146d4 82 Lcd.locate(0, 1);Lcd.print(buf);wait_ms(50);return 0;
lilac0112_1 4:52da8da146d4 83 }
lilac0112_1 4:52da8da146d4 84 if(x==2){
lilac0112_1 10:6df631c39f9b 85 ReadPing2();
lilac0112_1 4:52da8da146d4 86 ReadPing();
lilac0112_1 10:6df631c39f9b 87 sprintf(buf, "L%3dR%3dF%3dB%3d", data.ping[L_PING], data.ping[R_PING], data.ping[F_PING], data.ping[B_PING]);
lilac0112_1 4:52da8da146d4 88 Lcd.locate(0, 1);Lcd.print(buf);wait_ms(50);return 0;
lilac0112_1 4:52da8da146d4 89 }
lilac0112_1 4:52da8da146d4 90 if(x==3){
lilac0112_1 4:52da8da146d4 91 //ReadIr();
lilac0112_1 4:52da8da146d4 92 //sprintf(buf, "IR_KEY:%2d", data.irKey);
lilac0112_1 4:52da8da146d4 93 //sprintf(buf, "BALL:%1d", BallChecker.read());
lilac0112_1 4:52da8da146d4 94 sprintf(buf, "BALLA%6d", BallCheckerA.read_u16());
lilac0112_1 4:52da8da146d4 95 Lcd.locate(0, 1);Lcd.print(buf);wait_ms(50);return 0;
lilac0112_1 4:52da8da146d4 96 }
lilac0112_1 4:52da8da146d4 97 return 0;
lilac0112_1 4:52da8da146d4 98 }
lilac0112_1 4:52da8da146d4 99 uint8_t GetPidValue(uint8_t x){
lilac0112_1 7:efe90188a49d 100 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 101 PidUpdate();
lilac0112_1 4:52da8da146d4 102 sprintf(buf, "In:%03.0f Out:%+02d", cmps_set.InputPID, cmps_set.OutputPID);
lilac0112_1 4:52da8da146d4 103 Lcd.locate(0, 1);Lcd.print(buf);wait_ms(50);return 0;
lilac0112_1 4:52da8da146d4 104 }
lilac0112_1 10:6df631c39f9b 105 uint8_t RwPid(uint8_t x){
lilac0112_1 10:6df631c39f9b 106 char buf[LCD_COLUMN_NUM];
lilac0112_1 10:6df631c39f9b 107 if(x==1){
lilac0112_1 10:6df631c39f9b 108 PidUpdate();
lilac0112_1 10:6df631c39f9b 109 sprintf(buf, "In:%03.0f Out:%+02d", cmps_set.InputPID, cmps_set.OutputPID);
lilac0112_1 10:6df631c39f9b 110 Lcd.locate(0, 1);Lcd.print(buf);wait_ms(50);return 0;
lilac0112_1 10:6df631c39f9b 111 }
lilac0112_1 10:6df631c39f9b 112 if(x==2){
lilac0112_1 10:6df631c39f9b 113 sys.jump_flag=START;
lilac0112_1 10:6df631c39f9b 114 sprintf(buf, "FaceToFront!");
lilac0112_1 10:6df631c39f9b 115 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 10:6df631c39f9b 116 hmc_reset = HMC_RST;
lilac0112_1 10:6df631c39f9b 117 wait_us(100);
lilac0112_1 10:6df631c39f9b 118 hmc_reset = HMC_RUN;
lilac0112_1 10:6df631c39f9b 119 for(int i=0; i<5; i++){
lilac0112_1 10:6df631c39f9b 120 ReadCmps();
lilac0112_1 10:6df631c39f9b 121 cmps_set.CmpsInitialValue = cmps_set.cmps;
lilac0112_1 10:6df631c39f9b 122 wait_ms(100);
lilac0112_1 10:6df631c39f9b 123 }
lilac0112_1 10:6df631c39f9b 124 cmps_set.CmpsDiff = REFERENCE - cmps_set.cmps;
lilac0112_1 10:6df631c39f9b 125 cmps_set.FrontDeg=0;
lilac0112_1 10:6df631c39f9b 126 return 1;
lilac0112_1 10:6df631c39f9b 127 }
lilac0112_1 10:6df631c39f9b 128 return 1;
lilac0112_1 10:6df631c39f9b 129 }
lilac0112_1 10:6df631c39f9b 130 uint8_t CalibrationEnterOrExit(uint8_t x){
lilac0112_1 10:6df631c39f9b 131 static uint8_t state=0;
lilac0112_1 10:6df631c39f9b 132 char buf[LCD_COLUMN_NUM];
lilac0112_1 10:6df631c39f9b 133
lilac0112_1 10:6df631c39f9b 134 if(x==1){
lilac0112_1 10:6df631c39f9b 135 if(state==0){
lilac0112_1 10:6df631c39f9b 136 sprintf(buf, "Exit>>Enter");
lilac0112_1 10:6df631c39f9b 137 }
lilac0112_1 10:6df631c39f9b 138 if(state==1){
lilac0112_1 10:6df631c39f9b 139 sprintf(buf, "Enter>>Exit");
lilac0112_1 10:6df631c39f9b 140 }
lilac0112_1 10:6df631c39f9b 141 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 10:6df631c39f9b 142 return 0;
lilac0112_1 10:6df631c39f9b 143 }
lilac0112_1 10:6df631c39f9b 144 if(x==2){
lilac0112_1 10:6df631c39f9b 145 if(state==0){
lilac0112_1 10:6df631c39f9b 146 hmc.setCalibrationMode(HMC6352_ENTER_CALIB);
lilac0112_1 10:6df631c39f9b 147 state=1;
lilac0112_1 10:6df631c39f9b 148 return 1;
lilac0112_1 10:6df631c39f9b 149 }
lilac0112_1 10:6df631c39f9b 150 if(state==1){
lilac0112_1 10:6df631c39f9b 151 hmc.setCalibrationMode(HMC6352_EXIT_CALIB);
lilac0112_1 10:6df631c39f9b 152 state=0;
lilac0112_1 10:6df631c39f9b 153 return 1;
lilac0112_1 10:6df631c39f9b 154 }
lilac0112_1 10:6df631c39f9b 155 }
lilac0112_1 10:6df631c39f9b 156 return 1;
lilac0112_1 10:6df631c39f9b 157 }
lilac0112_1 10:6df631c39f9b 158 uint8_t CalibrationTurn(uint8_t x){
lilac0112_1 10:6df631c39f9b 159 char buf[LCD_COLUMN_NUM];
lilac0112_1 10:6df631c39f9b 160 sprintf(buf, "CalibrationTurn");
lilac0112_1 10:6df631c39f9b 161 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 10:6df631c39f9b 162 hmc.setCalibrationMode(HMC6352_ENTER_CALIB);wait_ms(20);
lilac0112_1 10:6df631c39f9b 163 move(0,0,5);tx_motor();
lilac0112_1 10:6df631c39f9b 164 wait(5);
lilac0112_1 10:6df631c39f9b 165 move(0,0,0);tx_motor();
lilac0112_1 10:6df631c39f9b 166 hmc.setCalibrationMode(HMC6352_EXIT_CALIB);wait_ms(20);
lilac0112_1 10:6df631c39f9b 167 sys.jump_flag=GET_PID_VALUE;
lilac0112_1 10:6df631c39f9b 168 return 1;
lilac0112_1 10:6df631c39f9b 169 }
lilac0112_1 4:52da8da146d4 170 uint8_t CalibrationEnter(uint8_t x){
lilac0112_1 7:efe90188a49d 171 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 172 sprintf(buf, "Enter");
lilac0112_1 4:52da8da146d4 173 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 5:5ff3a7d5d8c2 174 hmc.setCalibrationMode(HMC6352_ENTER_CALIB);
lilac0112_1 4:52da8da146d4 175 sys.jump_flag=CALIBRATION_EXIT;
lilac0112_1 4:52da8da146d4 176 return 1;
lilac0112_1 4:52da8da146d4 177 }
lilac0112_1 4:52da8da146d4 178 uint8_t CalibrationExit(uint8_t x){
lilac0112_1 7:efe90188a49d 179 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 180 sprintf(buf, "Exit");
lilac0112_1 4:52da8da146d4 181 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 5:5ff3a7d5d8c2 182 hmc.setCalibrationMode(HMC6352_EXIT_CALIB);
lilac0112_1 4:52da8da146d4 183 sys.jump_flag=START;
lilac0112_1 4:52da8da146d4 184 return 1;
lilac0112_1 4:52da8da146d4 185 }
lilac0112_1 4:52da8da146d4 186 uint8_t FrontReset(uint8_t x){
lilac0112_1 7:efe90188a49d 187 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 188 sys.jump_flag=START;
lilac0112_1 4:52da8da146d4 189 sprintf(buf, "FaceToFront!");
lilac0112_1 4:52da8da146d4 190 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 4:52da8da146d4 191 for(int i=0; i<5; i++){
lilac0112_1 4:52da8da146d4 192 ReadCmps();
lilac0112_1 4:52da8da146d4 193 cmps_set.CmpsInitialValue = cmps_set.cmps;
lilac0112_1 4:52da8da146d4 194 wait_ms(100);
lilac0112_1 4:52da8da146d4 195 }
lilac0112_1 4:52da8da146d4 196 cmps_set.CmpsDiff = REFERENCE - cmps_set.cmps;
lilac0112_1 4:52da8da146d4 197 cmps_set.FrontDeg=0;
lilac0112_1 4:52da8da146d4 198 return 1;
lilac0112_1 4:52da8da146d4 199 }
lilac0112_1 4:52da8da146d4 200 uint8_t SetPower1(uint8_t x){
lilac0112_1 7:efe90188a49d 201 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 202 if(x==1){
lilac0112_1 4:52da8da146d4 203 sys.s_pow = 20;
lilac0112_1 4:52da8da146d4 204 sys.l_pow = 20;
lilac0112_1 4:52da8da146d4 205 }
lilac0112_1 4:52da8da146d4 206 if(x==2){
lilac0112_1 4:52da8da146d4 207 sys.s_pow = 30;
lilac0112_1 4:52da8da146d4 208 sys.l_pow = 30;
lilac0112_1 4:52da8da146d4 209 }
lilac0112_1 4:52da8da146d4 210 if(x==3){
lilac0112_1 4:52da8da146d4 211 sys.s_pow = 40;
lilac0112_1 4:52da8da146d4 212 sys.l_pow = 40;
lilac0112_1 4:52da8da146d4 213 }
lilac0112_1 4:52da8da146d4 214 sys.jump_flag=START;
lilac0112_1 4:52da8da146d4 215 sprintf(buf, "TuningS_power");
lilac0112_1 4:52da8da146d4 216 Lcd.locate(0, 1);Lcd.print(buf);return 0;
lilac0112_1 4:52da8da146d4 217 }
lilac0112_1 4:52da8da146d4 218 uint8_t SetPower2(uint8_t x){
lilac0112_1 7:efe90188a49d 219 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 220 if(x==1){
lilac0112_1 4:52da8da146d4 221 sys.s_pow = 20;
lilac0112_1 4:52da8da146d4 222 sys.l_pow = 30;
lilac0112_1 4:52da8da146d4 223 }
lilac0112_1 4:52da8da146d4 224 if(x==2){
lilac0112_1 4:52da8da146d4 225 sys.s_pow = 25;
lilac0112_1 4:52da8da146d4 226 sys.l_pow = 35;
lilac0112_1 4:52da8da146d4 227 }
lilac0112_1 4:52da8da146d4 228 if(x==3){
lilac0112_1 4:52da8da146d4 229 sys.s_pow = 35;
lilac0112_1 4:52da8da146d4 230 sys.l_pow = 45;
lilac0112_1 4:52da8da146d4 231 }
lilac0112_1 4:52da8da146d4 232 sys.jump_flag=START;
lilac0112_1 4:52da8da146d4 233 sprintf(buf, "TuningL_power");
lilac0112_1 4:52da8da146d4 234 Lcd.locate(0, 1);Lcd.print(buf);return 0;
lilac0112_1 4:52da8da146d4 235 }
lilac0112_1 7:efe90188a49d 236 uint8_t SetPowerUp(uint8_t x){
lilac0112_1 7:efe90188a49d 237 char buf[LCD_COLUMN_NUM];
lilac0112_1 7:efe90188a49d 238 uint8_t i=(sys.pow_num+(-1+POW_COMBI_NUM))%POW_COMBI_NUM;
lilac0112_1 7:efe90188a49d 239 if(x==1){
lilac0112_1 7:efe90188a49d 240 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 241 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 7:efe90188a49d 242 return 0;
lilac0112_1 7:efe90188a49d 243 }
lilac0112_1 7:efe90188a49d 244 else{//x==2
lilac0112_1 7:efe90188a49d 245 sys.pow_num = i;
lilac0112_1 7:efe90188a49d 246 sys.s_pow = ir_pow_val[sys.pow_num][POW_SHORT];
lilac0112_1 7:efe90188a49d 247 sys.m_pow = ir_pow_val[sys.pow_num][POW_MIDDLE];
lilac0112_1 7:efe90188a49d 248 sys.l_pow = ir_pow_val[sys.pow_num][POW_LONG];
lilac0112_1 7:efe90188a49d 249 return 1;
lilac0112_1 7:efe90188a49d 250 }
lilac0112_1 7:efe90188a49d 251 }
lilac0112_1 7:efe90188a49d 252 uint8_t SetPowerDown(uint8_t x){
lilac0112_1 7:efe90188a49d 253 char buf[LCD_COLUMN_NUM];
lilac0112_1 7:efe90188a49d 254 uint8_t i=(sys.pow_num+1)%POW_COMBI_NUM;
lilac0112_1 7:efe90188a49d 255 if(x==1){
lilac0112_1 7:efe90188a49d 256 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 257 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 7:efe90188a49d 258 return 0;
lilac0112_1 7:efe90188a49d 259 }
lilac0112_1 7:efe90188a49d 260 else{//x==2
lilac0112_1 7:efe90188a49d 261 sys.pow_num = i;
lilac0112_1 7:efe90188a49d 262 sys.s_pow = ir_pow_val[sys.pow_num][POW_SHORT];
lilac0112_1 7:efe90188a49d 263 sys.m_pow = ir_pow_val[sys.pow_num][POW_MIDDLE];
lilac0112_1 7:efe90188a49d 264 sys.l_pow = ir_pow_val[sys.pow_num][POW_LONG];
lilac0112_1 7:efe90188a49d 265 return 1;
lilac0112_1 7:efe90188a49d 266 }
lilac0112_1 7:efe90188a49d 267 }
lilac0112_1 4:52da8da146d4 268 uint8_t SoftReset(uint8_t x){
lilac0112_1 7:efe90188a49d 269 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 270 sprintf(buf, "SeeYouAgain!");
lilac0112_1 4:52da8da146d4 271 Lcd.locate(0, 1);Lcd.print(buf);wait(0.5);
lilac0112_1 4:52da8da146d4 272 NVIC_SystemReset();
lilac0112_1 4:52da8da146d4 273 return 1;
lilac0112_1 4:52da8da146d4 274 }
lilac0112_1 4:52da8da146d4 275 uint8_t SetStrategy1(uint8_t x){
lilac0112_1 7:efe90188a49d 276 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 277 if(x==1) sys.strategy = 6;
lilac0112_1 4:52da8da146d4 278 if(x==2) sys.strategy = 7;
lilac0112_1 4:52da8da146d4 279 if(x==3) sys.strategy = 8;
lilac0112_1 4:52da8da146d4 280 sys.jump_flag=START;
lilac0112_1 4:52da8da146d4 281 sprintf(buf, "Make a strategy");
lilac0112_1 4:52da8da146d4 282 Lcd.locate(0, 1);Lcd.print(buf);return 0;
lilac0112_1 4:52da8da146d4 283 }
lilac0112_1 4:52da8da146d4 284 uint8_t SetStrategy2(uint8_t x){
lilac0112_1 7:efe90188a49d 285 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 286 if(x==1) sys.strategy = 9;
lilac0112_1 4:52da8da146d4 287 if(x==2) sys.strategy = 10;
lilac0112_1 4:52da8da146d4 288 if(x==3) sys.strategy = 11;
lilac0112_1 4:52da8da146d4 289 sys.jump_flag=START;
lilac0112_1 4:52da8da146d4 290 sprintf(buf, "Make a strategy");
lilac0112_1 4:52da8da146d4 291 Lcd.locate(0, 1);Lcd.print(buf);return 0;
lilac0112_1 4:52da8da146d4 292 }
lilac0112_1 4:52da8da146d4 293 uint8_t SetStrategy3(uint8_t x){
lilac0112_1 7:efe90188a49d 294 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 295 if(x==1) sys.strategy = 0;
lilac0112_1 4:52da8da146d4 296 if(x==2) sys.strategy = 1;
lilac0112_1 4:52da8da146d4 297 if(x==3) sys.strategy = 2;
lilac0112_1 4:52da8da146d4 298 sys.jump_flag=START;
lilac0112_1 4:52da8da146d4 299 sprintf(buf, "Make a strategy");
lilac0112_1 4:52da8da146d4 300 Lcd.locate(0, 1);Lcd.print(buf);return 0;
lilac0112_1 4:52da8da146d4 301 }
lilac0112_1 4:52da8da146d4 302 uint8_t SetStrategy4(uint8_t x){
lilac0112_1 7:efe90188a49d 303 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 304 if(x==1) sys.strategy = 3;
lilac0112_1 4:52da8da146d4 305 if(x==2) sys.strategy = 4;
lilac0112_1 4:52da8da146d4 306 if(x==3) sys.strategy = 5;
lilac0112_1 4:52da8da146d4 307 sys.jump_flag=START;
lilac0112_1 4:52da8da146d4 308 sprintf(buf, "Make a strategy");
lilac0112_1 4:52da8da146d4 309 Lcd.locate(0, 1);Lcd.print(buf);return 0;
lilac0112_1 4:52da8da146d4 310 }
lilac0112_1 8:25c8c75d182a 311 uint8_t SetStrategyUp(uint8_t x){
lilac0112_1 8:25c8c75d182a 312 char buf[LCD_COLUMN_NUM];
lilac0112_1 8:25c8c75d182a 313 uint8_t i=(sys.strategy+(-1+STRATEGY_NUM))%STRATEGY_NUM;
lilac0112_1 8:25c8c75d182a 314 if(x==1){
lilac0112_1 8:25c8c75d182a 315 sprintf(buf, "%2d:%.12s", i, act[i].LcdStr);
lilac0112_1 8:25c8c75d182a 316 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 8:25c8c75d182a 317 return 0;
lilac0112_1 8:25c8c75d182a 318 }
lilac0112_1 8:25c8c75d182a 319 else{//x==2
lilac0112_1 8:25c8c75d182a 320 sys.strategy = i;
lilac0112_1 8:25c8c75d182a 321 return 1;
lilac0112_1 8:25c8c75d182a 322 }
lilac0112_1 8:25c8c75d182a 323 }
lilac0112_1 8:25c8c75d182a 324 uint8_t SetStrategyDown(uint8_t x){
lilac0112_1 8:25c8c75d182a 325 char buf[LCD_COLUMN_NUM];
lilac0112_1 8:25c8c75d182a 326 uint8_t i=(sys.strategy+1)%STRATEGY_NUM;
lilac0112_1 8:25c8c75d182a 327 if(x==1){
lilac0112_1 8:25c8c75d182a 328 sprintf(buf, "%2d:%.12s", i, act[i].LcdStr);
lilac0112_1 8:25c8c75d182a 329 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 8:25c8c75d182a 330 return 0;
lilac0112_1 8:25c8c75d182a 331 }
lilac0112_1 8:25c8c75d182a 332 else{//x==2
lilac0112_1 8:25c8c75d182a 333 sys.strategy = i;
lilac0112_1 8:25c8c75d182a 334 return 1;
lilac0112_1 8:25c8c75d182a 335 }
lilac0112_1 8:25c8c75d182a 336 }
lilac0112_1 4:52da8da146d4 337 uint8_t Start2(uint8_t x){
lilac0112_1 7:efe90188a49d 338 char buf[LCD_COLUMN_NUM];
lilac0112_1 4:52da8da146d4 339 sprintf(buf, "CatPotForDebug");
lilac0112_1 4:52da8da146d4 340 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 5:5ff3a7d5d8c2 341 Active();
lilac0112_1 4:52da8da146d4 342 return 1;
lilac0112_1 9:c966191926c5 343 }
lilac0112_1 9:c966191926c5 344 uint8_t DriveKicker(uint8_t x){
lilac0112_1 9:c966191926c5 345 char buf[LCD_COLUMN_NUM];
lilac0112_1 10:6df631c39f9b 346 sprintf(buf, "KickForDebug");
lilac0112_1 9:c966191926c5 347 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 9:c966191926c5 348 wait(2);
lilac0112_1 9:c966191926c5 349 kicker = 1;
lilac0112_1 9:c966191926c5 350 wait(.5);
lilac0112_1 9:c966191926c5 351 kicker = 0;
lilac0112_1 9:c966191926c5 352 wait(.5);
lilac0112_1 9:c966191926c5 353 return 1;
lilac0112_1 10:6df631c39f9b 354 }
lilac0112_1 10:6df631c39f9b 355 uint8_t DriveDribblerAndKicker(uint8_t x){
lilac0112_1 10:6df631c39f9b 356 char buf[LCD_COLUMN_NUM];
lilac0112_1 10:6df631c39f9b 357 sprintf(buf, "DribbleForDebug");
lilac0112_1 10:6df631c39f9b 358 Lcd.locate(0, 1);Lcd.print(buf);
lilac0112_1 10:6df631c39f9b 359 sys.DribbleFlag=1;wait_ms(20);move(0,0,0);tx_motor();
lilac0112_1 10:6df631c39f9b 360 wait(5);
lilac0112_1 10:6df631c39f9b 361 kicker = 1;
lilac0112_1 10:6df631c39f9b 362 wait(.5);
lilac0112_1 10:6df631c39f9b 363 kicker = 0;
lilac0112_1 10:6df631c39f9b 364 wait(2);
lilac0112_1 10:6df631c39f9b 365 sys.DribbleFlag=0;wait_ms(20);move(0,0,0);tx_motor();
lilac0112_1 10:6df631c39f9b 366 return 1;
lilac0112_1 3:c49ea7ad8e91 367 }