Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed AQM1602 HMC6352 PID
Diff: main_processing/strategy/strategy.cpp
- Revision:
- 15:17502a27a60b
- Parent:
- 14:b510adcb6065
- Child:
- 16:4fadb7a87497
--- a/main_processing/strategy/strategy.cpp Fri Mar 11 04:17:00 2016 +0000
+++ b/main_processing/strategy/strategy.cpp Fri Mar 11 05:21:26 2016 +0000
@@ -966,7 +966,7 @@
//double pow_x, pow_y;
uint8_t ir_pow;
int vx,vy,vs;
- //static uint8_t data.kkk;
+ //static uint8_t data.FieldSpot;
if(sys.KickOffFlag==1){
@@ -975,8 +975,7 @@
sys.LineBlind=0;
sys.PingBlind=0;
- data.FieldState=LINE_OUTSIDE;
- data.kkk = LINE_INSIDE;
+ data.FieldSpot = LINE_INSIDE;
LineLiberate();
sys.KickOffFlag=0;
@@ -1022,12 +1021,12 @@
data.lnStop[X_LINE] = 1;
data.lnStop[Y_LINE] = 1;
- //data.FieldState = LINE_INSIDE;
+ data.FieldSpot = LINE_INSIDE;
}
else{
//LineJudgeReset();
if((data.lnRaw==0)&&(data.lnHold==7)){
- if(data.kkk==LINE_INSIDE){
+ if(data.FieldSpot==LINE_INSIDE){
data.lnCorner[L_LINE] = (data.ping[L_PING]<OutToWall[X_PING]);
data.lnCorner[R_LINE] = (data.ping[R_PING]<OutToWall[X_PING]);
data.lnCorner[F_LINE] = (data.ping[F_PING]<OutToWall[Y_PING]);
@@ -1038,23 +1037,32 @@
(data.lnCorner[F_LINE])||
(data.lnCorner[B_LINE])
){
- //LineLiberate();
- data.FieldState=LINE_OUTSIDE;
+ data.FieldSpot = LINE_OUTSIDE;
+ LineLiberate();
}
- data.FieldState=LINE_OUTSIDE;
- data.kkk = LINE_OUTSIDE;
+ }
+ else if(data.FieldSpot==LINE_OUTSIDE){
+ data.FieldSpot = LINE_INSIDE;
LineLiberate();
}
- else if(data.kkk==LINE_OUTSIDE){//data.FieldState==LINE_OUTSIDE
- if(
- (data.ping[L_PING]>=WhiteToWall[X_PING])&&
- (data.ping[R_PING]>=WhiteToWall[X_PING])
- ){
- //LineLiberate();
- data.FieldState=LINE_OUTSIDE;
- }
- //data.FieldState=LINE_OUTSIDE;
- data.kkk = LINE_INSIDE;
+ }
+ if(data.FieldSpot == LINE_OUTSIDE){
+ if(
+ (data.ping[L_PING]>=WhiteToWall[X_PING])&&
+ (data.ping[R_PING]>=WhiteToWall[X_PING])&&
+ (data.ping[F_PING]>=WhiteToWall[Y_PING])&&
+ (data.ping[B_PING]>=WhiteToWall[Y_PING])
+ ){
+ data.FieldSpot = LINE_INSIDE;
+ }
+ }
+ if((data.FieldSpot == LINE_INSIDE)&&(0<data.lnHold)&&(data.lnHold<7)&&(data.lnRaw==0)){
+ if(
+ (data.ping[L_PING]>=WhiteToWall[X_PING])&&
+ (data.ping[R_PING]>=WhiteToWall[X_PING])&&
+ (data.ping[F_PING]>=WhiteToWall[Y_PING])&&
+ (data.ping[B_PING]>=WhiteToWall[Y_PING])
+ ){
LineLiberate();
}
}
@@ -1071,12 +1079,10 @@
data.lnStop[Y_LINE] = 1;
}
- if(data.kkk==LINE_OUTSIDE) LED = 0x9;
- if(data.kkk==LINE_INSIDE) LED = 0x6;
+ if(data.FieldSpot==LINE_OUTSIDE) LED = 0x9;
+ if(data.FieldSpot==LINE_INSIDE) LED = 0x6;
- //if(data.FieldState==LINE_OUTSIDE) LED = 0x9;
- //if(data.FieldState==LINE_INSIDE) LED = 0x6;
//else LED = 0xA;
//LED = LineHold;