2015_robocon_bteam / Mbed 2 deprecated 2015robot_main_zenkoku

Dependencies:   PID QEI mbed

Committer:
DeguNaoto
Date:
Wed Oct 28 09:03:19 2015 +0000
Revision:
0:b613dc16f27d
Child:
1:3ac2087996f3
20151028 Ticker??????

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 //赤修正
DeguNaoto 0:b613dc16f27d 5
DeguNaoto 0:b613dc16f27d 6 #ifdef IM920
DeguNaoto 0:b613dc16f27d 7 void manualMoveIM920()
DeguNaoto 0:b613dc16f27d 8 {
DeguNaoto 0:b613dc16f27d 9 #ifdef BLUE
DeguNaoto 0:b613dc16f27d 10 if(Y<2) {
DeguNaoto 0:b613dc16f27d 11 Move_l(-0.6);
DeguNaoto 0:b613dc16f27d 12 Move_r(0.6);
DeguNaoto 0:b613dc16f27d 13 }
DeguNaoto 0:b613dc16f27d 14 else if(Y>6) {
DeguNaoto 0:b613dc16f27d 15 Move_l(0.6);
DeguNaoto 0:b613dc16f27d 16 Move_r(-0.6);
DeguNaoto 0:b613dc16f27d 17 }
DeguNaoto 0:b613dc16f27d 18 else {
DeguNaoto 0:b613dc16f27d 19 if(X<2) {
DeguNaoto 0:b613dc16f27d 20 Move_l(0.6);
DeguNaoto 0:b613dc16f27d 21 Move_r(0.6);
DeguNaoto 0:b613dc16f27d 22 } else if(X>6) {
DeguNaoto 0:b613dc16f27d 23 Move_l(-0.6);
DeguNaoto 0:b613dc16f27d 24 Move_r(-0.6);
DeguNaoto 0:b613dc16f27d 25 } else {
DeguNaoto 0:b613dc16f27d 26 Move_l(0.0);
DeguNaoto 0:b613dc16f27d 27 Move_r(0.0);
DeguNaoto 0:b613dc16f27d 28 }
DeguNaoto 0:b613dc16f27d 29 }
DeguNaoto 0:b613dc16f27d 30 #else
DeguNaoto 0:b613dc16f27d 31 if(Y<2) {
DeguNaoto 0:b613dc16f27d 32 Move_l(0.6);
DeguNaoto 0:b613dc16f27d 33 Move_r(-0.6);
DeguNaoto 0:b613dc16f27d 34 }
DeguNaoto 0:b613dc16f27d 35 else if(Y>6) {
DeguNaoto 0:b613dc16f27d 36 Move_l(-0.6);
DeguNaoto 0:b613dc16f27d 37 Move_r(0.6);
DeguNaoto 0:b613dc16f27d 38 }
DeguNaoto 0:b613dc16f27d 39 else {
DeguNaoto 0:b613dc16f27d 40 if(X<2) {
DeguNaoto 0:b613dc16f27d 41 Move_l(-0.6);
DeguNaoto 0:b613dc16f27d 42 Move_r(-0.6);
DeguNaoto 0:b613dc16f27d 43 } else if(X>6) {
DeguNaoto 0:b613dc16f27d 44 Move_l(0.6);
DeguNaoto 0:b613dc16f27d 45 Move_r(0.6);
DeguNaoto 0:b613dc16f27d 46 } else {
DeguNaoto 0:b613dc16f27d 47 Move_l(0.0);
DeguNaoto 0:b613dc16f27d 48 Move_r(0.0);
DeguNaoto 0:b613dc16f27d 49 }
DeguNaoto 0:b613dc16f27d 50 }
DeguNaoto 0:b613dc16f27d 51 #endif
DeguNaoto 0:b613dc16f27d 52 }
DeguNaoto 0:b613dc16f27d 53 void manualIM920()
DeguNaoto 0:b613dc16f27d 54 {
DeguNaoto 0:b613dc16f27d 55 if(b==7){ /*mode change*/
DeguNaoto 0:b613dc16f27d 56 if(edge7){
DeguNaoto 0:b613dc16f27d 57 edge7=0;
DeguNaoto 0:b613dc16f27d 58 autoflag=1;
DeguNaoto 0:b613dc16f27d 59 Indicator4=1;
DeguNaoto 0:b613dc16f27d 60 IndicatorAuto=0;
DeguNaoto 0:b613dc16f27d 61 Move_l(0.0);
DeguNaoto 0:b613dc16f27d 62 Move_r(0.0);
DeguNaoto 0:b613dc16f27d 63 resetState();
DeguNaoto 0:b613dc16f27d 64 flaga=0;
DeguNaoto 0:b613dc16f27d 65 step=114;
DeguNaoto 0:b613dc16f27d 66 CStep=114;
DeguNaoto 0:b613dc16f27d 67 spcount=speed;
DeguNaoto 0:b613dc16f27d 68 }
DeguNaoto 0:b613dc16f27d 69 }
DeguNaoto 0:b613dc16f27d 70 else if(b==5){
DeguNaoto 0:b613dc16f27d 71 if(edge5){
DeguNaoto 0:b613dc16f27d 72 edge5=0;
DeguNaoto 0:b613dc16f27d 73 sendData(1,4);
DeguNaoto 0:b613dc16f27d 74 }
DeguNaoto 0:b613dc16f27d 75 }
DeguNaoto 0:b613dc16f27d 76 else if(b==6){
DeguNaoto 0:b613dc16f27d 77 if(edge6){
DeguNaoto 0:b613dc16f27d 78 edge6=0;
DeguNaoto 0:b613dc16f27d 79 sendData(1,5);
DeguNaoto 0:b613dc16f27d 80 }
DeguNaoto 0:b613dc16f27d 81 }
DeguNaoto 0:b613dc16f27d 82 /*else if(b==5){
DeguNaoto 0:b613dc16f27d 83 if(edge5){
DeguNaoto 0:b613dc16f27d 84 edge5=0;
DeguNaoto 0:b613dc16f27d 85 resetSwingSpeed = 1;
DeguNaoto 0:b613dc16f27d 86 interruptSwingSpeed.attach(&countSwingSpeed, 0.05);
DeguNaoto 0:b613dc16f27d 87 swingf=1;
DeguNaoto 0:b613dc16f27d 88 }
DeguNaoto 0:b613dc16f27d 89 }*/
DeguNaoto 0:b613dc16f27d 90 else if(b==8){
DeguNaoto 0:b613dc16f27d 91 if(edge8){
DeguNaoto 0:b613dc16f27d 92 edge8=0;
DeguNaoto 0:b613dc16f27d 93 enableShoot=1;
DeguNaoto 0:b613dc16f27d 94 }
DeguNaoto 0:b613dc16f27d 95 }
DeguNaoto 0:b613dc16f27d 96 else if(b==9){
DeguNaoto 0:b613dc16f27d 97 interruptSwingSpeed.detach();
DeguNaoto 0:b613dc16f27d 98 targSwingRadVelocity = 0.0;
DeguNaoto 0:b613dc16f27d 99 contSwing.reset();
DeguNaoto 0:b613dc16f27d 100 Motor_swing = 0.0;
DeguNaoto 0:b613dc16f27d 101 }
DeguNaoto 0:b613dc16f27d 102 else if(b==1){ /*L down*/
DeguNaoto 0:b613dc16f27d 103 if(edge1){
DeguNaoto 0:b613dc16f27d 104 edge1=0;
DeguNaoto 0:b613dc16f27d 105 if(stateL!=1) stateL--;
DeguNaoto 0:b613dc16f27d 106 sendData(4,stateL);
DeguNaoto 0:b613dc16f27d 107 }
DeguNaoto 0:b613dc16f27d 108 }
DeguNaoto 0:b613dc16f27d 109 else if(b==2){ /*L up*/
DeguNaoto 0:b613dc16f27d 110 if(edge2){
DeguNaoto 0:b613dc16f27d 111 edge2=0;
DeguNaoto 0:b613dc16f27d 112 if(stateL!=92) stateL++;
DeguNaoto 0:b613dc16f27d 113 sendData(4,stateL);
DeguNaoto 0:b613dc16f27d 114 }
DeguNaoto 0:b613dc16f27d 115 }
DeguNaoto 0:b613dc16f27d 116 else if(b==3){ /*R down*/
DeguNaoto 0:b613dc16f27d 117 if(edge3){
DeguNaoto 0:b613dc16f27d 118 edge3=0;
DeguNaoto 0:b613dc16f27d 119 if(stateR!=1) stateR--;
DeguNaoto 0:b613dc16f27d 120 sendData(5,stateR);
DeguNaoto 0:b613dc16f27d 121 }
DeguNaoto 0:b613dc16f27d 122 }
DeguNaoto 0:b613dc16f27d 123 else if(b==4){ /*R up*/
DeguNaoto 0:b613dc16f27d 124 if(edge4){
DeguNaoto 0:b613dc16f27d 125 edge4=0;
DeguNaoto 0:b613dc16f27d 126 if(stateR!=92) stateR++;
DeguNaoto 0:b613dc16f27d 127 sendData(5,stateR);
DeguNaoto 0:b613dc16f27d 128 }
DeguNaoto 0:b613dc16f27d 129 }
DeguNaoto 0:b613dc16f27d 130 if(b!=7) edge7=1;
DeguNaoto 0:b613dc16f27d 131 if(b!=1) edge1=1;
DeguNaoto 0:b613dc16f27d 132 if(b!=2) edge2=1;
DeguNaoto 0:b613dc16f27d 133 if(b!=3) edge3=1;
DeguNaoto 0:b613dc16f27d 134 if(b!=4) edge4=1;
DeguNaoto 0:b613dc16f27d 135 if(b!=5) edge5=1;
DeguNaoto 0:b613dc16f27d 136 if(b!=8) edge8=1;
DeguNaoto 0:b613dc16f27d 137 if(b!=9) edge9=1;
DeguNaoto 0:b613dc16f27d 138 }
DeguNaoto 0:b613dc16f27d 139 #else
DeguNaoto 0:b613dc16f27d 140 void manualMovePS3()
DeguNaoto 0:b613dc16f27d 141 {
DeguNaoto 0:b613dc16f27d 142 #ifdef BLUE
DeguNaoto 0:b613dc16f27d 143 if(analog_ly>50) {
DeguNaoto 0:b613dc16f27d 144 Move_l(-0.4);
DeguNaoto 0:b613dc16f27d 145 Move_r(0.4);
DeguNaoto 0:b613dc16f27d 146 }
DeguNaoto 0:b613dc16f27d 147 else if(analog_ly<-50) {
DeguNaoto 0:b613dc16f27d 148 Move_l(0.4);
DeguNaoto 0:b613dc16f27d 149 Move_r(-0.4);
DeguNaoto 0:b613dc16f27d 150 }
DeguNaoto 0:b613dc16f27d 151 else {
DeguNaoto 0:b613dc16f27d 152 if(analog_lx>50) {
DeguNaoto 0:b613dc16f27d 153 Move_l(0.6);
DeguNaoto 0:b613dc16f27d 154 Move_r(0.6);
DeguNaoto 0:b613dc16f27d 155 } else if(analog_lx<-50) {
DeguNaoto 0:b613dc16f27d 156 Move_l(-0.6);
DeguNaoto 0:b613dc16f27d 157 Move_r(-0.6);
DeguNaoto 0:b613dc16f27d 158 } else {
DeguNaoto 0:b613dc16f27d 159 Move_l(0.0);
DeguNaoto 0:b613dc16f27d 160 Move_r(0.0);
DeguNaoto 0:b613dc16f27d 161 }
DeguNaoto 0:b613dc16f27d 162 }
DeguNaoto 0:b613dc16f27d 163 #else
DeguNaoto 0:b613dc16f27d 164 if(analog_ly>50) {
DeguNaoto 0:b613dc16f27d 165 Move_l(0.4);
DeguNaoto 0:b613dc16f27d 166 Move_r(-0.4);
DeguNaoto 0:b613dc16f27d 167 }
DeguNaoto 0:b613dc16f27d 168 else if(analog_ly<-50) {
DeguNaoto 0:b613dc16f27d 169 Move_l(-0.4);
DeguNaoto 0:b613dc16f27d 170 Move_r(0.4);
DeguNaoto 0:b613dc16f27d 171 }
DeguNaoto 0:b613dc16f27d 172 else {
DeguNaoto 0:b613dc16f27d 173 if(analog_lx>50) {
DeguNaoto 0:b613dc16f27d 174 Move_l(-0.6);
DeguNaoto 0:b613dc16f27d 175 Move_r(-0.6);
DeguNaoto 0:b613dc16f27d 176 } else if(analog_lx<-50) {
DeguNaoto 0:b613dc16f27d 177 Move_l(0.6);
DeguNaoto 0:b613dc16f27d 178 Move_r(0.6);
DeguNaoto 0:b613dc16f27d 179 } else {
DeguNaoto 0:b613dc16f27d 180 Move_l(0.0);
DeguNaoto 0:b613dc16f27d 181 Move_r(0.0);
DeguNaoto 0:b613dc16f27d 182 }
DeguNaoto 0:b613dc16f27d 183 }
DeguNaoto 0:b613dc16f27d 184 #endif
DeguNaoto 0:b613dc16f27d 185 }
DeguNaoto 0:b613dc16f27d 186 void manualPS3(){
DeguNaoto 0:b613dc16f27d 187 if(circle){ /*mode change*/
DeguNaoto 0:b613dc16f27d 188 if(edge_circle){
DeguNaoto 0:b613dc16f27d 189 edge_circle=0;
DeguNaoto 0:b613dc16f27d 190 autoflag=1;
DeguNaoto 0:b613dc16f27d 191 Indicator4=1;
DeguNaoto 0:b613dc16f27d 192 IndicatorAuto=0;
DeguNaoto 0:b613dc16f27d 193 Move_l(0.0);
DeguNaoto 0:b613dc16f27d 194 Move_r(0.0);
DeguNaoto 0:b613dc16f27d 195 resetState();
DeguNaoto 0:b613dc16f27d 196 flaga=0;
DeguNaoto 0:b613dc16f27d 197 step=114;
DeguNaoto 0:b613dc16f27d 198 CStep=114;
DeguNaoto 0:b613dc16f27d 199 spcount=speed;
DeguNaoto 0:b613dc16f27d 200 }
DeguNaoto 0:b613dc16f27d 201 }
DeguNaoto 0:b613dc16f27d 202 else if(triangle){
DeguNaoto 0:b613dc16f27d 203 if(edge_triangle){
DeguNaoto 0:b613dc16f27d 204 edge_triangle=0;
DeguNaoto 0:b613dc16f27d 205 resetSwingSpeed = 1;
DeguNaoto 0:b613dc16f27d 206 interruptSwingSpeed.attach(&countSwingSpeed, 0.05);
DeguNaoto 0:b613dc16f27d 207 swingf=1;
DeguNaoto 0:b613dc16f27d 208 }
DeguNaoto 0:b613dc16f27d 209 }
DeguNaoto 0:b613dc16f27d 210 else if(cross){
DeguNaoto 0:b613dc16f27d 211 interruptSwingSpeed.detach();
DeguNaoto 0:b613dc16f27d 212 targSwingRadVelocity = 0.0;
DeguNaoto 0:b613dc16f27d 213 contSwing.reset();
DeguNaoto 0:b613dc16f27d 214 swingf=0;
DeguNaoto 0:b613dc16f27d 215 Motor_swing = 0.0;
DeguNaoto 0:b613dc16f27d 216 }
DeguNaoto 0:b613dc16f27d 217 else if(square){
DeguNaoto 0:b613dc16f27d 218 if(edge_square){
DeguNaoto 0:b613dc16f27d 219 edge_square=0;
DeguNaoto 0:b613dc16f27d 220 enableShoot=1;
DeguNaoto 0:b613dc16f27d 221 }
DeguNaoto 0:b613dc16f27d 222 }
DeguNaoto 0:b613dc16f27d 223 else if(left){
DeguNaoto 0:b613dc16f27d 224 sendData(1,5);
DeguNaoto 0:b613dc16f27d 225 }
DeguNaoto 0:b613dc16f27d 226 else if(right){
DeguNaoto 0:b613dc16f27d 227 sendData(1,4);
DeguNaoto 0:b613dc16f27d 228 }
DeguNaoto 0:b613dc16f27d 229 else if(l1){ /*L up*/
DeguNaoto 0:b613dc16f27d 230 if(edge_l1){
DeguNaoto 0:b613dc16f27d 231 edge_l1=0;
DeguNaoto 0:b613dc16f27d 232 if(stateL!=92) stateL++;
DeguNaoto 0:b613dc16f27d 233 sendData(4,stateL);
DeguNaoto 0:b613dc16f27d 234 }
DeguNaoto 0:b613dc16f27d 235 }
DeguNaoto 0:b613dc16f27d 236 else if(l2){ /*L down*/
DeguNaoto 0:b613dc16f27d 237 if(edge_l2){
DeguNaoto 0:b613dc16f27d 238 edge_l2=0;
DeguNaoto 0:b613dc16f27d 239 if(stateL!=1) stateL--;
DeguNaoto 0:b613dc16f27d 240 sendData(4,stateL);
DeguNaoto 0:b613dc16f27d 241 }
DeguNaoto 0:b613dc16f27d 242 }
DeguNaoto 0:b613dc16f27d 243 else if(r1){ /*R up*/
DeguNaoto 0:b613dc16f27d 244 if(edge_r1){
DeguNaoto 0:b613dc16f27d 245 edge_r1=0;
DeguNaoto 0:b613dc16f27d 246 if(stateR!=92) stateR++;
DeguNaoto 0:b613dc16f27d 247 sendData(5,stateR);
DeguNaoto 0:b613dc16f27d 248 }
DeguNaoto 0:b613dc16f27d 249 }
DeguNaoto 0:b613dc16f27d 250 else if(r2){ /*R down*/
DeguNaoto 0:b613dc16f27d 251 if(edge_r2){
DeguNaoto 0:b613dc16f27d 252 edge_r2=0;
DeguNaoto 0:b613dc16f27d 253 if(stateR!=1) stateR--;
DeguNaoto 0:b613dc16f27d 254 sendData(5,stateR);
DeguNaoto 0:b613dc16f27d 255 }
DeguNaoto 0:b613dc16f27d 256 }
DeguNaoto 0:b613dc16f27d 257 }
DeguNaoto 0:b613dc16f27d 258 #endif
DeguNaoto 0:b613dc16f27d 259 #endif /*manualMode.h*/