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:
- 19:967207de919d
- Parent:
- 18:3a42a931c95a
- Child:
- 20:d69ce8f47f1d
--- a/main_processing/strategy/strategy.cpp Tue Mar 15 12:03:51 2016 +0000 +++ b/main_processing/strategy/strategy.cpp Wed Mar 16 02:58:31 2016 +0000 @@ -398,6 +398,10 @@ sys.LineBlind=0; sys.PingBlind=0; + sys.HomeBlind=1; + sys.DriBlind=1; + + sys.ir_pow_table = 0; data.lnCorner[L_LINE]=data.lnCorner[R_LINE]=data.lnCorner[F_LINE]=data.lnCorner[B_LINE]=LINE_EMPTY; @@ -410,16 +414,63 @@ LineLiberate(); LineRankClear(); + cmps_set.AtkDeg=0; + + //sys.BallHoldJudgeFlag=0; + //sys.BallHoldFlag=0; + + sys.KickOffFlag=0; } //data - if(sys.IrFlag==1){ReadIr();sys.IrFlag=0;} + /*if(sys.IrFlag==1){ReadIr();sys.IrFlag=0;} if(sys.PidFlag==1){PidUpdate();sys.PidFlag=0;} if(sys.UswFlag==1){ReadPing();sys.UswFlag=0;} - if(sys.UswFlag2==1){ReadPing2();sys.UswFlag2=0;} + if(sys.UswFlag2==1){ReadPing2();sys.UswFlag2=0;}*/ + if(sys.InfoFlag==1){ReadInfo();sys.InfoFlag=0;} + //if(sys.KickFlag==1){DriveSolenoid();} data.lnRaw = LineRaw; data.lnHold = LineHold; + data.ball = (BallCheckerA.read_u16()<20000); + + /* + if(sys.DriBlind==0){ + if((data.ball==1)&&(sys.BallHoldJudgeFlag==0)){ + sys.BallHoldJudgeFlag=1; + Ball_catch.attach(&AdmitBallHold, 1.0); + } + + if((data.ball==0)&&(sys.BallHoldFlag==1)&&(sys.BallHoldGiveUpFlag==0)){ + sys.BallHoldGiveUpFlag=1; + Ball_leave.attach(&GiveUpBallHold, 1.0); + } + if((data.ball==1)&&(sys.BallHoldFlag==1)){ + sys.BallHoldGiveUpFlag=0; + Ball_leave.detach(); + } + + if((data.ping[B_PING]<30)&&(sys.BallHoldFlag==1)){ + cmps_set.AtkDeg = 150; + Kick_now.attach(&DriveSolenoid, .125); + Front_now.attach(&FaceToFront, .75); + + sys.BallHoldJudgeFlag=0; + sys.BallHoldFlag=0; + Ball_catch.detach(); + Ball_leave.detach(); + } + } + else{ + sys.BallHoldFlag=0; + }*/ + + if(data.irNotice==IR_NONE){ + sys.BackHomeFlag=(sys.HomeBlind==0); + } + else{ + sys.BackHomeFlag=0; + } if(data.ping[B_PING]<=30){ sys.ir_pow_table=1; @@ -448,7 +499,6 @@ ir_y_turn = ir_move_val[0][data.irNotice][data.irPosition][IR_Y_TURN]; */ - if(sys.IrBlind==1) data.irNotice=IR_NONE; if(data.irNotice==IR_CLOSER){ ir_pow = sys.s_pow; } @@ -462,6 +512,38 @@ ir_pow = 0; } + if((sys.DriBlind==0)&&(data.irNotice==IR_CLOSER)&&((data.irPosition==10)||(data.irPosition==11)||(data.irPosition==12))){ + sys.DribbleFlag=1; + ir_pow=20; + /*if(cmps_set.AtkDeg==0){ + if(data.irPosition==10) cmps_set.AtkDeg=30; + if(data.irPosition==11) cmps_set.AtkDeg=0; + if(data.irPosition==12) cmps_set.AtkDeg=-30; + } + else if(cmps_set.AtkDeg>0){ + if(data.irPosition==10) cmps_set.AtkDeg=0; + if(data.irPosition==11) cmps_set.AtkDeg=30; + if(data.irPosition==12) cmps_set.AtkDeg=0; + + } + else if(cmps_set.AtkDeg<0){ + if(data.irPosition==10) cmps_set.AtkDeg=0; + if(data.irPosition==11) cmps_set.AtkDeg=-30; + if(data.irPosition==12) cmps_set.AtkDeg=0; + }*/ + } + else{ + sys.DribbleFlag=0; + cmps_set.AtkDeg=0; + + /*sys.BallHoldJudgeFlag=0; + sys.BallHoldFlag=0; + Ball_catch.detach(); + Ball_leave.detach();*/ + } + + if(sys.IrBlind==1) ir_pow=0; + if((data.ping[R_PING]<data.ping[L_PING])&&(data.irPosition==17)){ ir_x_turn = -ir_x_turn; @@ -501,8 +583,12 @@ */ } - if(data.FieldSpot==LINE_OUTSIDE) LED = 0x9; - if(data.FieldSpot==LINE_INSIDE) LED = 0x6; + //if(data.FieldSpot==LINE_OUTSIDE) LED = 0x9; + //if(data.FieldSpot==LINE_INSIDE) LED = 0x6; + + //LED = 0xFF*sys.BallHoldFlag; + + LED = 0xFF*(data.ping[B_PING]<30); //LED = ((data.lnOrder[0]!=LINE_EMPTY)<<2) | ((data.lnOrder[1]!=LINE_EMPTY)<<1) | ((data.lnOrder[2]!=LINE_EMPTY)<<0);