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 TrapezoidControl QEI
Diff: System/Process/Process.cpp
- Revision:
- 28:9cd36721cf83
- Parent:
- 27:545148741493
- Child:
- 29:c78a46f51209
diff -r 545148741493 -r 9cd36721cf83 System/Process/Process.cpp
--- a/System/Process/Process.cpp Wed Sep 18 03:07:18 2019 +0000
+++ b/System/Process/Process.cpp Wed Sep 18 11:36:53 2019 +0000
@@ -274,13 +274,8 @@
static void Process0()
{
if(StertSW) {
- if(ZoneSW) {
- current = 1;
- Twsh=2;
- } else {
- current = 1;
- Twsh=3;
- }
+ current = 2;
+ Twsh=3;
}
}
#endif
@@ -304,7 +299,7 @@
static void Process1()
{
count=100000;
- mode=1;
+ mode=0;
cross=0;
motor[TIRE_FR].dir = SetStatus(-omni[controller->AnalogL.Y][14-controller->AnalogL.X] + curve[controller->AnalogR.X]);
motor[TIRE_FL].dir = SetStatus(omni[controller->AnalogL.Y][controller->AnalogL.X] + curve[controller->AnalogR.X]);
@@ -417,6 +412,15 @@
{
// printf("1:%d 2:%d 3:%d 4:%d 5:%d 6:%d 7:%d 8:%d\n\r",g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7]);
count++;
+ if(mode==0&&StertSW) {
+ if(ThSW) {
+ Twsh=1;
+ mode=1;
+ } else {
+ Twsh=2;
+ mode=1;
+ }
+ }
if(mode==1) {//スタートゾーンから白線検知
motor[TIRE_FR].pwm = 30;
motor[TIRE_FR].dir = BACK;
@@ -490,7 +494,7 @@
count=0;
}
mtc=true;
- if(cross==1) {
+ if(cross==Twsh) {
mode=11;
count=0;
}
@@ -644,7 +648,7 @@
motor[TIRE_BR].dir = BACK;
motor[TIRE_BL].pwm = 30;
motor[TIRE_BL].dir = BACK;
- if(count>50000) {
+ if(count>70000) {
cross++;
count=0;
}
@@ -775,7 +779,7 @@
motor[TIRE_BR].dir = BACK;
motor[TIRE_BL].pwm = 0;
motor[TIRE_BL].dir = FREE;
- if(count>5000&&g[0]==0) {
+ if(count>2000&&g[0]==0) {
count=0;
mode=22;
}
@@ -788,7 +792,7 @@
motor[TIRE_BR].dir = FOR;
motor[TIRE_BL].pwm = 15;
motor[TIRE_BL].dir = FOR;
- if(count>10000&&g[0]==0) {
+ if(count>5000&&g[0]==0) {
count=0;
cross=0;
mode=30;
@@ -1431,6 +1435,11 @@
}
} else if(mode==70) {
switch(g[1]) {
+ case 99:
+ if(count>=100000) {
+ mode=100;
+ }
+ break;
case 98:
motor[TIRE_FR].pwm = 30;
motor[TIRE_FR].dir = FOR;
@@ -1440,15 +1449,6 @@
motor[TIRE_BR].dir = FOR;
motor[TIRE_BL].pwm = 30;
motor[TIRE_BL].dir = BACK;
- if(count>100000) {
- cross++;
- count=0;
- }
- mtc=true;
- if(cross==1) {
- mode=71;
- count=0;
- }
break;
case 0:
motor[TIRE_FR].pwm = 60;
@@ -1561,55 +1561,15 @@
break;
}
}
- } else if(mode==71) {
- motor[TIRE_FR].pwm = 15;
+ } else if(mode==100) {
+ motor[TIRE_FR].pwm = 20;
motor[TIRE_FR].dir = FOR;
- motor[TIRE_FL].pwm = 15;
+ motor[TIRE_FL].pwm = 20;
motor[TIRE_FL].dir = BACK;
- motor[TIRE_BR].pwm = 15;
+ motor[TIRE_BR].pwm = 23;
motor[TIRE_BR].dir = FOR;
- motor[TIRE_BL].pwm = 15;
+ motor[TIRE_BL].pwm = 20;
motor[TIRE_BL].dir = BACK;
- if(count>5000&&g[3]==0) {
- count=0;
- mode=72;
- }
- } else if(mode==72) {
- motor[TIRE_FR].pwm = 15;
- motor[TIRE_FR].dir = BACK;
- motor[TIRE_FL].pwm = 15;
- motor[TIRE_FL].dir = FOR;
- motor[TIRE_BR].pwm = 15;
- motor[TIRE_BR].dir = BACK;
- motor[TIRE_BL].pwm = 15;
- motor[TIRE_BL].dir = FOR;
- count++;
- if(count>50000&&g[3]==0) {
- count=0;
- cross=0;
- mode=80;
- }
- } else if(mode==80) {
- if(count>=400000) {
- mode=100;
- }
- motor[TIRE_FR].pwm = 40;
- motor[TIRE_FR].dir = FOR;
- motor[TIRE_FL].pwm = 40;
- motor[TIRE_FL].dir = BACK;
- motor[TIRE_BR].pwm = 40;
- motor[TIRE_BR].dir = FOR;
- motor[TIRE_BL].pwm = 40;
- motor[TIRE_BL].dir = BACK;
- } else if(mode==100) {
- motor[TIRE_FR].pwm = 0;
- motor[TIRE_FR].dir = BRAKE;
- motor[TIRE_FL].pwm = 0;
- motor[TIRE_FL].dir = BRAKE;
- motor[TIRE_BR].pwm = 0;
- motor[TIRE_BR].dir = BRAKE;
- motor[TIRE_BL].pwm = 0;
- motor[TIRE_BL].dir = BRAKE;
} else {
motor[TIRE_FR].pwm = 0;
motor[TIRE_FR].dir = BRAKE;