
aa
Diff: System/Process/Process.cpp
- Revision:
- 45:0cf48a0605cd
- Parent:
- 44:2aff0da5ebdb
- Child:
- 46:68296caae1af
--- a/System/Process/Process.cpp Sun Nov 10 05:51:51 2019 +0000 +++ b/System/Process/Process.cpp Mon Nov 11 08:11:29 2019 +0000 @@ -475,115 +475,127 @@ fast=40; normal=30; slow=20; - motor[TIRE_FR].pwm = normal; + motor[TIRE_FR].pwm = normal+20; motor[TIRE_FR].dir = FOR; - motor[TIRE_FL].pwm = normal; + motor[TIRE_FL].pwm = normal+20; motor[TIRE_FL].dir = BACK; - motor[TIRE_BR].pwm = normal; + motor[TIRE_BR].pwm = normal+20; motor[TIRE_BR].dir = FOR; - motor[TIRE_BL].pwm = normal; + motor[TIRE_BL].pwm = normal+20; motor[TIRE_BL].dir = BACK; if(g[2]==0&&countss>=100000) { countss=100000; cross=0; mode=3; } - } else if(mode==3) { //横ライントレースから縦ライントレースへ + } + else if(mode==3) { //横ライントレースから縦ライントレースへ motor[TIRE_FR].pwm = 30; motor[TIRE_FR].dir = FOR; - motor[TIRE_FL].pwm = 0; - motor[TIRE_FL].dir = FREE; - motor[TIRE_BR].pwm = 0; - motor[TIRE_BR].dir = FREE; + motor[TIRE_FL].pwm = 255; + motor[TIRE_FL].dir = BRAKE; + motor[TIRE_BR].pwm = 255; + motor[TIRE_BR].dir = BRAKE; motor[TIRE_BL].pwm = 30; motor[TIRE_BL].dir = BACK; if(g[1]==0) { mode=10; countss=100000; } - } else if(mode==10) { //縦ライントレース + } + else if(mode==10) { //縦ライントレース switch(g[1]) { case 98: - motor[TIRE_FR].pwm = normal; + motor[TIRE_FR].pwm = normal+50; motor[TIRE_FR].dir = FOR; - motor[TIRE_FL].pwm = normal; + motor[TIRE_FL].pwm = normal+50; motor[TIRE_FL].dir = BACK; - motor[TIRE_BR].pwm = normal; + motor[TIRE_BR].pwm = normal+50; motor[TIRE_BR].dir = FOR; - motor[TIRE_BL].pwm = normal; + motor[TIRE_BL].pwm = normal+50; motor[TIRE_BL].dir = BACK; mtc=true; if(countss>80000) { cross++; countss=0; } + + if(cross==2){ + fast = 10; + normal = 10; + slow = 5; + } + if(cross==3) { + fast=40; + normal=30; + slow=20; mode=11; countss=0; cross=0; } break; case 0: - motor[TIRE_FR].pwm = fast; + motor[TIRE_FR].pwm = fast+50; motor[TIRE_FR].dir = FOR; - motor[TIRE_FL].pwm = fast; + motor[TIRE_FL].pwm = fast+50; motor[TIRE_FL].dir = BACK; - motor[TIRE_BR].pwm = fast; + motor[TIRE_BR].pwm = fast+50; motor[TIRE_BR].dir = FOR; - motor[TIRE_BL].pwm = fast; + motor[TIRE_BL].pwm = fast+50; motor[TIRE_BL].dir = BACK; mtc=true; break; case 255: - motor[TIRE_FR].pwm = fast; + motor[TIRE_FR].pwm = fast+50; motor[TIRE_FR].dir = FOR; - motor[TIRE_FL].pwm = slow; + motor[TIRE_FL].pwm = slow+50; motor[TIRE_FL].dir = BACK; - motor[TIRE_BR].pwm = slow; + motor[TIRE_BR].pwm = slow+50; motor[TIRE_BR].dir = FOR; - motor[TIRE_BL].pwm = fast; + motor[TIRE_BL].pwm = fast+50; motor[TIRE_BL].dir = BACK; mtc=true; break; case 253: - motor[TIRE_FR].pwm = slow; + motor[TIRE_FR].pwm = slow+50; motor[TIRE_FR].dir = FOR; motor[TIRE_FL].pwm = 0; motor[TIRE_FL].dir = FREE; motor[TIRE_BR].pwm = 0; motor[TIRE_BR].dir = FREE; - motor[TIRE_BL].pwm = slow; + motor[TIRE_BL].pwm = slow+50; motor[TIRE_BL].dir = BACK; mtc=true; break; case 254: - motor[TIRE_FR].pwm = normal; + motor[TIRE_FR].pwm = normal+50; motor[TIRE_FR].dir = FOR; motor[TIRE_FL].pwm = 0; motor[TIRE_FL].dir = FREE; motor[TIRE_BR].pwm = 0; motor[TIRE_BR].dir = FREE; - motor[TIRE_BL].pwm = normal; + motor[TIRE_BL].pwm = normal+50; motor[TIRE_BL].dir = BACK; mtc=true; break; case 1: - motor[TIRE_FR].pwm = slow; + motor[TIRE_FR].pwm = slow+50; motor[TIRE_FR].dir = FOR; - motor[TIRE_FL].pwm = fast; + motor[TIRE_FL].pwm = fast+50; motor[TIRE_FL].dir = BACK; - motor[TIRE_BR].pwm = fast; + motor[TIRE_BR].pwm = fast+50; motor[TIRE_BR].dir = FOR; - motor[TIRE_BL].pwm = slow; + motor[TIRE_BL].pwm = slow+50; motor[TIRE_BL].dir = BACK; mtc=true; break; case 3: motor[TIRE_FR].pwm = 0; motor[TIRE_FR].dir = FREE; - motor[TIRE_FL].pwm = slow; + motor[TIRE_FL].pwm = slow+50; motor[TIRE_FL].dir = BACK; - motor[TIRE_BR].pwm = slow; + motor[TIRE_BR].pwm = slow+50; motor[TIRE_BR].dir = FOR; motor[TIRE_BL].pwm = 0; motor[TIRE_BL].dir = FREE; @@ -592,43 +604,43 @@ case 2: motor[TIRE_FR].pwm = 0; motor[TIRE_FR].dir = FREE; - motor[TIRE_FL].pwm = normal; + motor[TIRE_FL].pwm = normal+50; motor[TIRE_FL].dir = BACK; - motor[TIRE_BR].pwm = normal; + motor[TIRE_BR].pwm = normal+50; motor[TIRE_BR].dir = FOR; motor[TIRE_BL].pwm = 0; motor[TIRE_BL].dir = FREE; mtc=true; break; } - if(g[0]!=98&&mtc==true) { + if(g[1]!=98&&mtc==true) { switch(g[0]) { case 0: mtc=false; break; case 255: - motor[TIRE_FL].pwm += 5; + motor[TIRE_FL].pwm += 3; mtc=false; break; case 253: - motor[TIRE_FL].pwm += 10; + motor[TIRE_FL].pwm += 6; mtc=false; break; case 254: - motor[TIRE_FL].pwm += 20; + motor[TIRE_FL].pwm += 9; motor[TIRE_FR].pwm = 0; mtc=false; break; case 1: - motor[TIRE_FR].pwm += 5; + motor[TIRE_FR].pwm += 3; mtc=false; break; case 3: - motor[TIRE_FR].pwm += 10; + motor[TIRE_FR].pwm += 6; mtc=false; break; case 2: - motor[TIRE_FR].pwm += 20; + motor[TIRE_FR].pwm += 9; motor[TIRE_FL].pwm = 0; mtc=false; break; @@ -637,47 +649,49 @@ } else if(mode==11) { motor[TIRE_FR].pwm = normal; motor[TIRE_FR].dir = FOR; - motor[TIRE_FL].pwm = 0; - motor[TIRE_FL].dir = FREE; - motor[TIRE_BR].pwm = 0; - motor[TIRE_BR].dir = FREE; + motor[TIRE_FL].pwm = 25; + motor[TIRE_FL].dir = FOR; + motor[TIRE_BR].pwm = 25; + motor[TIRE_BR].dir = FOR; motor[TIRE_BL].pwm = normal; motor[TIRE_BL].dir = BACK; - if(g[2]==0) { + if(g[2]==0 || g[2]==255 || g[2]==254 || g[2]==253) { countss=0; cross=0; mode=20; } - } else if(mode==20) { + } + else if(mode==20) { solenoid.solenoid4= SOLENOID_ON; switch(g[2]) { case 98: - motor[TIRE_FR].pwm = normal; + motor[TIRE_FR].pwm = normal+20; motor[TIRE_FR].dir = FOR; - motor[TIRE_FL].pwm = normal; + motor[TIRE_FL].pwm = normal+20; motor[TIRE_FL].dir = FOR; - motor[TIRE_BR].pwm = normal; + motor[TIRE_BR].pwm = normal+20; motor[TIRE_BR].dir = BACK; - motor[TIRE_BL].pwm = normal; + motor[TIRE_BL].pwm = normal+20; motor[TIRE_BL].dir = BACK; if(countss>30000) { cross++; countss=0; } mtc2=true; - if(cross==1) { + + if(YELLOW) { + if(cross==1) { fast=30; normal=20; slow=20; - } - if(YELLOW) { - if(cross==2) { + } + else if(cross==2) { mode=21; countss=0; cross=0; } } else { - if(cross==1) { + if(cross==3) { mode=21; countss=0; cross=0; @@ -685,33 +699,33 @@ } break; case 0: - motor[TIRE_FR].pwm = fast; + motor[TIRE_FR].pwm = fast+20; motor[TIRE_FR].dir = FOR; - motor[TIRE_FL].pwm = fast; + motor[TIRE_FL].pwm = fast+20; motor[TIRE_FL].dir = FOR; - motor[TIRE_BR].pwm = fast; + motor[TIRE_BR].pwm = fast+20; motor[TIRE_BR].dir = BACK; - motor[TIRE_BL].pwm = fast; + motor[TIRE_BL].pwm = fast+20; motor[TIRE_BL].dir = BACK; mtc2=true; break; case 255: - motor[TIRE_FR].pwm = normal; + motor[TIRE_FR].pwm = normal+20; motor[TIRE_FR].dir = FOR; - motor[TIRE_FL].pwm = fast; + motor[TIRE_FL].pwm = fast+20; motor[TIRE_FL].dir = FOR; - motor[TIRE_BR].pwm = fast; + motor[TIRE_BR].pwm = fast+20; motor[TIRE_BR].dir = BACK; - motor[TIRE_BL].pwm = normal; + motor[TIRE_BL].pwm = normal+20; motor[TIRE_BL].dir = BACK; mtc2=true; break; case 253: motor[TIRE_FR].pwm = 0; motor[TIRE_FR].dir = FREE; - motor[TIRE_FL].pwm = slow; + motor[TIRE_FL].pwm = slow+20; motor[TIRE_FL].dir = FOR; - motor[TIRE_BR].pwm = slow; + motor[TIRE_BR].pwm = slow+20; motor[TIRE_BR].dir = BACK; motor[TIRE_BL].pwm = 0; motor[TIRE_BL].dir = FREE; @@ -720,44 +734,44 @@ case 254: motor[TIRE_FR].pwm = 0; motor[TIRE_FR].dir = FREE; - motor[TIRE_FL].pwm = normal; + motor[TIRE_FL].pwm = normal+20; motor[TIRE_FL].dir = FOR; - motor[TIRE_BR].pwm = normal; + motor[TIRE_BR].pwm = normal+20; motor[TIRE_BR].dir = BACK; motor[TIRE_BL].pwm = 0; motor[TIRE_BL].dir = FREE; mtc2=true; break; case 1: - motor[TIRE_FR].pwm = fast; + motor[TIRE_FR].pwm = fast+20; motor[TIRE_FR].dir = FOR; - motor[TIRE_FL].pwm = slow; + motor[TIRE_FL].pwm = slow+20; motor[TIRE_FL].dir = FOR; - motor[TIRE_BR].pwm = slow; + motor[TIRE_BR].pwm = slow+20; motor[TIRE_BR].dir = BACK; - motor[TIRE_BL].pwm = fast; + motor[TIRE_BL].pwm = fast+20; motor[TIRE_BL].dir = BACK; mtc2=true; break; case 3: - motor[TIRE_FR].pwm = slow; + motor[TIRE_FR].pwm = slow+20; motor[TIRE_FR].dir = FOR; motor[TIRE_FL].pwm = 0; motor[TIRE_FL].dir = FREE; motor[TIRE_BR].pwm = 0; motor[TIRE_BR].dir = FREE; - motor[TIRE_BL].pwm = slow; + motor[TIRE_BL].pwm = slow+20; motor[TIRE_BL].dir = BACK; mtc2=true; break; case 2: - motor[TIRE_FR].pwm = normal; + motor[TIRE_FR].pwm = normal+20; motor[TIRE_FR].dir = FOR; motor[TIRE_FL].pwm = 0; motor[TIRE_FL].dir = FREE; motor[TIRE_BR].pwm = 0; motor[TIRE_BR].dir = FREE; - motor[TIRE_BL].pwm = normal; + motor[TIRE_BL].pwm = normal+20; motor[TIRE_BL].dir = BACK; mtc2=true; break; @@ -776,7 +790,7 @@ mtc2=false; break; case 254: - motor[TIRE_BL].pwm += 20; + motor[TIRE_BL].pwm += 15; motor[TIRE_FL].pwm = 0; mtc2=false; break; @@ -789,7 +803,7 @@ mtc2=false; break; case 2: - motor[TIRE_FL].pwm += 20; + motor[TIRE_FL].pwm += 15; motor[TIRE_BL].pwm = 0; mtc2=false; break; @@ -813,7 +827,8 @@ normal=40; slow=20; } - } else if(mode==22) { + } + else if(mode==22) { if(g[4]==3||g[4]==2) { motor[TIRE_FR].pwm = 30; motor[TIRE_FR].dir = FOR; @@ -925,14 +940,15 @@ mode=23; countss=0; } - } else if(mode==23) { + } + else if(mode==23) { switch(g[4]) { case 98: - motor[TIRE_FR].pwm = fast; + motor[TIRE_FR].pwm = fast-5; motor[TIRE_FR].dir = BACK; - motor[TIRE_FL].pwm = fast; + motor[TIRE_FL].pwm = fast-5; motor[TIRE_FL].dir = FOR; - motor[TIRE_BR].pwm = fast; + motor[TIRE_BR].pwm = fast-5; motor[TIRE_BR].dir = BACK; motor[TIRE_BL].pwm = fast-5; motor[TIRE_BL].dir = FOR; @@ -948,11 +964,11 @@ motor[TIRE_BL].dir = FREE; break; case 0: - motor[TIRE_FR].pwm = fast; + motor[TIRE_FR].pwm = fast-5; motor[TIRE_FR].dir = BACK; - motor[TIRE_FL].pwm = fast; + motor[TIRE_FL].pwm = fast-5; motor[TIRE_FL].dir = FOR; - motor[TIRE_BR].pwm = fast; + motor[TIRE_BR].pwm = fast-5; motor[TIRE_BR].dir = BACK; motor[TIRE_BL].pwm = fast-5; motor[TIRE_BL].dir = FOR; @@ -968,21 +984,21 @@ motor[TIRE_BL].dir = FREE; break; case 253: - motor[TIRE_FR].pwm = fast; + motor[TIRE_FR].pwm = fast-5; motor[TIRE_FR].dir = BACK; - motor[TIRE_FL].pwm = slow; + motor[TIRE_FL].pwm = slow-5; motor[TIRE_FL].dir = FOR; - motor[TIRE_BR].pwm = slow; + motor[TIRE_BR].pwm = slow-5; motor[TIRE_BR].dir = BACK; motor[TIRE_BL].pwm = fast-5; motor[TIRE_BL].dir = FOR; break; case 254: - motor[TIRE_FR].pwm = fast; + motor[TIRE_FR].pwm = fast-5; motor[TIRE_FR].dir = BACK; - motor[TIRE_FL].pwm = normal; + motor[TIRE_FL].pwm = normal-5; motor[TIRE_FL].dir = FOR; - motor[TIRE_BR].pwm = normal; + motor[TIRE_BR].pwm = normal-5; motor[TIRE_BR].dir = BACK; motor[TIRE_BL].pwm = fast-5; motor[TIRE_BL].dir = FOR; @@ -998,21 +1014,21 @@ motor[TIRE_BL].dir = FREE; break; case 3: - motor[TIRE_FR].pwm = slow; + motor[TIRE_FR].pwm = slow-5; motor[TIRE_FR].dir = BACK; - motor[TIRE_FL].pwm = fast; + motor[TIRE_FL].pwm = fast-5; motor[TIRE_FL].dir = FOR; - motor[TIRE_BR].pwm = fast; + motor[TIRE_BR].pwm = fast-5; motor[TIRE_BR].dir = BACK; motor[TIRE_BL].pwm = slow-5; motor[TIRE_BL].dir = FOR; break; case 2: - motor[TIRE_FR].pwm = normal; + motor[TIRE_FR].pwm = normal-5; motor[TIRE_FR].dir = BACK; - motor[TIRE_FL].pwm = fast; + motor[TIRE_FL].pwm = fast-5; motor[TIRE_FL].dir = FOR; - motor[TIRE_BR].pwm = fast; + motor[TIRE_BR].pwm = fast-5; motor[TIRE_BR].dir = BACK; motor[TIRE_BL].pwm = normal-5; motor[TIRE_BL].dir = FOR; @@ -1023,9 +1039,9 @@ motor[MOTOR_0].dir = BRAKE; } if(g[0]==98) { - fast=30; - normal=20; - slow=20; + fast=20; + normal=15; + slow=10; if(DOLS==true||UPLS==true) { motor[MOTOR_0].pwm = 200; motor[MOTOR_0].dir = BRAKE; @@ -1040,9 +1056,10 @@ countss=0; fast=60; normal=40; - slow=30; + slow=20; } - } else if(mode==24) { + } + else if(mode==24) { if(DOLS==true||UPLS==true) { motor[MOTOR_0].pwm = 200; motor[MOTOR_0].dir = BRAKE; @@ -1167,16 +1184,17 @@ motor[MOTOR_0].dir = BACK; } } - } else if(mode==25) { + } + else if(mode==25) { switch(g[4]) { case 98: - motor[TIRE_FR].pwm = fast; + motor[TIRE_FR].pwm = 60; motor[TIRE_FR].dir = BACK; - motor[TIRE_FL].pwm = fast; + motor[TIRE_FL].pwm = 60; motor[TIRE_FL].dir = FOR; - motor[TIRE_BR].pwm = fast; + motor[TIRE_BR].pwm = 60; motor[TIRE_BR].dir = BACK; - motor[TIRE_BL].pwm = fast-5; + motor[TIRE_BL].pwm = 60; motor[TIRE_BL].dir = FOR; break; case 99: @@ -1190,13 +1208,13 @@ motor[TIRE_BL].dir = FREE; break; case 0: - motor[TIRE_FR].pwm = fast; + motor[TIRE_FR].pwm = 60; motor[TIRE_FR].dir = BACK; - motor[TIRE_FL].pwm = fast; + motor[TIRE_FL].pwm = 60; motor[TIRE_FL].dir = FOR; - motor[TIRE_BR].pwm = fast; + motor[TIRE_BR].pwm = 60; motor[TIRE_BR].dir = BACK; - motor[TIRE_BL].pwm = fast-5; + motor[TIRE_BL].pwm = 60; motor[TIRE_BL].dir = FOR; break; case 255: @@ -1210,23 +1228,23 @@ motor[TIRE_BL].dir = FREE; break; case 253: - motor[TIRE_FR].pwm = fast; + motor[TIRE_FR].pwm = 60; motor[TIRE_FR].dir = BACK; - motor[TIRE_FL].pwm = slow; + motor[TIRE_FL].pwm = 20; motor[TIRE_FL].dir = FOR; - motor[TIRE_BR].pwm = slow; + motor[TIRE_BR].pwm = 20; motor[TIRE_BR].dir = BACK; - motor[TIRE_BL].pwm = fast-5; + motor[TIRE_BL].pwm = 60; motor[TIRE_BL].dir = FOR; break; case 254: - motor[TIRE_FR].pwm = fast; + motor[TIRE_FR].pwm = 60; motor[TIRE_FR].dir = BACK; - motor[TIRE_FL].pwm = normal; + motor[TIRE_FL].pwm = 40; motor[TIRE_FL].dir = FOR; - motor[TIRE_BR].pwm = normal; + motor[TIRE_BR].pwm = 40; motor[TIRE_BR].dir = BACK; - motor[TIRE_BL].pwm = fast-5; + motor[TIRE_BL].pwm = 60; motor[TIRE_BL].dir = FOR; break; case 1: @@ -1240,31 +1258,32 @@ motor[TIRE_BL].dir = FREE; break; case 3: - motor[TIRE_FR].pwm = slow; + motor[TIRE_FR].pwm = 40; motor[TIRE_FR].dir = BACK; - motor[TIRE_FL].pwm = fast; + motor[TIRE_FL].pwm = 60; motor[TIRE_FL].dir = FOR; - motor[TIRE_BR].pwm = fast; + motor[TIRE_BR].pwm = 60; motor[TIRE_BR].dir = BACK; - motor[TIRE_BL].pwm = slow-5; + motor[TIRE_BL].pwm = 40; motor[TIRE_BL].dir = FOR; break; case 2: - motor[TIRE_FR].pwm = normal; + motor[TIRE_FR].pwm = 40; motor[TIRE_FR].dir = BACK; - motor[TIRE_FL].pwm = fast; + motor[TIRE_FL].pwm = 60; motor[TIRE_FL].dir = FOR; - motor[TIRE_BR].pwm = fast; + motor[TIRE_BR].pwm = 60; motor[TIRE_BR].dir = BACK; - motor[TIRE_BL].pwm = normal-5; + motor[TIRE_BL].pwm = 40; motor[TIRE_BL].dir = FOR; break; } - if(g[1]==98) { + if(g[0]==98) { mode=31; } } - } else { + } + else { if(mode==21) { motor[TIRE_FR].pwm = 0; motor[TIRE_FR].dir = FREE; @@ -2715,7 +2734,7 @@ break; } if(g[1]==98) { - mode=33; + mode=31; } } } @@ -2900,7 +2919,7 @@ } else if(mode==24) { if(g[1]==98&&countss>=40000) { - mode=33; + mode=31; countss=0; } switch(g[1]) { @@ -3060,7 +3079,7 @@ } } */ - if(mode==33) { + if(mode==31) { motor[TIRE_FR].pwm = 255; motor[TIRE_FR].dir = BRAKE; motor[TIRE_FL].pwm = 45;