2015_robocon_bteam / Mbed 2 deprecated 2015robot_main_zenkoku

Dependencies:   PID QEI mbed

Committer:
DeguNaoto
Date:
Sun Nov 15 00:30:44 2015 +0000
Revision:
36:b8954b13a6d5
Parent:
34:aa2a5c888a27
Child:
37:75fcd28f48c7
20151115 Own&middle??????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
DeguNaoto 0:b613dc16f27d 1 #ifndef MANUALMODE_H
DeguNaoto 0:b613dc16f27d 2 #define MANUALMODE_H
DeguNaoto 0:b613dc16f27d 3
DeguNaoto 0:b613dc16f27d 4 void manualIM920()
DeguNaoto 0:b613dc16f27d 5 {
DeguNaoto 33:a4323c20494b 6 if(modeflag){ //mode change
DeguNaoto 33:a4323c20494b 7 autoflag=1;
DeguNaoto 33:a4323c20494b 8 Indicator4=1;
DeguNaoto 33:a4323c20494b 9 IndicatorAuto=0;
DeguNaoto 33:a4323c20494b 10 resetState(1);
DeguNaoto 33:a4323c20494b 11 flaga=0;
DeguNaoto 33:a4323c20494b 12 step=114;
DeguNaoto 33:a4323c20494b 13 CStep=114;
DeguNaoto 33:a4323c20494b 14 mstep=114;
DeguNaoto 33:a4323c20494b 15 mCStep=114;
DeguNaoto 33:a4323c20494b 16 spcount=speed;
DeguNaoto 33:a4323c20494b 17 dpcount=0.0;
DeguNaoto 36:b8954b13a6d5 18 swingmoved=0;
DeguNaoto 0:b613dc16f27d 19 }
DeguNaoto 34:aa2a5c888a27 20 if(b==9){
DeguNaoto 34:aa2a5c888a27 21 if(edge9){
DeguNaoto 34:aa2a5c888a27 22 edge9=0;
DeguNaoto 34:aa2a5c888a27 23 toggle9=!toggle9;
DeguNaoto 34:aa2a5c888a27 24 if(toggle9){
DeguNaoto 34:aa2a5c888a27 25 // swingspeed=15.0;
DeguNaoto 34:aa2a5c888a27 26 // swingspeed=20.0;
DeguNaoto 36:b8954b13a6d5 27 // swingspeed=5.0;
DeguNaoto 34:aa2a5c888a27 28 resetSwingSpeed = 1;
DeguNaoto 34:aa2a5c888a27 29 interruptSwingSpeed.attach(&countSwingSpeed, 0.05);
DeguNaoto 34:aa2a5c888a27 30 enableSwing=1;
DeguNaoto 34:aa2a5c888a27 31 /*for(float i=0.0;i<1.0;i+=0.01){
DeguNaoto 34:aa2a5c888a27 32 Motor_swing=i;
DeguNaoto 34:aa2a5c888a27 33 wait(0.01);
DeguNaoto 34:aa2a5c888a27 34 }
DeguNaoto 34:aa2a5c888a27 35 Motor_swing = 1.0;*/
DeguNaoto 3:8d8c25c556ae 36 }
DeguNaoto 34:aa2a5c888a27 37 else{
DeguNaoto 34:aa2a5c888a27 38 interruptSwingSpeed.detach();
DeguNaoto 34:aa2a5c888a27 39 targSwingRadVelocity = 0.0;
DeguNaoto 34:aa2a5c888a27 40 enableSwing=0;
DeguNaoto 34:aa2a5c888a27 41 contSwing.reset();
DeguNaoto 34:aa2a5c888a27 42 Motor_swing = 0.0;
DeguNaoto 34:aa2a5c888a27 43 }
DeguNaoto 3:8d8c25c556ae 44 }
DeguNaoto 3:8d8c25c556ae 45 }
DeguNaoto 34:aa2a5c888a27 46 else if(b==10){
DeguNaoto 34:aa2a5c888a27 47 if(edge10){
DeguNaoto 34:aa2a5c888a27 48 edge10=0;
DeguNaoto 33:a4323c20494b 49 enableShoot=!enableShoot;
DeguNaoto 33:a4323c20494b 50 if(enableShoot) sendData(1,11);
DeguNaoto 33:a4323c20494b 51 else sendData(1,12);
DeguNaoto 0:b613dc16f27d 52 }
DeguNaoto 0:b613dc16f27d 53 }
DeguNaoto 36:b8954b13a6d5 54 else if((b==5)&&(!flaga)){ //Swing Start(middle)
DeguNaoto 33:a4323c20494b 55 if(edge5){
DeguNaoto 33:a4323c20494b 56 edge5=0;
DeguNaoto 30:cd344beb415d 57 resetState(0);
DeguNaoto 32:b8c8ad2eeca7 58 flagf=0;
DeguNaoto 30:cd344beb415d 59 spcount=0.0;
DeguNaoto 30:cd344beb415d 60 dpcount=0.0;
DeguNaoto 30:cd344beb415d 61 direction_controller.setBias(0.0);
DeguNaoto 32:b8c8ad2eeca7 62 sendData(5,60); //right
DeguNaoto 30:cd344beb415d 63 wait(0.05);
DeguNaoto 32:b8c8ad2eeca7 64 sendData(4,60); //left
DeguNaoto 30:cd344beb415d 65 wait(0.05);
DeguNaoto 32:b8c8ad2eeca7 66 sendData(6,30); //middle
DeguNaoto 30:cd344beb415d 67 stateR = 90;
DeguNaoto 30:cd344beb415d 68 stateL = 90;
DeguNaoto 30:cd344beb415d 69 mstep = 0;
DeguNaoto 33:a4323c20494b 70 mCStep = 114;
DeguNaoto 33:a4323c20494b 71 flaga = 1;
DeguNaoto 36:b8954b13a6d5 72 swingspeed = 18.0;
DeguNaoto 33:a4323c20494b 73 }
DeguNaoto 33:a4323c20494b 74 }
DeguNaoto 36:b8954b13a6d5 75 else if((b==8)&&(!flaga)){ //Swing Start(over)
DeguNaoto 33:a4323c20494b 76 if(edge8){
DeguNaoto 33:a4323c20494b 77 edge8=0;
DeguNaoto 36:b8954b13a6d5 78 resetState(0);
DeguNaoto 36:b8954b13a6d5 79 flagf=0;
DeguNaoto 33:a4323c20494b 80 spcount=0.0;
DeguNaoto 33:a4323c20494b 81 dpcount=0.0;
DeguNaoto 33:a4323c20494b 82 direction_controller.setBias(0.0);
DeguNaoto 33:a4323c20494b 83 sendData(5,60); //right
DeguNaoto 33:a4323c20494b 84 wait(0.05);
DeguNaoto 33:a4323c20494b 85 sendData(4,60); //left
DeguNaoto 33:a4323c20494b 86 wait(0.05);
DeguNaoto 36:b8954b13a6d5 87 sendData(6,30); //middle
DeguNaoto 33:a4323c20494b 88 stateR = 90;
DeguNaoto 33:a4323c20494b 89 stateL = 90;
DeguNaoto 36:b8954b13a6d5 90 mstep = 10;
DeguNaoto 36:b8954b13a6d5 91 mCStep = 114;
DeguNaoto 30:cd344beb415d 92 flaga = 1;
DeguNaoto 36:b8954b13a6d5 93 swingspeed = 19.5; //入った
DeguNaoto 36:b8954b13a6d5 94 // swingspeed = 19.3;
DeguNaoto 36:b8954b13a6d5 95 }
DeguNaoto 36:b8954b13a6d5 96 }
DeguNaoto 36:b8954b13a6d5 97
DeguNaoto 36:b8954b13a6d5 98 else if((b==7)&&(swingmoved!=0)){
DeguNaoto 36:b8954b13a6d5 99 if(edge7){
DeguNaoto 36:b8954b13a6d5 100 edge7=0;
DeguNaoto 36:b8954b13a6d5 101 if(swingmoved==1){
DeguNaoto 36:b8954b13a6d5 102 mstep=2;
DeguNaoto 36:b8954b13a6d5 103 swingmoved=0;
DeguNaoto 36:b8954b13a6d5 104 }
DeguNaoto 36:b8954b13a6d5 105 else if(swingmoved==2){
DeguNaoto 36:b8954b13a6d5 106 mstep=12;
DeguNaoto 36:b8954b13a6d5 107 swingmoved=0;
DeguNaoto 36:b8954b13a6d5 108 }
DeguNaoto 36:b8954b13a6d5 109 else if(swingmoved==3){
DeguNaoto 36:b8954b13a6d5 110 mstep=22;
DeguNaoto 36:b8954b13a6d5 111 swingmoved=0;
DeguNaoto 36:b8954b13a6d5 112 }
DeguNaoto 26:760f1bce8214 113 }
DeguNaoto 26:760f1bce8214 114 }
DeguNaoto 34:aa2a5c888a27 115 //Move
DeguNaoto 34:aa2a5c888a27 116 if(b==2){
DeguNaoto 34:aa2a5c888a27 117 flagf=1;
DeguNaoto 34:aa2a5c888a27 118 targ_velocity=speed;
DeguNaoto 34:aa2a5c888a27 119 move=1;
DeguNaoto 34:aa2a5c888a27 120 }
DeguNaoto 34:aa2a5c888a27 121 else if(b==3){
DeguNaoto 34:aa2a5c888a27 122 flagf=0;
DeguNaoto 34:aa2a5c888a27 123 targ_velocity=speed;
DeguNaoto 34:aa2a5c888a27 124 move=1;
DeguNaoto 34:aa2a5c888a27 125 }
DeguNaoto 34:aa2a5c888a27 126 else if(move){
DeguNaoto 34:aa2a5c888a27 127 move=0;
DeguNaoto 34:aa2a5c888a27 128 targ_velocity=0.0;
DeguNaoto 34:aa2a5c888a27 129 }
DeguNaoto 34:aa2a5c888a27 130 if(b==1){
DeguNaoto 34:aa2a5c888a27 131 if(edge1){
DeguNaoto 34:aa2a5c888a27 132 edge1=0;
DeguNaoto 34:aa2a5c888a27 133 #ifdef BLUE
DeguNaoto 34:aa2a5c888a27 134 targ_sita+=PI/4.0;
DeguNaoto 34:aa2a5c888a27 135 #else
DeguNaoto 34:aa2a5c888a27 136 targ_sita-=PI/4.0;
DeguNaoto 34:aa2a5c888a27 137 #endif
DeguNaoto 34:aa2a5c888a27 138 }
DeguNaoto 34:aa2a5c888a27 139 }
DeguNaoto 34:aa2a5c888a27 140 else if(b==4){
DeguNaoto 34:aa2a5c888a27 141 if(edge4){
DeguNaoto 34:aa2a5c888a27 142 edge4=0;
DeguNaoto 34:aa2a5c888a27 143 #ifdef BLUE
DeguNaoto 34:aa2a5c888a27 144 targ_sita-=PI/4.0;
DeguNaoto 34:aa2a5c888a27 145 #else
DeguNaoto 34:aa2a5c888a27 146 targ_sita+=PI/4.0;
DeguNaoto 34:aa2a5c888a27 147 #endif
DeguNaoto 34:aa2a5c888a27 148 }
DeguNaoto 34:aa2a5c888a27 149 }
DeguNaoto 0:b613dc16f27d 150 if(b!=1) edge1=1;
DeguNaoto 0:b613dc16f27d 151 if(b!=2) edge2=1;
DeguNaoto 0:b613dc16f27d 152 if(b!=3) edge3=1;
DeguNaoto 0:b613dc16f27d 153 if(b!=4) edge4=1;
DeguNaoto 0:b613dc16f27d 154 if(b!=5) edge5=1;
DeguNaoto 21:bdf8ac5c200c 155 if(b!=6) edge6=1;
DeguNaoto 30:cd344beb415d 156 if(b!=7) edge7=1;
DeguNaoto 0:b613dc16f27d 157 if(b!=8) edge8=1;
DeguNaoto 0:b613dc16f27d 158 if(b!=9) edge9=1;
DeguNaoto 30:cd344beb415d 159 if(b!=10) edge10=1;
DeguNaoto 30:cd344beb415d 160 if(b!=11) edge11=1;
DeguNaoto 0:b613dc16f27d 161 }
DeguNaoto 13:57d8e360e9aa 162
DeguNaoto 30:cd344beb415d 163 #endif /*manualMode.h*/