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:
- 39:f89166d7411c
- Parent:
- 38:391a0c8e4c16
- Child:
- 40:7f93984e8ba1
--- a/System/Process/Process.cpp Thu Sep 26 09:56:28 2019 +0000
+++ b/System/Process/Process.cpp Sat Sep 28 02:49:10 2019 +0000
@@ -106,6 +106,7 @@
void LedMode(int led)
{
+ /*
switch(led) {
case 1:
POTENTIOMETER::dio[0]= 1;
@@ -132,7 +133,7 @@
POTENTIOMETER::dio[3]= 0;
break;
}
- /*
+ */
if(led/8>=1) {
POTENTIOMETER::dio[3]= 1;
led=led%8;
@@ -160,13 +161,13 @@
} else {
POTENTIOMETER::dio[0]= 0;
}
- */
}
int Twsh;
bool UP_flag = false;
bool SW_flag = false;
bool Air_flag = false;
bool zyouge;
+bool zyougedo;
bool dz1=true;
bool dz1i=false;
bool dz2=true;
@@ -187,9 +188,9 @@
int count=100000;//wait代替え
///*********PWM調整用*********///
-int fast =40;
-int normal = 30;
-int slow = 20;
+int fast =80;
+int normal = 60;
+int slow = 40;
#pragma endregion USER-DEFINED_VARIABLES_AND_PROTOTYPE
@@ -378,6 +379,9 @@
if(DWSW) {
zyouge=true;
}
+ if(DOSW) {
+ zyougedo=true;
+ }
if(AIRSW) {
if(SW_flag==false) {
if(Air_flag==false) {
@@ -413,9 +417,15 @@
zyouge=false;
}
}
- } else {
- motor[MOTOR_0].pwm = 100;
- motor[MOTOR_0].dir = BRAKE;
+ }
+ if(zyougedo) {
+ motor[MOTOR_0].pwm = 50;
+ motor[MOTOR_0].dir = BACK;
+ if(DOLS) {
+ motor[MOTOR_0].pwm = 100;
+ motor[MOTOR_0].dir = BRAKE;
+ zyougedo=false;
+ }
}
}
@@ -1081,6 +1091,9 @@
motor[TIRE_BL].dir = BACK;
if(g[3]==0) {
count=0;
+ if(Twsh==2) {
+ solenoid.solenoid2 = SOLENOID_OFF;
+ }
mode=40;
}
} else if(mode==40) {
@@ -1412,7 +1425,7 @@
#if USE_PROCESS_NUM>3
static void Process3()
{
-
+
}
#endif
@@ -1422,13 +1435,13 @@
LedMode(4);
count++;
if(mode==1) {//スタートゾーンから白線検知
- motor[TIRE_FR].pwm = normal;
+ motor[TIRE_FR].pwm = 40;
motor[TIRE_FR].dir = FOR;
- motor[TIRE_FL].pwm = normal;
+ motor[TIRE_FL].pwm = 40;
motor[TIRE_FL].dir = BACK;
- motor[TIRE_BR].pwm = normal;
+ motor[TIRE_BR].pwm = 40;
motor[TIRE_BR].dir = FOR;
- motor[TIRE_BL].pwm = normal;
+ motor[TIRE_BL].pwm = 35;
motor[TIRE_BL].dir = BACK;
if(g[2]==0) {
count=100000;
@@ -1436,13 +1449,13 @@
mode=3;
}
} else if(mode==3) { //横ライントレースから縦ライントレースへ
- motor[TIRE_FR].pwm = normal;
+ motor[TIRE_FR].pwm = 40;
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 = 40;
motor[TIRE_BL].dir = BACK;
if(g[0]==0) {
mode=10;
@@ -1563,7 +1576,7 @@
break;
}
if(g[0]!=98&&mtc==true) {
- switch(g[1]) {
+ switch(g[0]) {
case 0:
mtc=false;
break;
@@ -1608,6 +1621,9 @@
count=0;
cross=0;
mode=20;
+ fast=40;
+ normal=30;
+ slow=20;
}
} else if(mode==20) {
@@ -1774,6 +1790,9 @@
mode=30;
cros=0;
zyouge=true;
+ fast=80;
+ normal=60;
+ slow=40;
}
} else if(mode==30) {
motor[TIRE_FR].pwm = 60;
@@ -1782,15 +1801,13 @@
motor[TIRE_FL].dir = BACK;
motor[TIRE_BR].pwm = 60;
motor[TIRE_BR].dir = FOR;
- motor[TIRE_BL].pwm = 60;
+ motor[TIRE_BL].pwm = 50;
motor[TIRE_BL].dir = BACK;
if(g[1]==98) {
mode=31;
- count=0;
}
- if(counts==false&&g[3]==0) {
- counts=false;
- mode=31;
+ if(g[3]==0) {
+ mode=32;
count=0;
cros=0;
}//ゆっくりモードに入れなかった時の保険
@@ -1931,21 +1948,37 @@
}
*/
} else if(mode==31) {
- motor[TIRE_FR].pwm = 0;
- motor[TIRE_FR].dir = FREE;
- motor[TIRE_FL].pwm = 30;
+ motor[TIRE_FR].pwm = 15;
+ motor[TIRE_FR].dir = FOR;
+ motor[TIRE_FL].pwm = 15;
motor[TIRE_FL].dir = BACK;
- motor[TIRE_BR].pwm = 30;
+ motor[TIRE_BR].pwm = 15;
motor[TIRE_BR].dir = FOR;
- motor[TIRE_BL].pwm = 0;
- motor[TIRE_BL].dir = FREE;
+ motor[TIRE_BL].pwm = 15;
+ motor[TIRE_BL].dir = BACK;
if(g[3]==0) {
count=0;
+ mode=32;
+ }
+ } else if(mode==32) {
+ motor[TIRE_FR].pwm = 30;
+ motor[TIRE_FR].dir = BACK;
+ motor[TIRE_FL].pwm = 30;
+ motor[TIRE_FL].dir = FOR;
+ motor[TIRE_BR].pwm = 30;
+ motor[TIRE_BR].dir = BACK;
+ motor[TIRE_BL].pwm = 30;
+ motor[TIRE_BL].dir = FOR;
+ if(g[3]==0) {
+ count=0;
+ if(Twsh==2) {
+ solenoid.solenoid2 = SOLENOID_OFF;
+ }
mode=40;
}
} else if(mode==40) {
- if(LIB) {
+ if(LIF) {
mode=42;
}
@@ -1978,7 +2011,7 @@
count=0;
}
mtc2=true;
- if(cross==3) {
+ if(cross==2) {
mode=41;
count=0;
cross=0;
@@ -2068,51 +2101,59 @@
mtc2=false;
break;
case 255:
- motor[TIRE_FL].pwm += 5;
+ motor[TIRE_FR].pwm += 5;
mtc2=false;
break;
case 253:
- motor[TIRE_FL].pwm += 10;
+ motor[TIRE_FR].pwm += 10;
mtc2=false;
break;
case 254:
- motor[TIRE_FL].pwm += 20;
- motor[TIRE_BL].pwm = 0;
+ motor[TIRE_FR].pwm += 20;
+ motor[TIRE_BR].pwm = 0;
mtc2=false;
break;
case 1:
- motor[TIRE_BL].pwm += 5;
+ motor[TIRE_BR].pwm += 5;
mtc2=false;
break;
case 3:
- motor[TIRE_BL].pwm += 10;
+ motor[TIRE_BR].pwm += 10;
mtc2=false;
break;
case 2:
- motor[TIRE_BL].pwm += 20;
- motor[TIRE_FL].pwm = 0;
+ motor[TIRE_BR].pwm += 20;
+ motor[TIRE_FR].pwm = 0;
mtc2=false;
break;
}
}
} else if(mode==41) {
- motor[TIRE_FR].pwm = normal;
+ motor[TIRE_FR].pwm = 30;
motor[TIRE_FR].dir = BACK;
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 = 30;
motor[TIRE_BL].dir = FOR;
if(g[1]==0) {
count=0;
mode=70;
+ normal=60;
+ fast=80;
+ slow=40;
}
-
} else if(mode==70)
switch(g[0]) {
case 99:
if(count>=100000) {
+ cross++;
+ mode=100;
+ count=0;
+ }
+ if(cross==3) {
+ cross=0;
mode=100;
}
break;
@@ -2205,7 +2246,7 @@
break;
}
if(g[1]!=98&&mtc==true) {
- switch(g[0]) {
+ switch(g[1]) {
case 0:
mtc=false;
break;
@@ -2245,18 +2286,47 @@
motor[TIRE_BR].dir = BACK;
motor[TIRE_BL].pwm = 20;
motor[TIRE_BL].dir = FOR;
- }
- /* else {
- motor[TIRE_FR].pwm = 0;
+ if(StertSW) {
+ SW_flag = true;
+ }
+ if(SW_flag ==true)
+ motor[TIRE_FR].pwm = 100;
motor[TIRE_FR].dir = BRAKE;
- motor[TIRE_FL].pwm = 0;
+ motor[TIRE_FL].pwm = 100;
motor[TIRE_FL].dir = BRAKE;
- motor[TIRE_BR].pwm = 0;
+ motor[TIRE_BR].pwm = 100;
motor[TIRE_BR].dir = BRAKE;
- motor[TIRE_BL].pwm = 0;
+ motor[TIRE_BL].pwm = 100;
motor[TIRE_BL].dir = BRAKE;
+ fast=60;
+ normal=40;
+ slow=20;
+ mode =1;
+ cross=0;//十字数える用
+ cros=0;
+ count=100000;//wait代替え
+ UP_flag = false;
+ SW_flag = false;
+ Air_flag = false;
+ zyouge=false;
+ zyougedo=false;
+ dz1=true;
+ dz1i=false;
+ dz2=true;
+ dz2i=false;
+ dz3=true;
+ dz3i=false;
+ dz4=true;
+ dz4i=false;
+ through=false;
+ counts=false;
+ mtc=false;
+ mtc2 = false;
+ current = 0;
+ if(StertSW==false) {
+ SW_flag = false;
+ }
}
- */
}
#endif