aa

Dependencies:   mbed

Committer:
yabahiro
Date:
Mon Nov 18 04:18:06 2019 +0000
Revision:
55:844ac0974740
Parent:
54:4167f10ecad0
aaa;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
t_yamamoto 0:669ef71cba68 1 #include "mbed.h"
t_yamamoto 0:669ef71cba68 2 #include "Process.h"
Ryosei 27:dd9f27fce7d1 3 #include <stdlib.h>
7ka884 4:ba9df71868df 4 #include "../../CommonLibraries/PID/PID.h"
t_yamamoto 0:669ef71cba68 5 #include "../../Communication/RS485/ActuatorHub/ActuatorHub.h"
M_souta 21:e3b58d675c1c 6 #include "../../Communication/RS485/LineHub/LineHub.h"
t_yamamoto 0:669ef71cba68 7 #include "../../Communication/Controller/Controller.h"
M_souta 30:8f092276b2ba 8 #include "../../Switch/Switch.h"
Ryosei 27:dd9f27fce7d1 9
t_yamamoto 0:669ef71cba68 10 #include "../../LED/LED.h"
t_yamamoto 0:669ef71cba68 11 #include "../../Safty/Safty.h"
t_yamamoto 0:669ef71cba68 12 #include "../Using.h"
t_yamamoto 0:669ef71cba68 13
t_yamamoto 0:669ef71cba68 14 using namespace SWITCH;
7ka884 4:ba9df71868df 15 using namespace PID_SPACE;
Ryosei 27:dd9f27fce7d1 16
M_souta 21:e3b58d675c1c 17 using namespace LINEHUB;
t_yamamoto 0:669ef71cba68 18
t_yamamoto 0:669ef71cba68 19 static CONTROLLER::ControllerData *controller;
t_yamamoto 0:669ef71cba68 20 ACTUATORHUB::MOTOR::MotorStatus motor[MOUNTING_MOTOR_NUM];
t_yamamoto 0:669ef71cba68 21 ACTUATORHUB::SOLENOID::SolenoidStatus solenoid;
t_yamamoto 0:669ef71cba68 22
t_yamamoto 0:669ef71cba68 23 static bool lock;
t_yamamoto 0:669ef71cba68 24 static bool processChangeComp;
t_yamamoto 0:669ef71cba68 25 static int current;
t_yamamoto 0:669ef71cba68 26
t_yamamoto 0:669ef71cba68 27 static void AllActuatorReset();
t_yamamoto 0:669ef71cba68 28
t_yamamoto 0:669ef71cba68 29 #ifdef USE_SUBPROCESS
t_yamamoto 0:669ef71cba68 30 static void (*Process[USE_PROCESS_NUM])(void);
t_yamamoto 0:669ef71cba68 31 #endif
t_yamamoto 0:669ef71cba68 32
t_yamamoto 0:669ef71cba68 33 #pragma region USER-DEFINED_VARIABLES_AND_PROTOTYPE
t_yamamoto 0:669ef71cba68 34
t_yamamoto 0:669ef71cba68 35 /*Replace here with the definition code of your variables.*/
t_yamamoto 0:669ef71cba68 36
kishibekairohan 2:c015739085d3 37
M_souta 30:8f092276b2ba 38 //Serial pc(USBTX, USBRX);
kishibekairohan 16:3f2c2d89372b 39
Ryosei 27:dd9f27fce7d1 40 const int omni[15][15] = {
Ryosei 27:dd9f27fce7d1 41 { 0, 5, 21, 47, 83, 130, 187, 255, 255, 255, 255, 255, 255, 255, 255 },
Ryosei 27:dd9f27fce7d1 42 { -5, 0, 5, 21, 47, 83, 130, 187, 193, 208, 234, 255, 255, 255, 255 },
Ryosei 27:dd9f27fce7d1 43 { -21, -5, 0, 5, 21, 47, 83, 130, 135, 151, 177, 213, 255, 255, 255 },
Ryosei 27:dd9f27fce7d1 44 { -47, -21, 5, 0, 5, 21, 47, 83, 88, 104, 130, 167, 213, 255, 255 },
Ryosei 27:dd9f27fce7d1 45 { -83, -47, -21, 5, 0, 5, 21, 47, 52, 68, 94, 130, 177, 234, 255 },
Ryosei 27:dd9f27fce7d1 46 { -130, -83, -47, -21, 5, 0, 5, 21, 26, 42, 68, 104, 151, 208, 255 },
Ryosei 27:dd9f27fce7d1 47 { -187, -130, -83, -47, -21, -5, 0, 5, 10, 26, 52, 88, 135, 193, 255 },
Ryosei 27:dd9f27fce7d1 48 { -255, -187, -130, -83, -47, -21, -5, 0, 5, 21, 47, 83, 130, 187, 255 },
Ryosei 27:dd9f27fce7d1 49 { -255, -193, -135, -88, -52, -26, -10, -5, 0, 5, 21, 47, 83, 130, 187 },
Ryosei 27:dd9f27fce7d1 50 { -255, -208, -151, -104, -68, -42, -26, -21, -5, 0, 5, 21, 47, 83, 130 },
Ryosei 27:dd9f27fce7d1 51 { -255, -234, -177, -130, -94, -68, -52, -47, -21, -7, 0, 7, 21, 47, 83 },
Ryosei 27:dd9f27fce7d1 52 { -255, -255, -213, -167, -130, -104, -88, -83, -47, -21, -5, 0, 5, 21, 47 },
Ryosei 27:dd9f27fce7d1 53 { -255, -255, -255, -213, -177, -151, -135, -130, -83, -47, -21, -5, 0, 5, 21 },
Ryosei 27:dd9f27fce7d1 54 { -255, -255, -255, -255, -234, -208, -193, -187, -130, -83, -47, -21, -5, 0, 5 },
Ryosei 27:dd9f27fce7d1 55 { -255, -255, -255, -255, -255, -255, -255, -255, -187, -130, -83, -47, -21, -5, 0 }
M_souta 21:e3b58d675c1c 56 };
M_souta 21:e3b58d675c1c 57
M_souta 21:e3b58d675c1c 58 const int curve[15] = { -204, -150, -104, -66, -38, -17, -4, 0, 4, 17, 38, 66, 104, 150, 204 };
M_souta 21:e3b58d675c1c 59
kishibekairohan 42:980af34f6fe3 60 uint8_t SetStatus(int pwmVal);
kishibekairohan 42:980af34f6fe3 61 uint8_t SetPWM(int pwmVal);
yabahiro 33:dd598bb23ad1 62
kishibekairohan 35:33c6cdba5630 63 DigitalIn EMC(PC_13); //非常停止確認用
yabahiro 33:dd598bb23ad1 64
yabahiro 33:dd598bb23ad1 65 bool start_flag = true;
yabahiro 33:dd598bb23ad1 66 bool UP_flag = false;
yabahiro 33:dd598bb23ad1 67 bool SW_flag = false;
yabahiro 33:dd598bb23ad1 68 bool Air_flag = false;
yabahiro 33:dd598bb23ad1 69 bool zyouge;
yabahiro 33:dd598bb23ad1 70 bool zyougedo;
yabahiro 33:dd598bb23ad1 71 bool dz2=true;
yabahiro 33:dd598bb23ad1 72 bool dz2i=false;
yabahiro 33:dd598bb23ad1 73 bool dz3=true;
yabahiro 33:dd598bb23ad1 74 bool dz3i=false;
yabahiro 33:dd598bb23ad1 75 bool dz4=true;
yabahiro 33:dd598bb23ad1 76 bool dz4i=false;
yabahiro 33:dd598bb23ad1 77 bool zone;
yabahiro 33:dd598bb23ad1 78 bool through=false;
yabahiro 33:dd598bb23ad1 79 bool counts=false;
yabahiro 33:dd598bb23ad1 80 bool mtc=false;
yabahiro 33:dd598bb23ad1 81 bool mtc2 = false;
yabahiro 33:dd598bb23ad1 82 bool emcs=false;
yabahiro 33:dd598bb23ad1 83 bool kiri;
yabahiro 33:dd598bb23ad1 84
yabahiro 33:dd598bb23ad1 85 int g[8];
yabahiro 33:dd598bb23ad1 86 int Twsh;
yabahiro 38:40e7fdf3c694 87 int testmode =0;
yabahiro 33:dd598bb23ad1 88 int mode =0;
yabahiro 33:dd598bb23ad1 89 int cross=0;//十字数える用
yabahiro 33:dd598bb23ad1 90 int cros=0;
yabahiro 33:dd598bb23ad1 91 int countss=100000;//wait代替え
yabahiro 55:844ac0974740 92 int num=0;
yabahiro 33:dd598bb23ad1 93
yabahiro 33:dd598bb23ad1 94 ///*********PWM調整用*********///
kishibekairohan 41:99a1158f3eca 95
kishibekairohan 42:980af34f6fe3 96 int fast = 60;
yabahiro 33:dd598bb23ad1 97 int normal = 40;
yabahiro 46:68296caae1af 98 int slow = 25;
yabahiro 33:dd598bb23ad1 99
yabahiro 55:844ac0974740 100 /*
yabahiro 55:844ac0974740 101 void Count();
yabahiro 55:844ac0974740 102 Ticker bunzin;
yabahiro 55:844ac0974740 103 */
yabahiro 55:844ac0974740 104
yabahiro 55:844ac0974740 105 //Timer time;
yabahiro 55:844ac0974740 106 //int value;
yabahiro 55:844ac0974740 107
t_yamamoto 0:669ef71cba68 108 #pragma endregion USER-DEFINED_VARIABLES_AND_PROTOTYPE
t_yamamoto 0:669ef71cba68 109
t_yamamoto 0:669ef71cba68 110 #ifdef USE_SUBPROCESS
t_yamamoto 0:669ef71cba68 111 #if USE_PROCESS_NUM>0
t_yamamoto 0:669ef71cba68 112 static void Process0(void);
t_yamamoto 0:669ef71cba68 113 #endif
t_yamamoto 0:669ef71cba68 114 #if USE_PROCESS_NUM>1
t_yamamoto 0:669ef71cba68 115 static void Process1(void);
t_yamamoto 0:669ef71cba68 116 #endif
t_yamamoto 0:669ef71cba68 117 #if USE_PROCESS_NUM>2
t_yamamoto 0:669ef71cba68 118 static void Process2(void);
t_yamamoto 0:669ef71cba68 119 #endif
t_yamamoto 0:669ef71cba68 120 #if USE_PROCESS_NUM>3
t_yamamoto 0:669ef71cba68 121 static void Process3(void);
t_yamamoto 0:669ef71cba68 122 #endif
t_yamamoto 0:669ef71cba68 123 #if USE_PROCESS_NUM>4
t_yamamoto 0:669ef71cba68 124 static void Process4(void);
t_yamamoto 0:669ef71cba68 125 #endif
t_yamamoto 0:669ef71cba68 126 #if USE_PROCESS_NUM>5
t_yamamoto 0:669ef71cba68 127 static void Process5(void);
t_yamamoto 0:669ef71cba68 128 #endif
t_yamamoto 0:669ef71cba68 129 #if USE_PROCESS_NUM>6
t_yamamoto 0:669ef71cba68 130 static void Process6(void);
t_yamamoto 0:669ef71cba68 131 #endif
t_yamamoto 0:669ef71cba68 132 #if USE_PROCESS_NUM>7
t_yamamoto 0:669ef71cba68 133 static void Process7(void);
t_yamamoto 0:669ef71cba68 134 #endif
t_yamamoto 0:669ef71cba68 135 #if USE_PROCESS_NUM>8
t_yamamoto 0:669ef71cba68 136 static void Process8(void);
t_yamamoto 0:669ef71cba68 137 #endif
t_yamamoto 0:669ef71cba68 138 #if USE_PROCESS_NUM>9
t_yamamoto 0:669ef71cba68 139 static void Process9(void);
t_yamamoto 0:669ef71cba68 140 #endif
t_yamamoto 0:669ef71cba68 141 #endif
t_yamamoto 0:669ef71cba68 142
t_yamamoto 0:669ef71cba68 143 void SystemProcessInitialize()
t_yamamoto 0:669ef71cba68 144 {
Ryosei 27:dd9f27fce7d1 145 #pragma region USER-DEFINED_VARIABLE_INIT
Ryosei 27:dd9f27fce7d1 146 /*Replace here with the initialization code of your variables.*/
yabahiro 55:844ac0974740 147 //bunzin.attach(Count,0.001);
Ryosei 27:dd9f27fce7d1 148
Ryosei 27:dd9f27fce7d1 149 #pragma endregion USER-DEFINED_VARIABLE_INIT
Ryosei 27:dd9f27fce7d1 150
Ryosei 27:dd9f27fce7d1 151 lock = true;
Ryosei 27:dd9f27fce7d1 152 processChangeComp = true;
Ryosei 27:dd9f27fce7d1 153 current = DEFAULT_PROCESS;
t_yamamoto 0:669ef71cba68 154
Ryosei 27:dd9f27fce7d1 155 #ifdef USE_SUBPROCESS
Ryosei 27:dd9f27fce7d1 156 #if USE_PROCESS_NUM>0
Ryosei 27:dd9f27fce7d1 157 Process[0] = Process0;
Ryosei 27:dd9f27fce7d1 158 #endif
Ryosei 27:dd9f27fce7d1 159 #if USE_PROCESS_NUM>1
Ryosei 27:dd9f27fce7d1 160 Process[1] = Process1;
Ryosei 27:dd9f27fce7d1 161 #endif
Ryosei 27:dd9f27fce7d1 162 #if USE_PROCESS_NUM>2
Ryosei 27:dd9f27fce7d1 163 Process[2] = Process2;
Ryosei 27:dd9f27fce7d1 164 #endif
Ryosei 27:dd9f27fce7d1 165 #if USE_PROCESS_NUM>3
Ryosei 27:dd9f27fce7d1 166 Process[3] = Process3;
Ryosei 27:dd9f27fce7d1 167 #endif
Ryosei 27:dd9f27fce7d1 168 #if USE_PROCESS_NUM>4
Ryosei 27:dd9f27fce7d1 169 Process[4] = Process4;
Ryosei 27:dd9f27fce7d1 170 #endif
Ryosei 27:dd9f27fce7d1 171 #if USE_PROCESS_NUM>5
Ryosei 27:dd9f27fce7d1 172 Process[5] = Process5;
Ryosei 27:dd9f27fce7d1 173 #endif
Ryosei 27:dd9f27fce7d1 174 #if USE_PROCESS_NUM>6
Ryosei 27:dd9f27fce7d1 175 Process[6] = Process6;
Ryosei 27:dd9f27fce7d1 176 #endif
Ryosei 27:dd9f27fce7d1 177 #if USE_PROCESS_NUM>7
Ryosei 27:dd9f27fce7d1 178 Process[7] = Process7;
Ryosei 27:dd9f27fce7d1 179 #endif
Ryosei 27:dd9f27fce7d1 180 #if USE_PROCESS_NUM>8
Ryosei 27:dd9f27fce7d1 181 Process[8] = Process8;
Ryosei 27:dd9f27fce7d1 182 #endif
Ryosei 27:dd9f27fce7d1 183 #if USE_PROCESS_NUM>9
Ryosei 27:dd9f27fce7d1 184 Process[9] = Process9;
Ryosei 27:dd9f27fce7d1 185 #endif
Ryosei 27:dd9f27fce7d1 186 #endif
t_yamamoto 0:669ef71cba68 187 }
t_yamamoto 0:669ef71cba68 188
t_yamamoto 0:669ef71cba68 189 static void SystemProcessUpdate()
t_yamamoto 0:669ef71cba68 190 {
Ryosei 27:dd9f27fce7d1 191 #ifdef USE_SUBPROCESS
Ryosei 27:dd9f27fce7d1 192 if(controller->Button.HOME) lock = false;
Ryosei 27:dd9f27fce7d1 193
Ryosei 27:dd9f27fce7d1 194 if(controller->Button.START && processChangeComp) {
Ryosei 27:dd9f27fce7d1 195 current++;
Ryosei 27:dd9f27fce7d1 196 if (USE_PROCESS_NUM < current) current = USE_PROCESS_NUM;
Ryosei 27:dd9f27fce7d1 197 processChangeComp = false;
Ryosei 27:dd9f27fce7d1 198 } else if(controller->Button.SELECT && processChangeComp) {
Ryosei 27:dd9f27fce7d1 199 current--;
Ryosei 27:dd9f27fce7d1 200 if (current < 0) current = 0;
Ryosei 27:dd9f27fce7d1 201 processChangeComp = false;
Ryosei 27:dd9f27fce7d1 202 } else if(!controller->Button.SELECT && !controller->Button.START) processChangeComp = true;
Ryosei 27:dd9f27fce7d1 203 #endif
Ryosei 27:dd9f27fce7d1 204
Ryosei 27:dd9f27fce7d1 205 #ifdef USE_MOTOR
Ryosei 27:dd9f27fce7d1 206 ACTUATORHUB::MOTOR::Motor::Update(motor);
Ryosei 27:dd9f27fce7d1 207 #endif
Ryosei 27:dd9f27fce7d1 208
Ryosei 27:dd9f27fce7d1 209 #ifdef USE_SOLENOID
Ryosei 27:dd9f27fce7d1 210 ACTUATORHUB::SOLENOID::Solenoid::Update(solenoid);
Ryosei 27:dd9f27fce7d1 211 #endif
Ryosei 27:dd9f27fce7d1 212
Ryosei 27:dd9f27fce7d1 213 #ifdef USE_RS485
Ryosei 27:dd9f27fce7d1 214 ACTUATORHUB::ActuatorHub::Update();
Ryosei 27:dd9f27fce7d1 215 //LINEHUB::LineHub::Update();
Ryosei 27:dd9f27fce7d1 216 #endif
Ryosei 27:dd9f27fce7d1 217
Ryosei 27:dd9f27fce7d1 218 }
Ryosei 27:dd9f27fce7d1 219
yabahiro 39:784552c26163 220 int point1;
Ryosei 27:dd9f27fce7d1 221 void SystemProcess()
Ryosei 27:dd9f27fce7d1 222 {
yabahiro 55:844ac0974740 223
Ryosei 27:dd9f27fce7d1 224 SystemProcessInitialize();
yabahiro 33:dd598bb23ad1 225
Ryosei 27:dd9f27fce7d1 226 while(1) {
yabahiro 53:694dbd7dfa0e 227 //pc.printf("3:%d\n\r",g[3]);
yabahiro 46:68296caae1af 228
yabahiro 33:dd598bb23ad1 229 if(EMC==0) {
yabahiro 33:dd598bb23ad1 230 fast=40;
yabahiro 33:dd598bb23ad1 231 normal=30;
yabahiro 33:dd598bb23ad1 232 slow=20;
yabahiro 33:dd598bb23ad1 233 cross=0;//十字数える用
yabahiro 33:dd598bb23ad1 234 cros=0;
yabahiro 33:dd598bb23ad1 235 countss=0;//wait代替え
yabahiro 33:dd598bb23ad1 236 UP_flag = false;
yabahiro 33:dd598bb23ad1 237 SW_flag = false;
yabahiro 33:dd598bb23ad1 238 Air_flag = false;
yabahiro 33:dd598bb23ad1 239 zyouge=false;
yabahiro 33:dd598bb23ad1 240 zyougedo=false;
yabahiro 33:dd598bb23ad1 241 dz2=true;
yabahiro 33:dd598bb23ad1 242 dz2i=false;
yabahiro 33:dd598bb23ad1 243 dz3=true;
yabahiro 33:dd598bb23ad1 244 dz3i=false;
yabahiro 33:dd598bb23ad1 245 dz4=true;
yabahiro 33:dd598bb23ad1 246 dz4i=false;
yabahiro 33:dd598bb23ad1 247 through=false;
yabahiro 33:dd598bb23ad1 248 counts=false;
yabahiro 33:dd598bb23ad1 249 mtc=false;
yabahiro 33:dd598bb23ad1 250 mtc2 = false;
yabahiro 33:dd598bb23ad1 251 current = 0;
yabahiro 33:dd598bb23ad1 252 SystemProcessInitialize();
yabahiro 33:dd598bb23ad1 253 if(emcs==false) {
yabahiro 33:dd598bb23ad1 254 AllActuatorReset();
yabahiro 33:dd598bb23ad1 255 emcs=true;
yabahiro 33:dd598bb23ad1 256 }
yabahiro 33:dd598bb23ad1 257 } else {
yabahiro 33:dd598bb23ad1 258 emcs=false;
yabahiro 33:dd598bb23ad1 259 }
Ryosei 27:dd9f27fce7d1 260
yabahiro 33:dd598bb23ad1 261 if(mode==0) {
yabahiro 33:dd598bb23ad1 262 if(ZoneSW) {
kishibekairohan 35:33c6cdba5630 263 LED::LED::TapeledMode(1);
yabahiro 33:dd598bb23ad1 264 } else {
kishibekairohan 35:33c6cdba5630 265 LED::LED::TapeledMode(2);
yabahiro 33:dd598bb23ad1 266 }
yabahiro 33:dd598bb23ad1 267 }
yabahiro 33:dd598bb23ad1 268 for(int i = 0; i < 8; i++) {
yabahiro 33:dd598bb23ad1 269 g[i] = LineHub::GetPara(i);
yabahiro 33:dd598bb23ad1 270 }
yabahiro 33:dd598bb23ad1 271 if(ThSW) {
yabahiro 33:dd598bb23ad1 272 Twsh=1;
yabahiro 33:dd598bb23ad1 273 } else {
yabahiro 33:dd598bb23ad1 274 Twsh=2;
yabahiro 33:dd598bb23ad1 275 }
yabahiro 33:dd598bb23ad1 276
yabahiro 33:dd598bb23ad1 277 if(StertSW && start_flag == true) {
yabahiro 33:dd598bb23ad1 278 start_flag = false;
yabahiro 33:dd598bb23ad1 279 lock = false;
yabahiro 55:844ac0974740 280 //time.start();
yabahiro 33:dd598bb23ad1 281 if(ZoneSW) {
yabahiro 33:dd598bb23ad1 282 countss=0;
yabahiro 33:dd598bb23ad1 283 mode=1;
yabahiro 40:ed2409e0ce6b 284 current = 3;//10GATU30変更した
yabahiro 33:dd598bb23ad1 285
yabahiro 33:dd598bb23ad1 286 } else {
kishibekairohan 34:2fce61e3ebc4 287 countss = 0;
yabahiro 33:dd598bb23ad1 288 mode=1;
yabahiro 49:697b4e9ce884 289 current = 2;//11ガツ13ニチヘンコウ
yabahiro 33:dd598bb23ad1 290 }
yabahiro 33:dd598bb23ad1 291 }
yabahiro 33:dd598bb23ad1 292 if(DWSW||DOSW) {
yabahiro 33:dd598bb23ad1 293 if(DWSW) {
yabahiro 33:dd598bb23ad1 294 zyouge=true;
yabahiro 33:dd598bb23ad1 295 }
yabahiro 33:dd598bb23ad1 296 if(DOSW) {
yabahiro 33:dd598bb23ad1 297 if(DOLS) {
yabahiro 33:dd598bb23ad1 298 motor[MOTOR_0].pwm = 100;
yabahiro 33:dd598bb23ad1 299 motor[MOTOR_0].dir = BRAKE;
yabahiro 33:dd598bb23ad1 300 } else {
yabahiro 38:40e7fdf3c694 301 motor[MOTOR_0].pwm = 200;
yabahiro 33:dd598bb23ad1 302 motor[MOTOR_0].dir = BACK;
yabahiro 33:dd598bb23ad1 303 }
yabahiro 33:dd598bb23ad1 304 }
yabahiro 33:dd598bb23ad1 305 } else if(zyouge==false) {
yabahiro 33:dd598bb23ad1 306 motor[MOTOR_0].pwm = 100;
yabahiro 33:dd598bb23ad1 307 motor[MOTOR_0].dir = BRAKE;
yabahiro 33:dd598bb23ad1 308 }
yabahiro 33:dd598bb23ad1 309 if(zyouge) {
yabahiro 33:dd598bb23ad1 310 if(Twsh==1) {
yabahiro 38:40e7fdf3c694 311 motor[MOTOR_0].pwm = 255;
yabahiro 33:dd598bb23ad1 312 motor[MOTOR_0].dir = FOR;
yabahiro 33:dd598bb23ad1 313 if(UPLS) {
yabahiro 33:dd598bb23ad1 314 motor[MOTOR_0].pwm = 100;
yabahiro 33:dd598bb23ad1 315 motor[MOTOR_0].dir = BRAKE;
yabahiro 33:dd598bb23ad1 316 zyouge=false;
yabahiro 33:dd598bb23ad1 317 }
yabahiro 33:dd598bb23ad1 318 }
yabahiro 33:dd598bb23ad1 319 if(Twsh==2) {
yabahiro 33:dd598bb23ad1 320 motor[MOTOR_0].pwm = 245;
yabahiro 33:dd598bb23ad1 321 motor[MOTOR_0].dir = FOR;
yabahiro 33:dd598bb23ad1 322 if(UPLS2) {
yabahiro 33:dd598bb23ad1 323 motor[MOTOR_0].pwm = 100;
yabahiro 33:dd598bb23ad1 324 motor[MOTOR_0].dir = BRAKE;
yabahiro 33:dd598bb23ad1 325 zyouge=false;
yabahiro 33:dd598bb23ad1 326 }
yabahiro 33:dd598bb23ad1 327 }
yabahiro 33:dd598bb23ad1 328 }
yabahiro 33:dd598bb23ad1 329 if(AIRSW) {
yabahiro 33:dd598bb23ad1 330 if(SW_flag==false) {
yabahiro 33:dd598bb23ad1 331 if(Air_flag==false) {
yabahiro 33:dd598bb23ad1 332 solenoid.solenoid3 = SOLENOID_ON;
yabahiro 33:dd598bb23ad1 333 Air_flag=true;
yabahiro 33:dd598bb23ad1 334 SW_flag=true;
yabahiro 33:dd598bb23ad1 335 } else {
yabahiro 33:dd598bb23ad1 336 solenoid.solenoid3 = SOLENOID_OFF;
yabahiro 33:dd598bb23ad1 337 Air_flag=false;
yabahiro 33:dd598bb23ad1 338 SW_flag=true;
yabahiro 33:dd598bb23ad1 339 }
yabahiro 33:dd598bb23ad1 340 }
yabahiro 33:dd598bb23ad1 341 } else {
yabahiro 33:dd598bb23ad1 342 if(SW_flag==true) {
yabahiro 33:dd598bb23ad1 343 countss++;
yabahiro 33:dd598bb23ad1 344 if(countss>=2000) {
yabahiro 33:dd598bb23ad1 345 SW_flag=false;
yabahiro 33:dd598bb23ad1 346 countss=0;
yabahiro 33:dd598bb23ad1 347 }
yabahiro 33:dd598bb23ad1 348 }
yabahiro 33:dd598bb23ad1 349 }
yabahiro 33:dd598bb23ad1 350
yabahiro 33:dd598bb23ad1 351
yabahiro 33:dd598bb23ad1 352 #ifdef USE_MU
Ryosei 27:dd9f27fce7d1 353 controller = CONTROLLER::Controller::GetData();
yabahiro 33:dd598bb23ad1 354 #endif
yabahiro 33:dd598bb23ad1 355
Ryosei 27:dd9f27fce7d1 356
yabahiro 33:dd598bb23ad1 357 #ifdef USE_ERRORCHECK
yabahiro 38:40e7fdf3c694 358 if(SAFTY::ErrorCheck::Check() & SAFTY::Error::ControllerLost & start_flag) {
Ryosei 27:dd9f27fce7d1 359 CONTROLLER::Controller::DataReset();
Ryosei 27:dd9f27fce7d1 360 AllActuatorReset();
Ryosei 27:dd9f27fce7d1 361 lock = true;
Ryosei 27:dd9f27fce7d1 362 } else
yabahiro 38:40e7fdf3c694 363
yabahiro 33:dd598bb23ad1 364 #endif
Ryosei 27:dd9f27fce7d1 365 {
Ryosei 27:dd9f27fce7d1 366
yabahiro 33:dd598bb23ad1 367 #ifdef USE_SUBPROCESS
Ryosei 27:dd9f27fce7d1 368 if(!lock) {
Ryosei 27:dd9f27fce7d1 369 Process[current]();
Ryosei 27:dd9f27fce7d1 370 } else
yabahiro 33:dd598bb23ad1 371 #endif
Ryosei 27:dd9f27fce7d1 372 {
Ryosei 27:dd9f27fce7d1 373 //ロック時の処理
Ryosei 27:dd9f27fce7d1 374 }
Ryosei 27:dd9f27fce7d1 375 }
yabahiro 33:dd598bb23ad1 376
Ryosei 27:dd9f27fce7d1 377 SystemProcessUpdate();
Ryosei 27:dd9f27fce7d1 378 }
t_yamamoto 0:669ef71cba68 379 }
t_yamamoto 0:669ef71cba68 380
kishibekairohan 2:c015739085d3 381
kishibekairohan 2:c015739085d3 382
kishibekairohan 2:c015739085d3 383
t_yamamoto 0:669ef71cba68 384 #pragma region PROCESS
t_yamamoto 0:669ef71cba68 385 #ifdef USE_SUBPROCESS
t_yamamoto 0:669ef71cba68 386 #if USE_PROCESS_NUM>0
Ryosei 27:dd9f27fce7d1 387 static void Process0()
Ryosei 27:dd9f27fce7d1 388 {
yabahiro 33:dd598bb23ad1 389
yabahiro 33:dd598bb23ad1 390 //AllActuatorReset();
t_yamamoto 0:669ef71cba68 391 }
t_yamamoto 0:669ef71cba68 392 #endif
t_yamamoto 0:669ef71cba68 393
t_yamamoto 0:669ef71cba68 394 #if USE_PROCESS_NUM>1
kishibekairohan 16:3f2c2d89372b 395 static void Process1()
t_yamamoto 0:669ef71cba68 396 {
kishibekairohan 35:33c6cdba5630 397 LED::LED::TapeledMode(6);
yabahiro 33:dd598bb23ad1 398 start_flag = true;
yabahiro 33:dd598bb23ad1 399 mtc=false;
yabahiro 33:dd598bb23ad1 400 mtc2 = false;
yabahiro 33:dd598bb23ad1 401 mode=1;
yabahiro 33:dd598bb23ad1 402 cross=0;
yabahiro 33:dd598bb23ad1 403 Twsh=1;
yabahiro 33:dd598bb23ad1 404 motor[TIRE_FR].dir = SetStatus(-omni[controller->AnalogL.Y][14-controller->AnalogL.X] + curve[controller->AnalogR.X]);
yabahiro 33:dd598bb23ad1 405 motor[TIRE_FL].dir = SetStatus(omni[controller->AnalogL.Y][controller->AnalogL.X] + curve[controller->AnalogR.X]);
yabahiro 33:dd598bb23ad1 406 motor[TIRE_BR].dir = SetStatus(-omni[14-controller->AnalogL.X][14-controller->AnalogL.Y] + curve[controller->AnalogR.X]);
yabahiro 33:dd598bb23ad1 407 motor[TIRE_BL].dir = SetStatus(omni[controller->AnalogL.X][14-controller->AnalogL.Y] + curve[controller->AnalogR.X]);
Ryosei 27:dd9f27fce7d1 408
kishibekairohan 42:980af34f6fe3 409 motor[TIRE_FR].pwm = SetPWM(omni[controller->AnalogL.Y][14-controller->AnalogL.X]+ curve[controller->AnalogR.X])*0.2;
kishibekairohan 42:980af34f6fe3 410 motor[TIRE_FL].pwm = SetPWM(omni[controller->AnalogL.Y][controller->AnalogL.X]+ curve[controller->AnalogR.X])*0.2;
kishibekairohan 42:980af34f6fe3 411 motor[TIRE_BR].pwm = SetPWM(omni[14-controller->AnalogL.X][14-controller->AnalogL.Y]+ curve[controller->AnalogR.X])*0.2;
kishibekairohan 42:980af34f6fe3 412 motor[TIRE_BL].pwm = SetPWM(omni[controller->AnalogL.X][14-controller->AnalogL.Y]+ curve[controller->AnalogR.X])*0.2;
yabahiro 33:dd598bb23ad1 413
yabahiro 33:dd598bb23ad1 414 if(controller->Button.UP||controller->Button.DOWN) {
yabahiro 33:dd598bb23ad1 415
yabahiro 33:dd598bb23ad1 416 if(controller->Button.UP) {
yabahiro 33:dd598bb23ad1 417 motor[MOTOR_0].pwm =200;
yabahiro 33:dd598bb23ad1 418 motor[MOTOR_0].dir = FOR;
yabahiro 33:dd598bb23ad1 419 if(UPLS) {
yabahiro 33:dd598bb23ad1 420 motor[MOTOR_0].pwm = 0;
yabahiro 33:dd598bb23ad1 421 motor[MOTOR_0].dir = BRAKE;
yabahiro 33:dd598bb23ad1 422 }
yabahiro 33:dd598bb23ad1 423 }
yabahiro 33:dd598bb23ad1 424 if(controller->Button.DOWN) {
yabahiro 33:dd598bb23ad1 425 motor[MOTOR_0].pwm = 50;
yabahiro 33:dd598bb23ad1 426 motor[MOTOR_0].dir = BACK;
yabahiro 33:dd598bb23ad1 427 }
yabahiro 33:dd598bb23ad1 428 } else {
yabahiro 33:dd598bb23ad1 429 motor[MOTOR_0].pwm = 0;
yabahiro 33:dd598bb23ad1 430 motor[MOTOR_0].dir = BRAKE;
yabahiro 33:dd598bb23ad1 431 }
yabahiro 33:dd598bb23ad1 432
yabahiro 33:dd598bb23ad1 433 if(controller->Button.Y) {
yabahiro 33:dd598bb23ad1 434 if(dz2==true) {
yabahiro 33:dd598bb23ad1 435 if(dz2i==false) {
yabahiro 33:dd598bb23ad1 436 solenoid.solenoid2 = SOLENOID_ON;
yabahiro 33:dd598bb23ad1 437 dz2i=true;
yabahiro 33:dd598bb23ad1 438 } else {
yabahiro 33:dd598bb23ad1 439 solenoid.solenoid2 = SOLENOID_OFF;
yabahiro 33:dd598bb23ad1 440 dz2i=false;
yabahiro 33:dd598bb23ad1 441 }
yabahiro 33:dd598bb23ad1 442 dz2=false;
yabahiro 33:dd598bb23ad1 443 }
yabahiro 33:dd598bb23ad1 444 } else {
yabahiro 33:dd598bb23ad1 445 dz2=true;
yabahiro 33:dd598bb23ad1 446 }
yabahiro 33:dd598bb23ad1 447
yabahiro 33:dd598bb23ad1 448 if(controller->Button.A) {
yabahiro 33:dd598bb23ad1 449 if(dz3==true) {
yabahiro 33:dd598bb23ad1 450 if(dz3i==false) {
kishibekairohan 37:e77816810627 451 solenoid.solenoid3 = SOLENOID_ON;
yabahiro 33:dd598bb23ad1 452 dz3i=true;
yabahiro 33:dd598bb23ad1 453 } else {
yabahiro 33:dd598bb23ad1 454 solenoid.solenoid3 = SOLENOID_OFF;
yabahiro 33:dd598bb23ad1 455 dz3i=false;
yabahiro 33:dd598bb23ad1 456 }
yabahiro 33:dd598bb23ad1 457 dz3=false;
yabahiro 33:dd598bb23ad1 458 }
yabahiro 33:dd598bb23ad1 459 } else {
yabahiro 33:dd598bb23ad1 460 dz3=true;
yabahiro 33:dd598bb23ad1 461 }
yabahiro 33:dd598bb23ad1 462
yabahiro 33:dd598bb23ad1 463 if(controller->Button.B) {
yabahiro 33:dd598bb23ad1 464 if(dz4==true) {
yabahiro 33:dd598bb23ad1 465 if(dz4i==false) {
yabahiro 38:40e7fdf3c694 466 solenoid.solenoid4 = SOLENOID_ON;
yabahiro 33:dd598bb23ad1 467 dz4i=true;
yabahiro 33:dd598bb23ad1 468 } else {
yabahiro 38:40e7fdf3c694 469 solenoid.solenoid4 = SOLENOID_OFF;
yabahiro 33:dd598bb23ad1 470 dz4i=false;
yabahiro 33:dd598bb23ad1 471 }
yabahiro 33:dd598bb23ad1 472 dz4=false;
yabahiro 33:dd598bb23ad1 473 }
yabahiro 33:dd598bb23ad1 474 } else {
yabahiro 33:dd598bb23ad1 475 dz4=true;
yabahiro 33:dd598bb23ad1 476 }
t_yamamoto 0:669ef71cba68 477 }
t_yamamoto 0:669ef71cba68 478 #endif
t_yamamoto 0:669ef71cba68 479
t_yamamoto 0:669ef71cba68 480 #if USE_PROCESS_NUM>2
kishibekairohan 16:3f2c2d89372b 481 static void Process2()
Ryosei 27:dd9f27fce7d1 482 {
yabahiro 33:dd598bb23ad1 483 //Oh So 青ゾーン
yabahiro 53:694dbd7dfa0e 484 LED::LED::TapeledMode(4);
yabahiro 33:dd598bb23ad1 485 countss++;
yabahiro 50:87f5fa1bc460 486 switch(mode) {
yabahiro 50:87f5fa1bc460 487 case 1:
yabahiro 51:a0bdbddd08f7 488 fast=40;
yabahiro 51:a0bdbddd08f7 489 normal=30;
yabahiro 51:a0bdbddd08f7 490 slow=20;
yabahiro 51:a0bdbddd08f7 491 motor[TIRE_FR].pwm = normal+20;
yabahiro 51:a0bdbddd08f7 492 motor[TIRE_FR].dir = FOR;
yabahiro 51:a0bdbddd08f7 493 motor[TIRE_FL].pwm = normal+20;
yabahiro 51:a0bdbddd08f7 494 motor[TIRE_FL].dir = BACK;
yabahiro 51:a0bdbddd08f7 495 motor[TIRE_BR].pwm = normal+20;
yabahiro 51:a0bdbddd08f7 496 motor[TIRE_BR].dir = FOR;
yabahiro 51:a0bdbddd08f7 497 motor[TIRE_BL].pwm = normal+20;
yabahiro 51:a0bdbddd08f7 498 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 499 if(g[2]==0&&countss>=300000) {
yabahiro 51:a0bdbddd08f7 500 countss=100000;
yabahiro 51:a0bdbddd08f7 501 cross=0;
yabahiro 51:a0bdbddd08f7 502 mode=3;
yabahiro 51:a0bdbddd08f7 503 }
yabahiro 50:87f5fa1bc460 504 break;
yabahiro 51:a0bdbddd08f7 505 case 3:
yabahiro 51:a0bdbddd08f7 506 motor[TIRE_FR].pwm = 30;
yabahiro 51:a0bdbddd08f7 507 motor[TIRE_FR].dir = FOR;
yabahiro 51:a0bdbddd08f7 508 motor[TIRE_FL].pwm = 255;
yabahiro 51:a0bdbddd08f7 509 motor[TIRE_FL].dir = BRAKE;
yabahiro 51:a0bdbddd08f7 510 motor[TIRE_BR].pwm = 255;
yabahiro 51:a0bdbddd08f7 511 motor[TIRE_BR].dir = BRAKE;
yabahiro 51:a0bdbddd08f7 512 motor[TIRE_BL].pwm = 30;
yabahiro 51:a0bdbddd08f7 513 motor[TIRE_BL].dir = BACK;
yabahiro 51:a0bdbddd08f7 514 if(g[1]==0) {
yabahiro 51:a0bdbddd08f7 515 mode=10;
yabahiro 51:a0bdbddd08f7 516 countss=100000;
yabahiro 55:844ac0974740 517 fast=80;
yabahiro 55:844ac0974740 518 normal=60;
yabahiro 55:844ac0974740 519 slow=40;
yabahiro 51:a0bdbddd08f7 520 }
yabahiro 50:87f5fa1bc460 521 break;
yabahiro 50:87f5fa1bc460 522 case 10:
yabahiro 51:a0bdbddd08f7 523 switch(g[1]) {
yabahiro 51:a0bdbddd08f7 524 case 98:
yabahiro 51:a0bdbddd08f7 525 motor[TIRE_FR].pwm = normal+55;
yabahiro 51:a0bdbddd08f7 526 motor[TIRE_FR].dir = FOR;
yabahiro 51:a0bdbddd08f7 527 motor[TIRE_FL].pwm = normal+50;
yabahiro 51:a0bdbddd08f7 528 motor[TIRE_FL].dir = BACK;
yabahiro 51:a0bdbddd08f7 529 motor[TIRE_BR].pwm = normal+50;
yabahiro 51:a0bdbddd08f7 530 motor[TIRE_BR].dir = FOR;
yabahiro 51:a0bdbddd08f7 531 motor[TIRE_BL].pwm = normal+45;
yabahiro 51:a0bdbddd08f7 532 motor[TIRE_BL].dir = BACK;
yabahiro 51:a0bdbddd08f7 533 mtc=true;
yabahiro 51:a0bdbddd08f7 534 if(countss>80000) {
yabahiro 51:a0bdbddd08f7 535 cross++;
yabahiro 51:a0bdbddd08f7 536 countss=0;
yabahiro 51:a0bdbddd08f7 537 }
yabahiro 46:68296caae1af 538
yabahiro 51:a0bdbddd08f7 539 if(cross==2) {
yabahiro 51:a0bdbddd08f7 540 fast = 10;
yabahiro 51:a0bdbddd08f7 541 normal = 10;
yabahiro 51:a0bdbddd08f7 542 slow = 5;
yabahiro 51:a0bdbddd08f7 543 }
yabahiro 46:68296caae1af 544
kishibekairohan 45:0cf48a0605cd 545 if(cross==3) {
yabahiro 51:a0bdbddd08f7 546 fast=40;
yabahiro 51:a0bdbddd08f7 547 normal=30;
yabahiro 51:a0bdbddd08f7 548 slow=20;
yabahiro 51:a0bdbddd08f7 549 mode=11;
yabahiro 39:784552c26163 550 countss=0;
yabahiro 39:784552c26163 551 cross=0;
yabahiro 39:784552c26163 552 }
yabahiro 39:784552c26163 553 break;
yabahiro 39:784552c26163 554 case 0:
yabahiro 51:a0bdbddd08f7 555 motor[TIRE_FR].pwm = fast+55;
yabahiro 51:a0bdbddd08f7 556 motor[TIRE_FR].dir = FOR;
yabahiro 51:a0bdbddd08f7 557 motor[TIRE_FL].pwm = fast+50;
yabahiro 51:a0bdbddd08f7 558 motor[TIRE_FL].dir = BACK;
yabahiro 51:a0bdbddd08f7 559 motor[TIRE_BR].pwm = fast+50;
yabahiro 51:a0bdbddd08f7 560 motor[TIRE_BR].dir = FOR;
yabahiro 51:a0bdbddd08f7 561 motor[TIRE_BL].pwm = fast+45;
yabahiro 51:a0bdbddd08f7 562 motor[TIRE_BL].dir = BACK;
yabahiro 39:784552c26163 563 mtc=true;
yabahiro 39:784552c26163 564 break;
yabahiro 39:784552c26163 565 case 255:
yabahiro 51:a0bdbddd08f7 566 motor[TIRE_FR].pwm = fast+55;
yabahiro 51:a0bdbddd08f7 567 motor[TIRE_FR].dir = FOR;
yabahiro 51:a0bdbddd08f7 568 motor[TIRE_FL].pwm = slow+50;
yabahiro 51:a0bdbddd08f7 569 motor[TIRE_FL].dir = BACK;
yabahiro 51:a0bdbddd08f7 570 motor[TIRE_BR].pwm = slow+50;
yabahiro 51:a0bdbddd08f7 571 motor[TIRE_BR].dir = FOR;
yabahiro 51:a0bdbddd08f7 572 motor[TIRE_BL].pwm = fast+45;
yabahiro 51:a0bdbddd08f7 573 motor[TIRE_BL].dir = BACK;
yabahiro 39:784552c26163 574 mtc=true;
yabahiro 39:784552c26163 575 break;
yabahiro 39:784552c26163 576 case 253:
yabahiro 51:a0bdbddd08f7 577 motor[TIRE_FR].pwm = slow+55;
yabahiro 51:a0bdbddd08f7 578 motor[TIRE_FR].dir = FOR;
yabahiro 39:784552c26163 579 motor[TIRE_FL].pwm = 0;
yabahiro 39:784552c26163 580 motor[TIRE_FL].dir = FREE;
yabahiro 39:784552c26163 581 motor[TIRE_BR].pwm = 0;
yabahiro 39:784552c26163 582 motor[TIRE_BR].dir = FREE;
yabahiro 51:a0bdbddd08f7 583 motor[TIRE_BL].pwm = slow+45;
yabahiro 51:a0bdbddd08f7 584 motor[TIRE_BL].dir = BACK;
yabahiro 39:784552c26163 585 mtc=true;
yabahiro 39:784552c26163 586 break;
yabahiro 39:784552c26163 587 case 254:
yabahiro 51:a0bdbddd08f7 588 motor[TIRE_FR].pwm = normal+55;
yabahiro 51:a0bdbddd08f7 589 motor[TIRE_FR].dir = FOR;
yabahiro 39:784552c26163 590 motor[TIRE_FL].pwm = 0;
yabahiro 39:784552c26163 591 motor[TIRE_FL].dir = FREE;
yabahiro 39:784552c26163 592 motor[TIRE_BR].pwm = 0;
yabahiro 39:784552c26163 593 motor[TIRE_BR].dir = FREE;
yabahiro 51:a0bdbddd08f7 594 motor[TIRE_BL].pwm = normal+45;
yabahiro 51:a0bdbddd08f7 595 motor[TIRE_BL].dir = BACK;
yabahiro 39:784552c26163 596 mtc=true;
yabahiro 39:784552c26163 597 break;
yabahiro 39:784552c26163 598 case 1:
yabahiro 51:a0bdbddd08f7 599 motor[TIRE_FR].pwm = slow+55;
yabahiro 51:a0bdbddd08f7 600 motor[TIRE_FR].dir = FOR;
yabahiro 51:a0bdbddd08f7 601 motor[TIRE_FL].pwm = fast+50;
yabahiro 51:a0bdbddd08f7 602 motor[TIRE_FL].dir = BACK;
yabahiro 51:a0bdbddd08f7 603 motor[TIRE_BR].pwm = fast+50;
yabahiro 51:a0bdbddd08f7 604 motor[TIRE_BR].dir = FOR;
yabahiro 51:a0bdbddd08f7 605 motor[TIRE_BL].pwm = slow+45;
yabahiro 51:a0bdbddd08f7 606 motor[TIRE_BL].dir = BACK;
yabahiro 39:784552c26163 607 mtc=true;
yabahiro 39:784552c26163 608 break;
yabahiro 39:784552c26163 609 case 3:
yabahiro 39:784552c26163 610 motor[TIRE_FR].pwm = 0;
yabahiro 39:784552c26163 611 motor[TIRE_FR].dir = FREE;
yabahiro 51:a0bdbddd08f7 612 motor[TIRE_FL].pwm = slow+50;
yabahiro 51:a0bdbddd08f7 613 motor[TIRE_FL].dir = BACK;
yabahiro 51:a0bdbddd08f7 614 motor[TIRE_BR].pwm = slow+50;
yabahiro 51:a0bdbddd08f7 615 motor[TIRE_BR].dir = FOR;
yabahiro 39:784552c26163 616 motor[TIRE_BL].pwm = 0;
yabahiro 39:784552c26163 617 motor[TIRE_BL].dir = FREE;
yabahiro 39:784552c26163 618 mtc=true;
yabahiro 39:784552c26163 619 break;
yabahiro 39:784552c26163 620 case 2:
yabahiro 39:784552c26163 621 motor[TIRE_FR].pwm = 0;
yabahiro 39:784552c26163 622 motor[TIRE_FR].dir = FREE;
yabahiro 51:a0bdbddd08f7 623 motor[TIRE_FL].pwm = normal+50;
yabahiro 51:a0bdbddd08f7 624 motor[TIRE_FL].dir = BACK;
yabahiro 51:a0bdbddd08f7 625 motor[TIRE_BR].pwm = normal+50;
yabahiro 51:a0bdbddd08f7 626 motor[TIRE_BR].dir = FOR;
yabahiro 39:784552c26163 627 motor[TIRE_BL].pwm = 0;
yabahiro 39:784552c26163 628 motor[TIRE_BL].dir = FREE;
yabahiro 39:784552c26163 629 mtc=true;
yabahiro 39:784552c26163 630 break;
yabahiro 39:784552c26163 631 }
yabahiro 51:a0bdbddd08f7 632 if(g[1]!=98&&mtc==true) {
yabahiro 39:784552c26163 633 switch(g[0]) {
yabahiro 39:784552c26163 634 case 0:
yabahiro 39:784552c26163 635 mtc=false;
yabahiro 39:784552c26163 636 break;
yabahiro 39:784552c26163 637 case 255:
yabahiro 51:a0bdbddd08f7 638 motor[TIRE_FL].pwm += 3;
yabahiro 39:784552c26163 639 mtc=false;
yabahiro 39:784552c26163 640 break;
yabahiro 39:784552c26163 641 case 253:
yabahiro 51:a0bdbddd08f7 642 motor[TIRE_FL].pwm += 6;
yabahiro 39:784552c26163 643 mtc=false;
yabahiro 39:784552c26163 644 break;
yabahiro 39:784552c26163 645 case 254:
yabahiro 51:a0bdbddd08f7 646 motor[TIRE_FL].pwm += 9;
yabahiro 51:a0bdbddd08f7 647 motor[TIRE_FR].pwm = 0;
yabahiro 39:784552c26163 648 mtc=false;
yabahiro 39:784552c26163 649 break;
yabahiro 39:784552c26163 650 case 1:
yabahiro 51:a0bdbddd08f7 651 motor[TIRE_FR].pwm += 3;
yabahiro 39:784552c26163 652 mtc=false;
yabahiro 39:784552c26163 653 break;
yabahiro 39:784552c26163 654 case 3:
yabahiro 51:a0bdbddd08f7 655 motor[TIRE_FR].pwm += 6;
yabahiro 39:784552c26163 656 mtc=false;
yabahiro 39:784552c26163 657 break;
yabahiro 39:784552c26163 658 case 2:
yabahiro 51:a0bdbddd08f7 659 motor[TIRE_FR].pwm += 9;
yabahiro 51:a0bdbddd08f7 660 motor[TIRE_FL].pwm = 0;
yabahiro 39:784552c26163 661 mtc=false;
yabahiro 39:784552c26163 662 break;
yabahiro 39:784552c26163 663 }
yabahiro 39:784552c26163 664 }
yabahiro 51:a0bdbddd08f7 665 break;
yabahiro 51:a0bdbddd08f7 666 case 11:
yabahiro 53:694dbd7dfa0e 667 motor[TIRE_FR].pwm = normal;
yabahiro 51:a0bdbddd08f7 668 motor[TIRE_FR].dir = FOR;
yabahiro 53:694dbd7dfa0e 669 motor[TIRE_FL].pwm = 15;
yabahiro 53:694dbd7dfa0e 670 motor[TIRE_FL].dir = FOR;
yabahiro 53:694dbd7dfa0e 671 motor[TIRE_BR].pwm = 15;
yabahiro 53:694dbd7dfa0e 672 motor[TIRE_BR].dir = BACK;
yabahiro 53:694dbd7dfa0e 673 motor[TIRE_BL].pwm = normal;
yabahiro 51:a0bdbddd08f7 674 motor[TIRE_BL].dir = BACK;
yabahiro 51:a0bdbddd08f7 675 if(g[2]==0 || g[2]==255 || g[2]==254 || g[2]==253) {
yabahiro 51:a0bdbddd08f7 676 countss=0;
yabahiro 51:a0bdbddd08f7 677 cross=0;
yabahiro 51:a0bdbddd08f7 678 mode=20;
yabahiro 51:a0bdbddd08f7 679 }
yabahiro 51:a0bdbddd08f7 680 break;
yabahiro 51:a0bdbddd08f7 681 case 20:
yabahiro 51:a0bdbddd08f7 682 solenoid.solenoid2= SOLENOID_ON;
yabahiro 51:a0bdbddd08f7 683 switch(g[2]) {
yabahiro 51:a0bdbddd08f7 684 case 98:
yabahiro 51:a0bdbddd08f7 685 motor[TIRE_FR].pwm = normal+20;
yabahiro 51:a0bdbddd08f7 686 motor[TIRE_FR].dir = FOR;
yabahiro 51:a0bdbddd08f7 687 motor[TIRE_FL].pwm = normal+20;
yabahiro 51:a0bdbddd08f7 688 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 689 motor[TIRE_BR].pwm = normal+20;
yabahiro 51:a0bdbddd08f7 690 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 691 motor[TIRE_BL].pwm = normal+20;
yabahiro 51:a0bdbddd08f7 692 motor[TIRE_BL].dir = BACK;
yabahiro 51:a0bdbddd08f7 693 if(countss>30000) {
yabahiro 51:a0bdbddd08f7 694 cross++;
yabahiro 51:a0bdbddd08f7 695 countss=0;
yabahiro 51:a0bdbddd08f7 696 }
yabahiro 51:a0bdbddd08f7 697 mtc2=true;
yabahiro 51:a0bdbddd08f7 698 if(YELLOW) {
yabahiro 51:a0bdbddd08f7 699 if(cross==1) {
yabahiro 51:a0bdbddd08f7 700 fast=20;
yabahiro 51:a0bdbddd08f7 701 normal=15;
yabahiro 51:a0bdbddd08f7 702 slow=15;
yabahiro 51:a0bdbddd08f7 703 }
yabahiro 51:a0bdbddd08f7 704 if(cross==2) {
yabahiro 51:a0bdbddd08f7 705 mode=21;
yabahiro 51:a0bdbddd08f7 706 countss=0;
yabahiro 51:a0bdbddd08f7 707 cross=0;
yabahiro 51:a0bdbddd08f7 708 }
yabahiro 51:a0bdbddd08f7 709 } else {
yabahiro 51:a0bdbddd08f7 710 if(cross==3) {
yabahiro 51:a0bdbddd08f7 711 mode=21;
yabahiro 51:a0bdbddd08f7 712 countss=0;
yabahiro 51:a0bdbddd08f7 713 cross=0;
yabahiro 51:a0bdbddd08f7 714 }
yabahiro 51:a0bdbddd08f7 715 }
yabahiro 51:a0bdbddd08f7 716 break;
yabahiro 51:a0bdbddd08f7 717 case 0:
yabahiro 51:a0bdbddd08f7 718 motor[TIRE_FR].pwm = fast+20;
yabahiro 51:a0bdbddd08f7 719 motor[TIRE_FR].dir = FOR;
yabahiro 51:a0bdbddd08f7 720 motor[TIRE_FL].pwm = fast+20;
yabahiro 51:a0bdbddd08f7 721 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 722 motor[TIRE_BR].pwm = fast+20;
yabahiro 51:a0bdbddd08f7 723 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 724 motor[TIRE_BL].pwm = fast+20;
yabahiro 51:a0bdbddd08f7 725 motor[TIRE_BL].dir = BACK;
yabahiro 51:a0bdbddd08f7 726 mtc2=true;
yabahiro 51:a0bdbddd08f7 727 break;
yabahiro 51:a0bdbddd08f7 728 case 255:
yabahiro 51:a0bdbddd08f7 729 motor[TIRE_FR].pwm = normal+20;
yabahiro 51:a0bdbddd08f7 730 motor[TIRE_FR].dir = FOR;
yabahiro 51:a0bdbddd08f7 731 motor[TIRE_FL].pwm = fast+20;
yabahiro 51:a0bdbddd08f7 732 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 733 motor[TIRE_BR].pwm = fast+20;
yabahiro 51:a0bdbddd08f7 734 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 735 motor[TIRE_BL].pwm = normal+20;
yabahiro 51:a0bdbddd08f7 736 motor[TIRE_BL].dir = BACK;
yabahiro 51:a0bdbddd08f7 737 mtc2=true;
yabahiro 51:a0bdbddd08f7 738 break;
yabahiro 51:a0bdbddd08f7 739 case 253:
yabahiro 51:a0bdbddd08f7 740 motor[TIRE_FR].pwm = 0;
yabahiro 51:a0bdbddd08f7 741 motor[TIRE_FR].dir = FREE;
yabahiro 51:a0bdbddd08f7 742 motor[TIRE_FL].pwm = slow+20;
yabahiro 51:a0bdbddd08f7 743 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 744 motor[TIRE_BR].pwm = slow+20;
yabahiro 51:a0bdbddd08f7 745 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 746 motor[TIRE_BL].pwm = 0;
yabahiro 51:a0bdbddd08f7 747 motor[TIRE_BL].dir = FREE;
yabahiro 51:a0bdbddd08f7 748 mtc2=true;
yabahiro 51:a0bdbddd08f7 749 break;
yabahiro 51:a0bdbddd08f7 750 case 254:
yabahiro 51:a0bdbddd08f7 751 motor[TIRE_FR].pwm = 0;
yabahiro 51:a0bdbddd08f7 752 motor[TIRE_FR].dir = FREE;
yabahiro 51:a0bdbddd08f7 753 motor[TIRE_FL].pwm = normal+20;
yabahiro 51:a0bdbddd08f7 754 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 755 motor[TIRE_BR].pwm = normal+20;
yabahiro 51:a0bdbddd08f7 756 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 757 motor[TIRE_BL].pwm = 0;
yabahiro 51:a0bdbddd08f7 758 motor[TIRE_BL].dir = FREE;
yabahiro 51:a0bdbddd08f7 759 mtc2=true;
yabahiro 51:a0bdbddd08f7 760 break;
yabahiro 51:a0bdbddd08f7 761 case 1:
yabahiro 51:a0bdbddd08f7 762 motor[TIRE_FR].pwm = fast+20;
yabahiro 51:a0bdbddd08f7 763 motor[TIRE_FR].dir = FOR;
yabahiro 51:a0bdbddd08f7 764 motor[TIRE_FL].pwm = slow+20;
yabahiro 51:a0bdbddd08f7 765 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 766 motor[TIRE_BR].pwm = slow+20;
yabahiro 51:a0bdbddd08f7 767 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 768 motor[TIRE_BL].pwm = fast+20;
yabahiro 51:a0bdbddd08f7 769 motor[TIRE_BL].dir = BACK;
yabahiro 51:a0bdbddd08f7 770 mtc2=true;
yabahiro 51:a0bdbddd08f7 771 break;
yabahiro 51:a0bdbddd08f7 772 case 3:
yabahiro 51:a0bdbddd08f7 773 motor[TIRE_FR].pwm = slow+20;
yabahiro 51:a0bdbddd08f7 774 motor[TIRE_FR].dir = FOR;
yabahiro 51:a0bdbddd08f7 775 motor[TIRE_FL].pwm = 0;
yabahiro 51:a0bdbddd08f7 776 motor[TIRE_FL].dir = FREE;
yabahiro 51:a0bdbddd08f7 777 motor[TIRE_BR].pwm = 0;
yabahiro 51:a0bdbddd08f7 778 motor[TIRE_BR].dir = FREE;
yabahiro 51:a0bdbddd08f7 779 motor[TIRE_BL].pwm = slow+20;
yabahiro 51:a0bdbddd08f7 780 motor[TIRE_BL].dir = BACK;
yabahiro 51:a0bdbddd08f7 781 mtc2=true;
yabahiro 51:a0bdbddd08f7 782 break;
yabahiro 51:a0bdbddd08f7 783 case 2:
yabahiro 51:a0bdbddd08f7 784 motor[TIRE_FR].pwm = normal+20;
yabahiro 51:a0bdbddd08f7 785 motor[TIRE_FR].dir = FOR;
yabahiro 51:a0bdbddd08f7 786 motor[TIRE_FL].pwm = 0;
yabahiro 51:a0bdbddd08f7 787 motor[TIRE_FL].dir = FREE;
yabahiro 51:a0bdbddd08f7 788 motor[TIRE_BR].pwm = 0;
yabahiro 51:a0bdbddd08f7 789 motor[TIRE_BR].dir = FREE;
yabahiro 51:a0bdbddd08f7 790 motor[TIRE_BL].pwm = normal+20;
yabahiro 51:a0bdbddd08f7 791 motor[TIRE_BL].dir = BACK;
yabahiro 51:a0bdbddd08f7 792 mtc2=true;
yabahiro 51:a0bdbddd08f7 793 break;
yabahiro 51:a0bdbddd08f7 794 }
yabahiro 51:a0bdbddd08f7 795 if(g[2]!=98&&mtc2==true) {
yabahiro 51:a0bdbddd08f7 796 switch(g[3]) {
yabahiro 51:a0bdbddd08f7 797 case 0:
yabahiro 51:a0bdbddd08f7 798 mtc2=false;
yabahiro 51:a0bdbddd08f7 799 break;
yabahiro 51:a0bdbddd08f7 800 case 255:
yabahiro 51:a0bdbddd08f7 801 motor[TIRE_BL].pwm += 5;
yabahiro 51:a0bdbddd08f7 802 mtc2=false;
yabahiro 51:a0bdbddd08f7 803 break;
yabahiro 51:a0bdbddd08f7 804 case 253:
yabahiro 51:a0bdbddd08f7 805 motor[TIRE_BL].pwm += 10;
yabahiro 51:a0bdbddd08f7 806 mtc2=false;
yabahiro 51:a0bdbddd08f7 807 break;
yabahiro 51:a0bdbddd08f7 808 case 254:
yabahiro 51:a0bdbddd08f7 809 motor[TIRE_BL].pwm += 15;
yabahiro 51:a0bdbddd08f7 810 motor[TIRE_FL].pwm = 0;
yabahiro 51:a0bdbddd08f7 811 mtc2=false;
yabahiro 51:a0bdbddd08f7 812 break;
yabahiro 51:a0bdbddd08f7 813 case 1:
yabahiro 51:a0bdbddd08f7 814 motor[TIRE_FL].pwm += 5;
yabahiro 51:a0bdbddd08f7 815 mtc2=false;
yabahiro 51:a0bdbddd08f7 816 break;
yabahiro 51:a0bdbddd08f7 817 case 3:
yabahiro 51:a0bdbddd08f7 818 motor[TIRE_FL].pwm += 10;
yabahiro 51:a0bdbddd08f7 819 mtc2=false;
yabahiro 51:a0bdbddd08f7 820 break;
yabahiro 51:a0bdbddd08f7 821 case 2:
yabahiro 51:a0bdbddd08f7 822 motor[TIRE_FL].pwm += 15;
yabahiro 51:a0bdbddd08f7 823 motor[TIRE_BL].pwm = 0;
yabahiro 51:a0bdbddd08f7 824 mtc2=false;
yabahiro 51:a0bdbddd08f7 825 break;
yabahiro 51:a0bdbddd08f7 826 }
yabahiro 51:a0bdbddd08f7 827 }
yabahiro 51:a0bdbddd08f7 828 break;
yabahiro 51:a0bdbddd08f7 829 case 21:
yabahiro 51:a0bdbddd08f7 830 if(YELLOW) {
yabahiro 51:a0bdbddd08f7 831 motor[TIRE_FR].pwm = 20;
yabahiro 51:a0bdbddd08f7 832 motor[TIRE_FR].dir = BACK;
yabahiro 51:a0bdbddd08f7 833 motor[TIRE_FL].pwm = 20;
yabahiro 51:a0bdbddd08f7 834 motor[TIRE_FL].dir = BACK;
yabahiro 51:a0bdbddd08f7 835 motor[TIRE_BR].pwm = 20;
yabahiro 51:a0bdbddd08f7 836 motor[TIRE_BR].dir = FOR;
yabahiro 51:a0bdbddd08f7 837 motor[TIRE_BL].pwm = 20;
yabahiro 51:a0bdbddd08f7 838 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 839 if(g[3]==98&&countss>=10000) {
yabahiro 51:a0bdbddd08f7 840 mode=22;
yabahiro 51:a0bdbddd08f7 841 countss=0;
yabahiro 51:a0bdbddd08f7 842 fast=60;
yabahiro 51:a0bdbddd08f7 843 normal=40;
yabahiro 51:a0bdbddd08f7 844 slow=20;
yabahiro 51:a0bdbddd08f7 845 }
yabahiro 51:a0bdbddd08f7 846 } else {
yabahiro 51:a0bdbddd08f7 847 motor[TIRE_FR].pwm = 255;
yabahiro 51:a0bdbddd08f7 848 motor[TIRE_FR].dir = BRAKE;
yabahiro 51:a0bdbddd08f7 849 motor[TIRE_FL].pwm = 30;
yabahiro 51:a0bdbddd08f7 850 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 851 motor[TIRE_BR].pwm = 30;
yabahiro 51:a0bdbddd08f7 852 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 853 motor[TIRE_BL].pwm = 255;
yabahiro 51:a0bdbddd08f7 854 motor[TIRE_BL].dir = BRAKE;
yabahiro 51:a0bdbddd08f7 855 if(g[0]==0) {
yabahiro 51:a0bdbddd08f7 856 mode=22;
yabahiro 51:a0bdbddd08f7 857 fast=60;
yabahiro 51:a0bdbddd08f7 858 normal=40;
yabahiro 51:a0bdbddd08f7 859 slow=25;
yabahiro 51:a0bdbddd08f7 860 }
yabahiro 51:a0bdbddd08f7 861 }
yabahiro 51:a0bdbddd08f7 862 break;
yabahiro 51:a0bdbddd08f7 863 case 22:
yabahiro 51:a0bdbddd08f7 864 if(YELLOW) {
yabahiro 51:a0bdbddd08f7 865 if(g[4]==3||g[4]==2) {
yabahiro 51:a0bdbddd08f7 866 motor[TIRE_FR].pwm = 30;
yabahiro 51:a0bdbddd08f7 867 motor[TIRE_FR].dir = FOR;
yabahiro 51:a0bdbddd08f7 868 motor[TIRE_FL].pwm = 30;
yabahiro 51:a0bdbddd08f7 869 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 870 motor[TIRE_BR].pwm = 30;
yabahiro 51:a0bdbddd08f7 871 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 872 motor[TIRE_BL].pwm = 30;
yabahiro 51:a0bdbddd08f7 873 motor[TIRE_BL].dir = BACK;
yabahiro 51:a0bdbddd08f7 874 }
yabahiro 51:a0bdbddd08f7 875 if(g[4]==253||g[4]==254) {
yabahiro 51:a0bdbddd08f7 876 motor[TIRE_FR].pwm = 30;
yabahiro 51:a0bdbddd08f7 877 motor[TIRE_FR].dir = BACK;
yabahiro 51:a0bdbddd08f7 878 motor[TIRE_FL].pwm = 30;
yabahiro 51:a0bdbddd08f7 879 motor[TIRE_FL].dir = BACK;
yabahiro 51:a0bdbddd08f7 880 motor[TIRE_BR].pwm = 30;
yabahiro 51:a0bdbddd08f7 881 motor[TIRE_BR].dir = FOR;
yabahiro 51:a0bdbddd08f7 882 motor[TIRE_BL].pwm = 30;
yabahiro 51:a0bdbddd08f7 883 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 884 }
yabahiro 51:a0bdbddd08f7 885 switch(g[2]) {
yabahiro 51:a0bdbddd08f7 886 case 0:
yabahiro 51:a0bdbddd08f7 887 motor[TIRE_FR].pwm = 20;
yabahiro 51:a0bdbddd08f7 888 motor[TIRE_FR].dir = FREE;
yabahiro 51:a0bdbddd08f7 889 motor[TIRE_BR].pwm = 20;
yabahiro 51:a0bdbddd08f7 890 motor[TIRE_BR].dir = FREE;
yabahiro 51:a0bdbddd08f7 891 break;
yabahiro 51:a0bdbddd08f7 892 case 255:
yabahiro 51:a0bdbddd08f7 893 motor[TIRE_FR].pwm = 30;
yabahiro 51:a0bdbddd08f7 894 motor[TIRE_FR].dir = BACK;
yabahiro 51:a0bdbddd08f7 895 motor[TIRE_BR].pwm = 20;
yabahiro 51:a0bdbddd08f7 896 motor[TIRE_BR].dir = FREE;
yabahiro 51:a0bdbddd08f7 897 break;
yabahiro 51:a0bdbddd08f7 898 case 253:
yabahiro 51:a0bdbddd08f7 899 motor[TIRE_FR].pwm = 40;
yabahiro 51:a0bdbddd08f7 900 motor[TIRE_FR].dir = BACK;
yabahiro 51:a0bdbddd08f7 901 motor[TIRE_BR].pwm = 20;
yabahiro 51:a0bdbddd08f7 902 motor[TIRE_BR].dir = FREE;
yabahiro 51:a0bdbddd08f7 903 break;
yabahiro 51:a0bdbddd08f7 904 case 254:
yabahiro 51:a0bdbddd08f7 905 motor[TIRE_FR].pwm = 30;
yabahiro 51:a0bdbddd08f7 906 motor[TIRE_FR].dir = BACK;
yabahiro 51:a0bdbddd08f7 907 motor[TIRE_BR].pwm = 30;
yabahiro 51:a0bdbddd08f7 908 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 909 break;
yabahiro 51:a0bdbddd08f7 910 case 1:
yabahiro 51:a0bdbddd08f7 911 motor[TIRE_FR].pwm = 20;
yabahiro 51:a0bdbddd08f7 912 motor[TIRE_FR].dir = FREE;
yabahiro 51:a0bdbddd08f7 913 motor[TIRE_BR].pwm = 30;
yabahiro 51:a0bdbddd08f7 914 motor[TIRE_BR].dir = FOR;
yabahiro 51:a0bdbddd08f7 915 break;
yabahiro 51:a0bdbddd08f7 916 case 3:
yabahiro 51:a0bdbddd08f7 917 motor[TIRE_FR].pwm = 20;
yabahiro 51:a0bdbddd08f7 918 motor[TIRE_FR].dir = FREE;
yabahiro 51:a0bdbddd08f7 919 motor[TIRE_BR].pwm = 40;
yabahiro 51:a0bdbddd08f7 920 motor[TIRE_BR].dir = FOR;
yabahiro 51:a0bdbddd08f7 921 break;
yabahiro 51:a0bdbddd08f7 922 case 2:
yabahiro 51:a0bdbddd08f7 923 motor[TIRE_FR].pwm = 30;
yabahiro 51:a0bdbddd08f7 924 motor[TIRE_FR].dir = FOR;
yabahiro 51:a0bdbddd08f7 925 motor[TIRE_BR].pwm = 30;
yabahiro 51:a0bdbddd08f7 926 motor[TIRE_BR].dir = FOR;
yabahiro 51:a0bdbddd08f7 927 break;
yabahiro 51:a0bdbddd08f7 928 }
yabahiro 51:a0bdbddd08f7 929 switch(g[3]) {
yabahiro 51:a0bdbddd08f7 930 case 0:
yabahiro 53:694dbd7dfa0e 931 motor[TIRE_FL].pwm = 25;
yabahiro 51:a0bdbddd08f7 932 motor[TIRE_FL].dir = FREE;
yabahiro 51:a0bdbddd08f7 933 motor[TIRE_BL].pwm = 20;
yabahiro 51:a0bdbddd08f7 934 motor[TIRE_BL].dir = FREE;
yabahiro 51:a0bdbddd08f7 935 break;
yabahiro 51:a0bdbddd08f7 936 case 255:
yabahiro 53:694dbd7dfa0e 937 motor[TIRE_FL].pwm = 25;
yabahiro 51:a0bdbddd08f7 938 motor[TIRE_FL].dir = FREE;
yabahiro 51:a0bdbddd08f7 939 motor[TIRE_BL].pwm = 30;
yabahiro 51:a0bdbddd08f7 940 motor[TIRE_BL].dir = BACK;
yabahiro 51:a0bdbddd08f7 941 case 253:
yabahiro 53:694dbd7dfa0e 942 motor[TIRE_FL].pwm = 25;
yabahiro 51:a0bdbddd08f7 943 motor[TIRE_FL].dir = FREE;
yabahiro 51:a0bdbddd08f7 944 motor[TIRE_BL].pwm = 40;
yabahiro 51:a0bdbddd08f7 945 motor[TIRE_BL].dir = BACK;
yabahiro 51:a0bdbddd08f7 946 break;
yabahiro 51:a0bdbddd08f7 947 case 254:
yabahiro 53:694dbd7dfa0e 948 motor[TIRE_FL].pwm = 35;
yabahiro 51:a0bdbddd08f7 949 motor[TIRE_FL].dir = BACK;
yabahiro 51:a0bdbddd08f7 950 motor[TIRE_BL].pwm = 30;
yabahiro 51:a0bdbddd08f7 951 motor[TIRE_BL].dir = BACK;
yabahiro 51:a0bdbddd08f7 952 break;
yabahiro 51:a0bdbddd08f7 953 case 1:
yabahiro 53:694dbd7dfa0e 954 motor[TIRE_FL].pwm = 35;
yabahiro 51:a0bdbddd08f7 955 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 956 motor[TIRE_BL].pwm = 20;
yabahiro 51:a0bdbddd08f7 957 motor[TIRE_BL].dir = FREE;
yabahiro 51:a0bdbddd08f7 958 break;
yabahiro 51:a0bdbddd08f7 959 case 3:
yabahiro 53:694dbd7dfa0e 960 motor[TIRE_FL].pwm = 45;
yabahiro 51:a0bdbddd08f7 961 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 962 motor[TIRE_BL].pwm = 20;
yabahiro 51:a0bdbddd08f7 963 motor[TIRE_BL].dir = FREE;
yabahiro 51:a0bdbddd08f7 964 break;
yabahiro 51:a0bdbddd08f7 965 case 2:
yabahiro 53:694dbd7dfa0e 966 motor[TIRE_FL].pwm = 35;
yabahiro 51:a0bdbddd08f7 967 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 968 motor[TIRE_BL].pwm = 30;
yabahiro 51:a0bdbddd08f7 969 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 970 break;
yabahiro 51:a0bdbddd08f7 971 }
yabahiro 51:a0bdbddd08f7 972 if(g[3]==0&&g[2]==0) {
yabahiro 51:a0bdbddd08f7 973 mode=23;
yabahiro 51:a0bdbddd08f7 974 countss=0;
yabahiro 54:4167f10ecad0 975 fast=80;
yabahiro 54:4167f10ecad0 976 normal=60;
yabahiro 54:4167f10ecad0 977 slow=30;
yabahiro 51:a0bdbddd08f7 978 }
yabahiro 51:a0bdbddd08f7 979 } else {
yabahiro 51:a0bdbddd08f7 980 if(g[0]==98) {
yabahiro 51:a0bdbddd08f7 981 slow=25;
yabahiro 51:a0bdbddd08f7 982 normal=30;
yabahiro 53:694dbd7dfa0e 983 fast=30;
yabahiro 51:a0bdbddd08f7 984 }
yabahiro 51:a0bdbddd08f7 985 if(g[3]==0) {
yabahiro 51:a0bdbddd08f7 986 slow=25;
yabahiro 51:a0bdbddd08f7 987 normal=40;
yabahiro 51:a0bdbddd08f7 988 fast=60;
yabahiro 51:a0bdbddd08f7 989 mode=23;
yabahiro 51:a0bdbddd08f7 990 }
yabahiro 51:a0bdbddd08f7 991 switch(g[0]) {
yabahiro 51:a0bdbddd08f7 992 case 98:
yabahiro 51:a0bdbddd08f7 993 solenoid.solenoid2 = SOLENOID_OFF;
yabahiro 51:a0bdbddd08f7 994 fast=40;
yabahiro 51:a0bdbddd08f7 995 normal=30;
yabahiro 51:a0bdbddd08f7 996 slow=25;
yabahiro 51:a0bdbddd08f7 997 motor[TIRE_FR].pwm = normal;
yabahiro 51:a0bdbddd08f7 998 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 999 motor[TIRE_FL].pwm = normal+5;
yabahiro 51:a0bdbddd08f7 1000 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1001 motor[TIRE_BR].pwm = normal;
yabahiro 51:a0bdbddd08f7 1002 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1003 motor[TIRE_BL].pwm = normal;
yabahiro 51:a0bdbddd08f7 1004 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1005 break;
yabahiro 51:a0bdbddd08f7 1006 case 0:
yabahiro 51:a0bdbddd08f7 1007 motor[TIRE_FR].pwm = fast;
yabahiro 51:a0bdbddd08f7 1008 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1009 motor[TIRE_FL].pwm = fast+5;
yabahiro 51:a0bdbddd08f7 1010 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1011 motor[TIRE_BR].pwm = fast;
yabahiro 51:a0bdbddd08f7 1012 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1013 motor[TIRE_BL].pwm = fast;
yabahiro 51:a0bdbddd08f7 1014 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1015 mtc=true;
yabahiro 51:a0bdbddd08f7 1016 break;
yabahiro 51:a0bdbddd08f7 1017 case 255:
yabahiro 51:a0bdbddd08f7 1018 motor[TIRE_FR].pwm = fast;
yabahiro 51:a0bdbddd08f7 1019 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1020 motor[TIRE_FL].pwm = slow+5;
yabahiro 51:a0bdbddd08f7 1021 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1022 motor[TIRE_BR].pwm = slow;
yabahiro 51:a0bdbddd08f7 1023 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1024 motor[TIRE_BL].pwm = fast;
yabahiro 51:a0bdbddd08f7 1025 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1026 mtc=true;
yabahiro 51:a0bdbddd08f7 1027 break;
yabahiro 51:a0bdbddd08f7 1028 case 253:
yabahiro 51:a0bdbddd08f7 1029 motor[TIRE_FR].pwm = slow;
yabahiro 51:a0bdbddd08f7 1030 motor[TIRE_FR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1031 motor[TIRE_FL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1032 motor[TIRE_FL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1033 motor[TIRE_BR].pwm = 0;
yabahiro 51:a0bdbddd08f7 1034 motor[TIRE_BR].dir = FREE;
yabahiro 51:a0bdbddd08f7 1035 motor[TIRE_BL].pwm = slow;
yabahiro 51:a0bdbddd08f7 1036 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1037 mtc=true;
yabahiro 51:a0bdbddd08f7 1038 break;
yabahiro 51:a0bdbddd08f7 1039 case 254:
yabahiro 51:a0bdbddd08f7 1040 motor[TIRE_FR].pwm = normal;
yabahiro 51:a0bdbddd08f7 1041 motor[TIRE_FR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1042 motor[TIRE_FL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1043 motor[TIRE_FL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1044 motor[TIRE_BR].pwm = 0;
yabahiro 51:a0bdbddd08f7 1045 motor[TIRE_BR].dir = FREE;
yabahiro 51:a0bdbddd08f7 1046 motor[TIRE_BL].pwm = normal;
yabahiro 51:a0bdbddd08f7 1047 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1048 mtc=true;
yabahiro 51:a0bdbddd08f7 1049 break;
yabahiro 51:a0bdbddd08f7 1050 case 1:
yabahiro 51:a0bdbddd08f7 1051 motor[TIRE_FR].pwm = slow;
yabahiro 51:a0bdbddd08f7 1052 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1053 motor[TIRE_FL].pwm = fast+5;
yabahiro 51:a0bdbddd08f7 1054 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1055 motor[TIRE_BR].pwm = fast;
yabahiro 51:a0bdbddd08f7 1056 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1057 motor[TIRE_BL].pwm = slow;
yabahiro 51:a0bdbddd08f7 1058 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1059 mtc=true;
yabahiro 51:a0bdbddd08f7 1060 break;
yabahiro 51:a0bdbddd08f7 1061 case 3:
yabahiro 51:a0bdbddd08f7 1062 motor[TIRE_FR].pwm = 0;
yabahiro 51:a0bdbddd08f7 1063 motor[TIRE_FR].dir = FREE;
yabahiro 53:694dbd7dfa0e 1064 motor[TIRE_FL].pwm = slow+5;
yabahiro 51:a0bdbddd08f7 1065 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1066 motor[TIRE_BR].pwm = slow;
yabahiro 51:a0bdbddd08f7 1067 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1068 motor[TIRE_BL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1069 motor[TIRE_BL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1070 mtc=true;
yabahiro 51:a0bdbddd08f7 1071 break;
yabahiro 51:a0bdbddd08f7 1072 case 2:
yabahiro 51:a0bdbddd08f7 1073 motor[TIRE_FR].pwm = 0;
yabahiro 51:a0bdbddd08f7 1074 motor[TIRE_FR].dir = FREE;
yabahiro 53:694dbd7dfa0e 1075 motor[TIRE_FL].pwm = normal+5;
yabahiro 51:a0bdbddd08f7 1076 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1077 motor[TIRE_BR].pwm = normal;
yabahiro 51:a0bdbddd08f7 1078 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1079 motor[TIRE_BL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1080 motor[TIRE_BL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1081 mtc=true;
yabahiro 51:a0bdbddd08f7 1082 break;
yabahiro 51:a0bdbddd08f7 1083 }
yabahiro 51:a0bdbddd08f7 1084 if(g[0]!=98&&mtc==true) {
yabahiro 51:a0bdbddd08f7 1085 switch(g[0]) {
yabahiro 51:a0bdbddd08f7 1086 case 0:
yabahiro 51:a0bdbddd08f7 1087 mtc=false;
yabahiro 51:a0bdbddd08f7 1088 break;
yabahiro 51:a0bdbddd08f7 1089 case 255:
yabahiro 51:a0bdbddd08f7 1090 motor[TIRE_BR].pwm += 5;
yabahiro 51:a0bdbddd08f7 1091 mtc=false;
yabahiro 51:a0bdbddd08f7 1092 break;
yabahiro 51:a0bdbddd08f7 1093 case 253:
yabahiro 51:a0bdbddd08f7 1094 motor[TIRE_BR].pwm += 10;
yabahiro 51:a0bdbddd08f7 1095 mtc=false;
yabahiro 51:a0bdbddd08f7 1096 break;
yabahiro 51:a0bdbddd08f7 1097 case 254:
yabahiro 51:a0bdbddd08f7 1098 motor[TIRE_BR].pwm += 20;
yabahiro 51:a0bdbddd08f7 1099 motor[TIRE_BL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1100 mtc=false;
yabahiro 51:a0bdbddd08f7 1101 break;
yabahiro 51:a0bdbddd08f7 1102 case 1:
yabahiro 51:a0bdbddd08f7 1103 motor[TIRE_BL].pwm += 5;
yabahiro 51:a0bdbddd08f7 1104 mtc=false;
yabahiro 51:a0bdbddd08f7 1105 break;
yabahiro 51:a0bdbddd08f7 1106 case 3:
yabahiro 51:a0bdbddd08f7 1107 motor[TIRE_BL].pwm += 10;
yabahiro 51:a0bdbddd08f7 1108 mtc=false;
yabahiro 51:a0bdbddd08f7 1109 break;
yabahiro 51:a0bdbddd08f7 1110 case 2:
yabahiro 51:a0bdbddd08f7 1111 motor[TIRE_BL].pwm += 20;
yabahiro 51:a0bdbddd08f7 1112 motor[TIRE_BR].pwm = 0;
yabahiro 51:a0bdbddd08f7 1113 mtc=false;
yabahiro 51:a0bdbddd08f7 1114 break;
yabahiro 51:a0bdbddd08f7 1115 }
yabahiro 51:a0bdbddd08f7 1116 }
yabahiro 51:a0bdbddd08f7 1117 }
yabahiro 51:a0bdbddd08f7 1118 break;
yabahiro 51:a0bdbddd08f7 1119 case 23:
yabahiro 51:a0bdbddd08f7 1120 if(YELLOW) {
yabahiro 51:a0bdbddd08f7 1121 switch(g[4]) {
yabahiro 51:a0bdbddd08f7 1122 case 98:
yabahiro 51:a0bdbddd08f7 1123 motor[TIRE_FR].pwm = fast-5;
yabahiro 51:a0bdbddd08f7 1124 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1125 motor[TIRE_FL].pwm = fast;
yabahiro 51:a0bdbddd08f7 1126 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1127 motor[TIRE_BR].pwm = fast-5;
yabahiro 51:a0bdbddd08f7 1128 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1129 motor[TIRE_BL].pwm = fast-5;
yabahiro 51:a0bdbddd08f7 1130 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1131 break;
yabahiro 51:a0bdbddd08f7 1132 case 99:
yabahiro 51:a0bdbddd08f7 1133 motor[TIRE_FR].pwm = 0;
yabahiro 51:a0bdbddd08f7 1134 motor[TIRE_FR].dir = FREE;
yabahiro 51:a0bdbddd08f7 1135 motor[TIRE_FL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1136 motor[TIRE_FL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1137 motor[TIRE_BR].pwm = 0;
yabahiro 51:a0bdbddd08f7 1138 motor[TIRE_BR].dir = FREE;
yabahiro 51:a0bdbddd08f7 1139 motor[TIRE_BL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1140 motor[TIRE_BL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1141 break;
yabahiro 51:a0bdbddd08f7 1142 case 0:
yabahiro 51:a0bdbddd08f7 1143 motor[TIRE_FR].pwm = fast-5;
yabahiro 51:a0bdbddd08f7 1144 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1145 motor[TIRE_FL].pwm = fast;
yabahiro 51:a0bdbddd08f7 1146 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1147 motor[TIRE_BR].pwm = fast-5;
yabahiro 51:a0bdbddd08f7 1148 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1149 motor[TIRE_BL].pwm = fast-5;
yabahiro 51:a0bdbddd08f7 1150 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1151 break;
yabahiro 51:a0bdbddd08f7 1152 case 255:
yabahiro 51:a0bdbddd08f7 1153 motor[TIRE_FR].pwm = 0;
yabahiro 51:a0bdbddd08f7 1154 motor[TIRE_FR].dir = FREE;
yabahiro 51:a0bdbddd08f7 1155 motor[TIRE_FL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1156 motor[TIRE_FL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1157 motor[TIRE_BR].pwm = 0;
yabahiro 51:a0bdbddd08f7 1158 motor[TIRE_BR].dir = FREE;
yabahiro 51:a0bdbddd08f7 1159 motor[TIRE_BL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1160 motor[TIRE_BL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1161 break;
yabahiro 51:a0bdbddd08f7 1162 case 253:
yabahiro 51:a0bdbddd08f7 1163 motor[TIRE_FR].pwm = fast-5;
yabahiro 51:a0bdbddd08f7 1164 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1165 motor[TIRE_FL].pwm = slow;
yabahiro 51:a0bdbddd08f7 1166 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1167 motor[TIRE_BR].pwm = slow-5;
yabahiro 51:a0bdbddd08f7 1168 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1169 motor[TIRE_BL].pwm = fast-5;
yabahiro 51:a0bdbddd08f7 1170 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1171 break;
yabahiro 51:a0bdbddd08f7 1172 case 254:
yabahiro 51:a0bdbddd08f7 1173 motor[TIRE_FR].pwm = fast-5;
yabahiro 51:a0bdbddd08f7 1174 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1175 motor[TIRE_FL].pwm = normal;
yabahiro 51:a0bdbddd08f7 1176 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1177 motor[TIRE_BR].pwm = normal-5;
yabahiro 51:a0bdbddd08f7 1178 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1179 motor[TIRE_BL].pwm = fast-5;
yabahiro 51:a0bdbddd08f7 1180 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1181 break;
yabahiro 51:a0bdbddd08f7 1182 case 1:
yabahiro 51:a0bdbddd08f7 1183 motor[TIRE_FR].pwm = 0;
yabahiro 51:a0bdbddd08f7 1184 motor[TIRE_FR].dir = FREE;
yabahiro 51:a0bdbddd08f7 1185 motor[TIRE_FL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1186 motor[TIRE_FL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1187 motor[TIRE_BR].pwm = 0;
yabahiro 51:a0bdbddd08f7 1188 motor[TIRE_BR].dir = FREE;
yabahiro 51:a0bdbddd08f7 1189 motor[TIRE_BL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1190 motor[TIRE_BL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1191 break;
yabahiro 51:a0bdbddd08f7 1192 case 3:
yabahiro 51:a0bdbddd08f7 1193 motor[TIRE_FR].pwm = slow-5;
yabahiro 51:a0bdbddd08f7 1194 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1195 motor[TIRE_FL].pwm = fast;
yabahiro 51:a0bdbddd08f7 1196 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1197 motor[TIRE_BR].pwm = fast-5;
yabahiro 51:a0bdbddd08f7 1198 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1199 motor[TIRE_BL].pwm = slow-5;
yabahiro 51:a0bdbddd08f7 1200 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1201 break;
yabahiro 51:a0bdbddd08f7 1202 case 2:
yabahiro 51:a0bdbddd08f7 1203 motor[TIRE_FR].pwm = normal-5;
yabahiro 51:a0bdbddd08f7 1204 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1205 motor[TIRE_FL].pwm = fast;
yabahiro 51:a0bdbddd08f7 1206 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1207 motor[TIRE_BR].pwm = fast-5;
yabahiro 51:a0bdbddd08f7 1208 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1209 motor[TIRE_BL].pwm = normal-5;
yabahiro 51:a0bdbddd08f7 1210 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1211 break;
yabahiro 51:a0bdbddd08f7 1212 }
yabahiro 51:a0bdbddd08f7 1213 if(g[0]==98) {
yabahiro 51:a0bdbddd08f7 1214 fast=20;
yabahiro 51:a0bdbddd08f7 1215 normal=15;
yabahiro 51:a0bdbddd08f7 1216 slow=10;
yabahiro 51:a0bdbddd08f7 1217 }
yabahiro 51:a0bdbddd08f7 1218 if(g[2]==254&&countss>=100000) {
yabahiro 51:a0bdbddd08f7 1219 mode=24;
yabahiro 51:a0bdbddd08f7 1220 solenoid.solenoid2 = SOLENOID_OFF;
yabahiro 51:a0bdbddd08f7 1221 countss=0;
yabahiro 54:4167f10ecad0 1222 fast=80;
yabahiro 54:4167f10ecad0 1223 normal=60;
yabahiro 54:4167f10ecad0 1224 slow=30;
yabahiro 51:a0bdbddd08f7 1225 }
yabahiro 51:a0bdbddd08f7 1226 } else {
yabahiro 51:a0bdbddd08f7 1227 if(UPLS==true||DOLS==true) {
yabahiro 51:a0bdbddd08f7 1228 if(UPLS==true||DOLS==true) {
yabahiro 51:a0bdbddd08f7 1229 motor[MOTOR_0].pwm = 200;
yabahiro 51:a0bdbddd08f7 1230 motor[MOTOR_0].dir = BRAKE;
yabahiro 51:a0bdbddd08f7 1231 fast=60;
yabahiro 51:a0bdbddd08f7 1232 normal=40;
yabahiro 53:694dbd7dfa0e 1233 slow=30;
yabahiro 51:a0bdbddd08f7 1234 countss=0;
yabahiro 51:a0bdbddd08f7 1235 mode=24;
yabahiro 51:a0bdbddd08f7 1236 }
yabahiro 51:a0bdbddd08f7 1237 } else {
yabahiro 51:a0bdbddd08f7 1238 motor[MOTOR_0].pwm = 100;
yabahiro 51:a0bdbddd08f7 1239 motor[MOTOR_0].dir = BACK;
yabahiro 51:a0bdbddd08f7 1240 }
yabahiro 51:a0bdbddd08f7 1241 motor[TIRE_FR].pwm = 100;
yabahiro 51:a0bdbddd08f7 1242 motor[TIRE_FR].dir = BRAKE;
yabahiro 51:a0bdbddd08f7 1243 motor[TIRE_FL].pwm = 100;
yabahiro 51:a0bdbddd08f7 1244 motor[TIRE_FL].dir = BRAKE;
yabahiro 51:a0bdbddd08f7 1245 motor[TIRE_BR].pwm = 100;
yabahiro 51:a0bdbddd08f7 1246 motor[TIRE_BR].dir = BRAKE;
yabahiro 51:a0bdbddd08f7 1247 motor[TIRE_BL].pwm = 100;
yabahiro 51:a0bdbddd08f7 1248 motor[TIRE_BL].dir = BRAKE;
yabahiro 51:a0bdbddd08f7 1249 }
yabahiro 51:a0bdbddd08f7 1250 break;
yabahiro 51:a0bdbddd08f7 1251 case 24:
yabahiro 51:a0bdbddd08f7 1252 if(YELLOW) {
yabahiro 51:a0bdbddd08f7 1253 if(g[4]==3||g[4]==2) {
yabahiro 51:a0bdbddd08f7 1254 motor[TIRE_FR].pwm = 30;
yabahiro 51:a0bdbddd08f7 1255 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 1256 motor[TIRE_FL].pwm = 25;
yabahiro 51:a0bdbddd08f7 1257 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 1258 motor[TIRE_BR].pwm = 25;
yabahiro 51:a0bdbddd08f7 1259 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1260 motor[TIRE_BL].pwm = 30;
yabahiro 51:a0bdbddd08f7 1261 motor[TIRE_BL].dir = BACK;
yabahiro 51:a0bdbddd08f7 1262 }
yabahiro 51:a0bdbddd08f7 1263 if(g[4]==253||g[4]==254) {
yabahiro 54:4167f10ecad0 1264 motor[TIRE_FR].pwm = 25;
yabahiro 51:a0bdbddd08f7 1265 motor[TIRE_FR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1266 motor[TIRE_FL].pwm = 30;
yabahiro 51:a0bdbddd08f7 1267 motor[TIRE_FL].dir = BACK;
yabahiro 51:a0bdbddd08f7 1268 motor[TIRE_BR].pwm = 30;
yabahiro 51:a0bdbddd08f7 1269 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 1270 motor[TIRE_BL].pwm = 25;
yabahiro 51:a0bdbddd08f7 1271 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1272 }
yabahiro 51:a0bdbddd08f7 1273 switch(g[2]) {
yabahiro 51:a0bdbddd08f7 1274 case 0:
yabahiro 51:a0bdbddd08f7 1275 motor[TIRE_FR].pwm = 25;
yabahiro 51:a0bdbddd08f7 1276 motor[TIRE_FR].dir = FREE;
yabahiro 51:a0bdbddd08f7 1277 motor[TIRE_BR].pwm = 25;
yabahiro 51:a0bdbddd08f7 1278 motor[TIRE_BR].dir = FREE;
yabahiro 51:a0bdbddd08f7 1279 break;
yabahiro 51:a0bdbddd08f7 1280 case 255:
yabahiro 51:a0bdbddd08f7 1281 motor[TIRE_FR].pwm = 30;
yabahiro 51:a0bdbddd08f7 1282 motor[TIRE_FR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1283 motor[TIRE_BR].pwm = 25;
yabahiro 51:a0bdbddd08f7 1284 motor[TIRE_BR].dir = FREE;
yabahiro 51:a0bdbddd08f7 1285 break;
yabahiro 51:a0bdbddd08f7 1286 case 253:
yabahiro 51:a0bdbddd08f7 1287 motor[TIRE_FR].pwm = 40;
yabahiro 51:a0bdbddd08f7 1288 motor[TIRE_FR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1289 motor[TIRE_BR].pwm = 25;
yabahiro 51:a0bdbddd08f7 1290 motor[TIRE_BR].dir = FREE;
yabahiro 51:a0bdbddd08f7 1291 break;
yabahiro 51:a0bdbddd08f7 1292 case 254:
yabahiro 51:a0bdbddd08f7 1293 motor[TIRE_FR].pwm = 30;
yabahiro 51:a0bdbddd08f7 1294 motor[TIRE_FR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1295 motor[TIRE_BR].pwm = 30;
yabahiro 51:a0bdbddd08f7 1296 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1297 break;
yabahiro 51:a0bdbddd08f7 1298 case 1:
yabahiro 51:a0bdbddd08f7 1299 motor[TIRE_FR].pwm = 25;
yabahiro 51:a0bdbddd08f7 1300 motor[TIRE_FR].dir = FREE;
yabahiro 51:a0bdbddd08f7 1301 motor[TIRE_BR].pwm = 30;
yabahiro 51:a0bdbddd08f7 1302 motor[TIRE_BR].dir = FOR;
yabahiro 51:a0bdbddd08f7 1303 break;
yabahiro 51:a0bdbddd08f7 1304 case 3:
yabahiro 51:a0bdbddd08f7 1305 motor[TIRE_FR].pwm = 25;
yabahiro 51:a0bdbddd08f7 1306 motor[TIRE_FR].dir = FREE;
yabahiro 51:a0bdbddd08f7 1307 motor[TIRE_BR].pwm = 40;
yabahiro 51:a0bdbddd08f7 1308 motor[TIRE_BR].dir = FOR;
yabahiro 51:a0bdbddd08f7 1309 break;
yabahiro 51:a0bdbddd08f7 1310 case 2:
yabahiro 51:a0bdbddd08f7 1311 motor[TIRE_FR].pwm = 30;
yabahiro 51:a0bdbddd08f7 1312 motor[TIRE_FR].dir = FOR;
yabahiro 51:a0bdbddd08f7 1313 motor[TIRE_BR].pwm = 30;
yabahiro 51:a0bdbddd08f7 1314 motor[TIRE_BR].dir = FOR;
yabahiro 51:a0bdbddd08f7 1315 break;
yabahiro 51:a0bdbddd08f7 1316 }
yabahiro 51:a0bdbddd08f7 1317 switch(g[3]) {
yabahiro 51:a0bdbddd08f7 1318 case 0:
yabahiro 51:a0bdbddd08f7 1319 motor[TIRE_FL].pwm = 25;
yabahiro 51:a0bdbddd08f7 1320 motor[TIRE_FL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1321 motor[TIRE_BL].pwm = 25;
yabahiro 51:a0bdbddd08f7 1322 motor[TIRE_BL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1323 break;
yabahiro 51:a0bdbddd08f7 1324 case 255:
yabahiro 51:a0bdbddd08f7 1325 motor[TIRE_FL].pwm = 25;
yabahiro 51:a0bdbddd08f7 1326 motor[TIRE_FL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1327 motor[TIRE_BL].pwm = 30;
yabahiro 51:a0bdbddd08f7 1328 motor[TIRE_BL].dir = BACK;
yabahiro 51:a0bdbddd08f7 1329 case 253:
yabahiro 51:a0bdbddd08f7 1330 motor[TIRE_FL].pwm = 25;
yabahiro 51:a0bdbddd08f7 1331 motor[TIRE_FL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1332 motor[TIRE_BL].pwm = 40;
yabahiro 51:a0bdbddd08f7 1333 motor[TIRE_BL].dir = BACK;
yabahiro 51:a0bdbddd08f7 1334 break;
yabahiro 51:a0bdbddd08f7 1335 case 254:
yabahiro 53:694dbd7dfa0e 1336 motor[TIRE_FL].pwm = 35;
yabahiro 51:a0bdbddd08f7 1337 motor[TIRE_FL].dir = BACK;
yabahiro 51:a0bdbddd08f7 1338 motor[TIRE_BL].pwm = 30;
yabahiro 51:a0bdbddd08f7 1339 motor[TIRE_BL].dir = BACK;
yabahiro 51:a0bdbddd08f7 1340 break;
yabahiro 51:a0bdbddd08f7 1341 case 1:
yabahiro 53:694dbd7dfa0e 1342 motor[TIRE_FL].pwm = 35;
yabahiro 51:a0bdbddd08f7 1343 motor[TIRE_FL].dir = FOR;
yabahiro 53:694dbd7dfa0e 1344 motor[TIRE_BL].pwm = 25;
yabahiro 51:a0bdbddd08f7 1345 motor[TIRE_BL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1346 break;
yabahiro 51:a0bdbddd08f7 1347 case 3:
yabahiro 53:694dbd7dfa0e 1348 motor[TIRE_FL].pwm = 45;
yabahiro 51:a0bdbddd08f7 1349 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1350 motor[TIRE_BL].pwm = 25;
yabahiro 51:a0bdbddd08f7 1351 motor[TIRE_BL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1352 break;
yabahiro 51:a0bdbddd08f7 1353 case 2:
yabahiro 53:694dbd7dfa0e 1354 motor[TIRE_FL].pwm = 35;
yabahiro 51:a0bdbddd08f7 1355 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1356 motor[TIRE_BL].pwm = 30;
yabahiro 51:a0bdbddd08f7 1357 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1358 break;
yabahiro 51:a0bdbddd08f7 1359 }
yabahiro 51:a0bdbddd08f7 1360 if(g[3]==0&&g[2]==0) {
yabahiro 51:a0bdbddd08f7 1361 mode=25;
yabahiro 51:a0bdbddd08f7 1362 }
yabahiro 51:a0bdbddd08f7 1363 } else {
yabahiro 53:694dbd7dfa0e 1364 if(g[0]==98&&countss>=40000) {
yabahiro 51:a0bdbddd08f7 1365 mode=31;
yabahiro 53:694dbd7dfa0e 1366 fast=60;
yabahiro 53:694dbd7dfa0e 1367 normal=40;
yabahiro 53:694dbd7dfa0e 1368 slow=30;
yabahiro 51:a0bdbddd08f7 1369 countss=0;
yabahiro 51:a0bdbddd08f7 1370 }
yabahiro 51:a0bdbddd08f7 1371 switch(g[0]) {
yabahiro 51:a0bdbddd08f7 1372 case 98:
yabahiro 51:a0bdbddd08f7 1373 motor[TIRE_FR].pwm = normal;
yabahiro 51:a0bdbddd08f7 1374 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1375 motor[TIRE_FL].pwm = normal+5;
yabahiro 51:a0bdbddd08f7 1376 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1377 motor[TIRE_BR].pwm = normal;
yabahiro 51:a0bdbddd08f7 1378 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1379 motor[TIRE_BL].pwm = normal;
yabahiro 51:a0bdbddd08f7 1380 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1381 break;
yabahiro 51:a0bdbddd08f7 1382 case 0:
yabahiro 51:a0bdbddd08f7 1383 motor[TIRE_FR].pwm = fast;
yabahiro 51:a0bdbddd08f7 1384 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1385 motor[TIRE_FL].pwm = fast+5;
yabahiro 51:a0bdbddd08f7 1386 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1387 motor[TIRE_BR].pwm = fast;
yabahiro 51:a0bdbddd08f7 1388 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1389 motor[TIRE_BL].pwm = fast;
yabahiro 51:a0bdbddd08f7 1390 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1391 mtc=true;
yabahiro 51:a0bdbddd08f7 1392 break;
yabahiro 51:a0bdbddd08f7 1393 case 255:
yabahiro 51:a0bdbddd08f7 1394 motor[TIRE_FR].pwm = fast;
yabahiro 51:a0bdbddd08f7 1395 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1396 motor[TIRE_FL].pwm = slow+5;
yabahiro 51:a0bdbddd08f7 1397 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1398 motor[TIRE_BR].pwm = slow;
yabahiro 51:a0bdbddd08f7 1399 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1400 motor[TIRE_BL].pwm = fast;
yabahiro 51:a0bdbddd08f7 1401 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1402 mtc=true;
yabahiro 51:a0bdbddd08f7 1403 break;
yabahiro 51:a0bdbddd08f7 1404 case 253:
yabahiro 51:a0bdbddd08f7 1405 motor[TIRE_FR].pwm = slow;
yabahiro 51:a0bdbddd08f7 1406 motor[TIRE_FR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1407 motor[TIRE_FL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1408 motor[TIRE_FL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1409 motor[TIRE_BR].pwm = 0;
yabahiro 51:a0bdbddd08f7 1410 motor[TIRE_BR].dir = FREE;
yabahiro 51:a0bdbddd08f7 1411 motor[TIRE_BL].pwm = slow;
yabahiro 51:a0bdbddd08f7 1412 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1413 mtc=true;
yabahiro 51:a0bdbddd08f7 1414 break;
yabahiro 51:a0bdbddd08f7 1415 case 254:
yabahiro 51:a0bdbddd08f7 1416 motor[TIRE_FR].pwm = normal;
yabahiro 51:a0bdbddd08f7 1417 motor[TIRE_FR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1418 motor[TIRE_FL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1419 motor[TIRE_FL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1420 motor[TIRE_BR].pwm = 0;
yabahiro 51:a0bdbddd08f7 1421 motor[TIRE_BR].dir = FREE;
yabahiro 51:a0bdbddd08f7 1422 motor[TIRE_BL].pwm = normal;
yabahiro 51:a0bdbddd08f7 1423 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1424 mtc=true;
yabahiro 51:a0bdbddd08f7 1425 break;
yabahiro 51:a0bdbddd08f7 1426 case 1:
yabahiro 51:a0bdbddd08f7 1427 motor[TIRE_FR].pwm = slow;
yabahiro 51:a0bdbddd08f7 1428 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1429 motor[TIRE_FL].pwm = fast+5;
yabahiro 51:a0bdbddd08f7 1430 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1431 motor[TIRE_BR].pwm = fast;
yabahiro 51:a0bdbddd08f7 1432 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1433 motor[TIRE_BL].pwm = slow;
yabahiro 51:a0bdbddd08f7 1434 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1435 mtc=true;
yabahiro 51:a0bdbddd08f7 1436 break;
yabahiro 51:a0bdbddd08f7 1437 case 3:
yabahiro 51:a0bdbddd08f7 1438 motor[TIRE_FR].pwm = 0;
yabahiro 51:a0bdbddd08f7 1439 motor[TIRE_FR].dir = FREE;
yabahiro 53:694dbd7dfa0e 1440 motor[TIRE_FL].pwm = slow+5;
yabahiro 51:a0bdbddd08f7 1441 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1442 motor[TIRE_BR].pwm = slow;
yabahiro 51:a0bdbddd08f7 1443 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1444 motor[TIRE_BL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1445 motor[TIRE_BL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1446 mtc=true;
yabahiro 51:a0bdbddd08f7 1447 break;
yabahiro 51:a0bdbddd08f7 1448 case 2:
yabahiro 51:a0bdbddd08f7 1449 motor[TIRE_FR].pwm = 0;
yabahiro 51:a0bdbddd08f7 1450 motor[TIRE_FR].dir = FREE;
yabahiro 53:694dbd7dfa0e 1451 motor[TIRE_FL].pwm = normal+5;
yabahiro 51:a0bdbddd08f7 1452 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1453 motor[TIRE_BR].pwm = normal;
yabahiro 51:a0bdbddd08f7 1454 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1455 motor[TIRE_BL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1456 motor[TIRE_BL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1457 mtc=true;
yabahiro 51:a0bdbddd08f7 1458 break;
yabahiro 51:a0bdbddd08f7 1459 }
yabahiro 51:a0bdbddd08f7 1460 if(g[1]!=98&&mtc==true) {
yabahiro 51:a0bdbddd08f7 1461 switch(g[1]) {
yabahiro 51:a0bdbddd08f7 1462 case 0:
yabahiro 51:a0bdbddd08f7 1463 mtc=false;
yabahiro 51:a0bdbddd08f7 1464 break;
yabahiro 51:a0bdbddd08f7 1465 case 255:
yabahiro 51:a0bdbddd08f7 1466 motor[TIRE_BR].pwm += 5;
yabahiro 51:a0bdbddd08f7 1467 mtc=false;
yabahiro 51:a0bdbddd08f7 1468 break;
yabahiro 51:a0bdbddd08f7 1469 case 253:
yabahiro 51:a0bdbddd08f7 1470 motor[TIRE_BR].pwm += 10;
yabahiro 51:a0bdbddd08f7 1471 mtc=false;
yabahiro 51:a0bdbddd08f7 1472 break;
yabahiro 51:a0bdbddd08f7 1473 case 254:
yabahiro 51:a0bdbddd08f7 1474 motor[TIRE_BR].pwm += 20;
yabahiro 51:a0bdbddd08f7 1475 motor[TIRE_BL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1476 mtc=false;
yabahiro 51:a0bdbddd08f7 1477 break;
yabahiro 51:a0bdbddd08f7 1478 case 1:
yabahiro 51:a0bdbddd08f7 1479 motor[TIRE_BL].pwm += 5;
yabahiro 51:a0bdbddd08f7 1480 mtc=false;
yabahiro 51:a0bdbddd08f7 1481 break;
yabahiro 51:a0bdbddd08f7 1482 case 3:
yabahiro 51:a0bdbddd08f7 1483 motor[TIRE_BL].pwm += 10;
yabahiro 51:a0bdbddd08f7 1484 mtc=false;
yabahiro 51:a0bdbddd08f7 1485 break;
yabahiro 51:a0bdbddd08f7 1486 case 2:
yabahiro 51:a0bdbddd08f7 1487 motor[TIRE_BL].pwm += 20;
yabahiro 51:a0bdbddd08f7 1488 motor[TIRE_BR].pwm = 0;
yabahiro 51:a0bdbddd08f7 1489 mtc=false;
yabahiro 51:a0bdbddd08f7 1490 break;
yabahiro 51:a0bdbddd08f7 1491 }
yabahiro 51:a0bdbddd08f7 1492 }
yabahiro 51:a0bdbddd08f7 1493 }
yabahiro 51:a0bdbddd08f7 1494 break;
yabahiro 51:a0bdbddd08f7 1495 case 25:
yabahiro 51:a0bdbddd08f7 1496 motor[TIRE_FR].pwm = 100;
yabahiro 51:a0bdbddd08f7 1497 motor[TIRE_FR].dir = BRAKE;
yabahiro 51:a0bdbddd08f7 1498 motor[TIRE_FL].pwm = 100;
yabahiro 51:a0bdbddd08f7 1499 motor[TIRE_FL].dir = BRAKE;
yabahiro 51:a0bdbddd08f7 1500 motor[TIRE_BR].pwm = 100;
yabahiro 51:a0bdbddd08f7 1501 motor[TIRE_BR].dir = BRAKE;
yabahiro 51:a0bdbddd08f7 1502 motor[TIRE_BL].pwm = 100;
yabahiro 51:a0bdbddd08f7 1503 motor[TIRE_BL].dir = BRAKE;
yabahiro 51:a0bdbddd08f7 1504 if(DOLS==true||UPLS==true) {
yabahiro 51:a0bdbddd08f7 1505 if(DOLS==true||UPLS==true) {
yabahiro 51:a0bdbddd08f7 1506 motor[MOTOR_0].pwm = 200;
yabahiro 51:a0bdbddd08f7 1507 motor[MOTOR_0].dir = BRAKE;
yabahiro 51:a0bdbddd08f7 1508 countss=0;
yabahiro 51:a0bdbddd08f7 1509 mode=26;
yabahiro 51:a0bdbddd08f7 1510 }
yabahiro 51:a0bdbddd08f7 1511 } else {
yabahiro 51:a0bdbddd08f7 1512 motor[MOTOR_0].pwm = 100;
yabahiro 51:a0bdbddd08f7 1513 motor[MOTOR_0].dir = BACK;
yabahiro 51:a0bdbddd08f7 1514 }
yabahiro 51:a0bdbddd08f7 1515 break;
yabahiro 51:a0bdbddd08f7 1516 case 26:
yabahiro 53:694dbd7dfa0e 1517 if(g[0]==98) {
yabahiro 53:694dbd7dfa0e 1518 mode=31;
yabahiro 53:694dbd7dfa0e 1519 }
yabahiro 50:87f5fa1bc460 1520 switch(g[4]) {
yabahiro 50:87f5fa1bc460 1521 case 98:
yabahiro 51:a0bdbddd08f7 1522 motor[TIRE_FR].pwm = 60;
yabahiro 50:87f5fa1bc460 1523 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1524 motor[TIRE_FL].pwm = 65;
yabahiro 50:87f5fa1bc460 1525 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1526 motor[TIRE_BR].pwm = 60;
yabahiro 50:87f5fa1bc460 1527 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1528 motor[TIRE_BL].pwm = 60;
yabahiro 50:87f5fa1bc460 1529 motor[TIRE_BL].dir = FOR;
yabahiro 50:87f5fa1bc460 1530 break;
yabahiro 50:87f5fa1bc460 1531 case 99:
yabahiro 50:87f5fa1bc460 1532 motor[TIRE_FR].pwm = 0;
yabahiro 50:87f5fa1bc460 1533 motor[TIRE_FR].dir = FREE;
yabahiro 50:87f5fa1bc460 1534 motor[TIRE_FL].pwm = 0;
yabahiro 50:87f5fa1bc460 1535 motor[TIRE_FL].dir = FREE;
yabahiro 50:87f5fa1bc460 1536 motor[TIRE_BR].pwm = 0;
yabahiro 50:87f5fa1bc460 1537 motor[TIRE_BR].dir = FREE;
yabahiro 50:87f5fa1bc460 1538 motor[TIRE_BL].pwm = 0;
yabahiro 50:87f5fa1bc460 1539 motor[TIRE_BL].dir = FREE;
yabahiro 50:87f5fa1bc460 1540 break;
yabahiro 50:87f5fa1bc460 1541 case 0:
yabahiro 51:a0bdbddd08f7 1542 motor[TIRE_FR].pwm = 60;
yabahiro 50:87f5fa1bc460 1543 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1544 motor[TIRE_FL].pwm = 65;
yabahiro 50:87f5fa1bc460 1545 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1546 motor[TIRE_BR].pwm = 60;
yabahiro 50:87f5fa1bc460 1547 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1548 motor[TIRE_BL].pwm = 60;
yabahiro 50:87f5fa1bc460 1549 motor[TIRE_BL].dir = FOR;
yabahiro 50:87f5fa1bc460 1550 break;
yabahiro 50:87f5fa1bc460 1551 case 255:
yabahiro 50:87f5fa1bc460 1552 motor[TIRE_FR].pwm = 0;
yabahiro 50:87f5fa1bc460 1553 motor[TIRE_FR].dir = FREE;
yabahiro 50:87f5fa1bc460 1554 motor[TIRE_FL].pwm = 0;
yabahiro 50:87f5fa1bc460 1555 motor[TIRE_FL].dir = FREE;
yabahiro 50:87f5fa1bc460 1556 motor[TIRE_BR].pwm = 0;
yabahiro 50:87f5fa1bc460 1557 motor[TIRE_BR].dir = FREE;
yabahiro 50:87f5fa1bc460 1558 motor[TIRE_BL].pwm = 0;
yabahiro 50:87f5fa1bc460 1559 motor[TIRE_BL].dir = FREE;
yabahiro 50:87f5fa1bc460 1560 break;
yabahiro 50:87f5fa1bc460 1561 case 253:
yabahiro 51:a0bdbddd08f7 1562 motor[TIRE_FR].pwm = 60;
yabahiro 50:87f5fa1bc460 1563 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1564 motor[TIRE_FL].pwm = 30;
yabahiro 50:87f5fa1bc460 1565 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1566 motor[TIRE_BR].pwm = 25;
yabahiro 50:87f5fa1bc460 1567 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1568 motor[TIRE_BL].pwm = 60;
yabahiro 50:87f5fa1bc460 1569 motor[TIRE_BL].dir = FOR;
yabahiro 50:87f5fa1bc460 1570 break;
yabahiro 50:87f5fa1bc460 1571 case 254:
yabahiro 51:a0bdbddd08f7 1572 motor[TIRE_FR].pwm = 60;
yabahiro 50:87f5fa1bc460 1573 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1574 motor[TIRE_FL].pwm = 45;
yabahiro 50:87f5fa1bc460 1575 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1576 motor[TIRE_BR].pwm = 40;
yabahiro 50:87f5fa1bc460 1577 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1578 motor[TIRE_BL].pwm = 60;
yabahiro 50:87f5fa1bc460 1579 motor[TIRE_BL].dir = FOR;
yabahiro 50:87f5fa1bc460 1580 break;
yabahiro 50:87f5fa1bc460 1581 case 1:
yabahiro 50:87f5fa1bc460 1582 motor[TIRE_FR].pwm = 0;
yabahiro 50:87f5fa1bc460 1583 motor[TIRE_FR].dir = FREE;
yabahiro 50:87f5fa1bc460 1584 motor[TIRE_FL].pwm = 0;
yabahiro 50:87f5fa1bc460 1585 motor[TIRE_FL].dir = FREE;
yabahiro 50:87f5fa1bc460 1586 motor[TIRE_BR].pwm = 0;
yabahiro 50:87f5fa1bc460 1587 motor[TIRE_BR].dir = FREE;
yabahiro 50:87f5fa1bc460 1588 motor[TIRE_BL].pwm = 0;
yabahiro 50:87f5fa1bc460 1589 motor[TIRE_BL].dir = FREE;
yabahiro 50:87f5fa1bc460 1590 break;
yabahiro 50:87f5fa1bc460 1591 case 3:
yabahiro 51:a0bdbddd08f7 1592 motor[TIRE_FR].pwm = 25;
yabahiro 50:87f5fa1bc460 1593 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1594 motor[TIRE_FL].pwm = 65;
yabahiro 50:87f5fa1bc460 1595 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1596 motor[TIRE_BR].pwm = 60;
yabahiro 50:87f5fa1bc460 1597 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1598 motor[TIRE_BL].pwm = 25;
yabahiro 50:87f5fa1bc460 1599 motor[TIRE_BL].dir = FOR;
yabahiro 50:87f5fa1bc460 1600 break;
yabahiro 50:87f5fa1bc460 1601 case 2:
yabahiro 51:a0bdbddd08f7 1602 motor[TIRE_FR].pwm = 40;
yabahiro 50:87f5fa1bc460 1603 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1604 motor[TIRE_FL].pwm = 65;
yabahiro 50:87f5fa1bc460 1605 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1606 motor[TIRE_BR].pwm = 60;
yabahiro 50:87f5fa1bc460 1607 motor[TIRE_BR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1608 motor[TIRE_BL].pwm = 40;
yabahiro 50:87f5fa1bc460 1609 motor[TIRE_BL].dir = FOR;
yabahiro 50:87f5fa1bc460 1610 break;
yabahiro 50:87f5fa1bc460 1611 }
yabahiro 51:a0bdbddd08f7 1612 break;
yabahiro 51:a0bdbddd08f7 1613 case 31:
yabahiro 53:694dbd7dfa0e 1614 motor[TIRE_FR].pwm = 30;
yabahiro 51:a0bdbddd08f7 1615 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1616 motor[TIRE_FL].pwm = 5;
yabahiro 53:694dbd7dfa0e 1617 motor[TIRE_FL].dir = BACK;
yabahiro 53:694dbd7dfa0e 1618 motor[TIRE_BR].pwm = 5;
yabahiro 53:694dbd7dfa0e 1619 motor[TIRE_BR].dir = FOR;
yabahiro 53:694dbd7dfa0e 1620 motor[TIRE_BL].pwm = 30;
yabahiro 51:a0bdbddd08f7 1621 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1622 if(g[2]==0) {
yabahiro 51:a0bdbddd08f7 1623 cross=0;
yabahiro 51:a0bdbddd08f7 1624 countss=0;
yabahiro 51:a0bdbddd08f7 1625 mode=40;
yabahiro 55:844ac0974740 1626 fast=70;
yabahiro 55:844ac0974740 1627 normal=50;
yabahiro 55:844ac0974740 1628 slow=40;
yabahiro 51:a0bdbddd08f7 1629 }
yabahiro 51:a0bdbddd08f7 1630 break;
yabahiro 51:a0bdbddd08f7 1631 case 40:
yabahiro 51:a0bdbddd08f7 1632 switch(g[3]) {
yabahiro 51:a0bdbddd08f7 1633 case 98:
yabahiro 53:694dbd7dfa0e 1634 motor[TIRE_FR].pwm = normal;
yabahiro 51:a0bdbddd08f7 1635 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1636 motor[TIRE_FL].pwm = normal;
yabahiro 51:a0bdbddd08f7 1637 motor[TIRE_FL].dir = BACK;
yabahiro 53:694dbd7dfa0e 1638 motor[TIRE_BR].pwm = normal;
yabahiro 51:a0bdbddd08f7 1639 motor[TIRE_BR].dir = FOR;
yabahiro 53:694dbd7dfa0e 1640 motor[TIRE_BL].pwm = normal;
yabahiro 51:a0bdbddd08f7 1641 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1642 if(countss>30000) {
yabahiro 51:a0bdbddd08f7 1643 cross++;
yabahiro 51:a0bdbddd08f7 1644 countss=0;
yabahiro 51:a0bdbddd08f7 1645 }
yabahiro 51:a0bdbddd08f7 1646 mtc2=true;
yabahiro 51:a0bdbddd08f7 1647 if(YELLOW) {
yabahiro 51:a0bdbddd08f7 1648 if(cross==1) {
yabahiro 51:a0bdbddd08f7 1649 mode=41;
yabahiro 51:a0bdbddd08f7 1650 countss=0;
yabahiro 51:a0bdbddd08f7 1651 cross=0;
yabahiro 51:a0bdbddd08f7 1652 }
yabahiro 51:a0bdbddd08f7 1653 } else {
yabahiro 51:a0bdbddd08f7 1654 if(cross==3) {
yabahiro 53:694dbd7dfa0e 1655 fast=60;
yabahiro 53:694dbd7dfa0e 1656 normal=40;
yabahiro 53:694dbd7dfa0e 1657 slow=30;
yabahiro 51:a0bdbddd08f7 1658 mode=41;
yabahiro 51:a0bdbddd08f7 1659 countss=0;
yabahiro 51:a0bdbddd08f7 1660 cross=0;
yabahiro 51:a0bdbddd08f7 1661 }
yabahiro 51:a0bdbddd08f7 1662 }
yabahiro 51:a0bdbddd08f7 1663 break;
yabahiro 50:87f5fa1bc460 1664 case 0:
yabahiro 53:694dbd7dfa0e 1665 motor[TIRE_FR].pwm = fast;
yabahiro 51:a0bdbddd08f7 1666 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1667 motor[TIRE_FL].pwm = fast;
yabahiro 51:a0bdbddd08f7 1668 motor[TIRE_FL].dir = BACK;
yabahiro 53:694dbd7dfa0e 1669 motor[TIRE_BR].pwm = fast;
yabahiro 51:a0bdbddd08f7 1670 motor[TIRE_BR].dir = FOR;
yabahiro 53:694dbd7dfa0e 1671 motor[TIRE_BL].pwm = fast;
yabahiro 51:a0bdbddd08f7 1672 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1673 mtc2=true;
yabahiro 50:87f5fa1bc460 1674 break;
yabahiro 50:87f5fa1bc460 1675 case 255:
yabahiro 53:694dbd7dfa0e 1676 motor[TIRE_FR].pwm = slow;
yabahiro 50:87f5fa1bc460 1677 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1678 motor[TIRE_FL].pwm = fast;
yabahiro 51:a0bdbddd08f7 1679 motor[TIRE_FL].dir = BACK;
yabahiro 53:694dbd7dfa0e 1680 motor[TIRE_BR].pwm = slow;
yabahiro 51:a0bdbddd08f7 1681 motor[TIRE_BR].dir = FOR;
yabahiro 53:694dbd7dfa0e 1682 motor[TIRE_BL].pwm = slow;
yabahiro 51:a0bdbddd08f7 1683 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1684 mtc2=true;
yabahiro 50:87f5fa1bc460 1685 break;
yabahiro 50:87f5fa1bc460 1686 case 253:
yabahiro 51:a0bdbddd08f7 1687 motor[TIRE_FR].pwm = 0;
yabahiro 51:a0bdbddd08f7 1688 motor[TIRE_FR].dir = FREE;
yabahiro 53:694dbd7dfa0e 1689 motor[TIRE_FL].pwm = slow;
yabahiro 51:a0bdbddd08f7 1690 motor[TIRE_FL].dir = BACK;
yabahiro 53:694dbd7dfa0e 1691 motor[TIRE_BR].pwm = slow;
yabahiro 51:a0bdbddd08f7 1692 motor[TIRE_BR].dir = FOR;
yabahiro 51:a0bdbddd08f7 1693 motor[TIRE_BL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1694 motor[TIRE_BL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1695 mtc2=true;
yabahiro 50:87f5fa1bc460 1696 break;
yabahiro 50:87f5fa1bc460 1697 case 254:
yabahiro 51:a0bdbddd08f7 1698 motor[TIRE_FR].pwm = 0;
yabahiro 51:a0bdbddd08f7 1699 motor[TIRE_FR].dir = FREE;
yabahiro 53:694dbd7dfa0e 1700 motor[TIRE_FL].pwm = normal;
yabahiro 51:a0bdbddd08f7 1701 motor[TIRE_FL].dir = BACK;
yabahiro 53:694dbd7dfa0e 1702 motor[TIRE_BR].pwm = normal;
yabahiro 51:a0bdbddd08f7 1703 motor[TIRE_BR].dir = FOR;
yabahiro 51:a0bdbddd08f7 1704 motor[TIRE_BL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1705 motor[TIRE_BL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1706 mtc2=true;
yabahiro 50:87f5fa1bc460 1707 break;
yabahiro 50:87f5fa1bc460 1708 case 1:
yabahiro 53:694dbd7dfa0e 1709 motor[TIRE_FR].pwm = slow;
yabahiro 51:a0bdbddd08f7 1710 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1711 motor[TIRE_FL].pwm = slow;
yabahiro 51:a0bdbddd08f7 1712 motor[TIRE_FL].dir = BACK;
yabahiro 53:694dbd7dfa0e 1713 motor[TIRE_BR].pwm = slow;
yabahiro 50:87f5fa1bc460 1714 motor[TIRE_BR].dir = FOR;
yabahiro 53:694dbd7dfa0e 1715 motor[TIRE_BL].pwm = fast;
yabahiro 51:a0bdbddd08f7 1716 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1717 mtc2=true;
yabahiro 50:87f5fa1bc460 1718 break;
yabahiro 50:87f5fa1bc460 1719 case 3:
yabahiro 53:694dbd7dfa0e 1720 motor[TIRE_FR].pwm = slow;
yabahiro 51:a0bdbddd08f7 1721 motor[TIRE_FR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1722 motor[TIRE_FL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1723 motor[TIRE_FL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1724 motor[TIRE_BR].pwm = 0;
yabahiro 51:a0bdbddd08f7 1725 motor[TIRE_BR].dir = FREE;
yabahiro 53:694dbd7dfa0e 1726 motor[TIRE_BL].pwm = slow;
yabahiro 51:a0bdbddd08f7 1727 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1728 mtc2=true;
yabahiro 50:87f5fa1bc460 1729 break;
yabahiro 50:87f5fa1bc460 1730 case 2:
yabahiro 53:694dbd7dfa0e 1731 motor[TIRE_FR].pwm = normal;
yabahiro 51:a0bdbddd08f7 1732 motor[TIRE_FR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1733 motor[TIRE_FL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1734 motor[TIRE_FL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1735 motor[TIRE_BR].pwm = 0;
yabahiro 51:a0bdbddd08f7 1736 motor[TIRE_BR].dir = FREE;
yabahiro 53:694dbd7dfa0e 1737 motor[TIRE_BL].pwm = normal;
yabahiro 51:a0bdbddd08f7 1738 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1739 mtc2=true;
yabahiro 50:87f5fa1bc460 1740 break;
yabahiro 50:87f5fa1bc460 1741 }
yabahiro 51:a0bdbddd08f7 1742 if(g[2]!=98&&mtc2==true) {
yabahiro 51:a0bdbddd08f7 1743 switch(g[2]) {
yabahiro 51:a0bdbddd08f7 1744 case 0:
yabahiro 51:a0bdbddd08f7 1745 mtc2=false;
yabahiro 51:a0bdbddd08f7 1746 break;
yabahiro 51:a0bdbddd08f7 1747 case 255:
yabahiro 51:a0bdbddd08f7 1748 motor[TIRE_FL].pwm += 5;
yabahiro 51:a0bdbddd08f7 1749 mtc2=false;
yabahiro 51:a0bdbddd08f7 1750 break;
yabahiro 51:a0bdbddd08f7 1751 case 253:
yabahiro 51:a0bdbddd08f7 1752 motor[TIRE_FL].pwm += 10;
yabahiro 51:a0bdbddd08f7 1753 mtc2=false;
yabahiro 51:a0bdbddd08f7 1754 break;
yabahiro 51:a0bdbddd08f7 1755 case 254:
yabahiro 51:a0bdbddd08f7 1756 motor[TIRE_FL].pwm += 20;
yabahiro 51:a0bdbddd08f7 1757 motor[TIRE_BL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1758 mtc2=false;
yabahiro 51:a0bdbddd08f7 1759 break;
yabahiro 51:a0bdbddd08f7 1760 case 1:
yabahiro 51:a0bdbddd08f7 1761 motor[TIRE_BL].pwm += 5;
yabahiro 51:a0bdbddd08f7 1762 mtc2=false;
yabahiro 51:a0bdbddd08f7 1763 break;
yabahiro 51:a0bdbddd08f7 1764 case 3:
yabahiro 51:a0bdbddd08f7 1765 motor[TIRE_BL].pwm += 10;
yabahiro 51:a0bdbddd08f7 1766 mtc2=false;
yabahiro 51:a0bdbddd08f7 1767 break;
yabahiro 51:a0bdbddd08f7 1768 case 2:
yabahiro 51:a0bdbddd08f7 1769 motor[TIRE_BL].pwm += 20;
yabahiro 51:a0bdbddd08f7 1770 motor[TIRE_FL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1771 mtc2=false;
yabahiro 51:a0bdbddd08f7 1772 break;
yabahiro 51:a0bdbddd08f7 1773 }
yabahiro 51:a0bdbddd08f7 1774 }
yabahiro 51:a0bdbddd08f7 1775 break;
yabahiro 51:a0bdbddd08f7 1776 case 41:
yabahiro 53:694dbd7dfa0e 1777 /*
yabahiro 53:694dbd7dfa0e 1778 if(LIF||LIB) {
yabahiro 53:694dbd7dfa0e 1779 mode=42;
yabahiro 53:694dbd7dfa0e 1780 }
yabahiro 53:694dbd7dfa0e 1781 */
yabahiro 53:694dbd7dfa0e 1782 motor[TIRE_FR].pwm = 30;
yabahiro 51:a0bdbddd08f7 1783 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1784 motor[TIRE_FL].pwm = 0;
yabahiro 53:694dbd7dfa0e 1785 motor[TIRE_FL].dir = FREE;
yabahiro 53:694dbd7dfa0e 1786 motor[TIRE_BR].pwm = 0;
yabahiro 53:694dbd7dfa0e 1787 motor[TIRE_BR].dir = FREE;
yabahiro 53:694dbd7dfa0e 1788 motor[TIRE_BL].pwm = 30;
yabahiro 51:a0bdbddd08f7 1789 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1790 if(g[1]==0) {
yabahiro 51:a0bdbddd08f7 1791 countss=0;
yabahiro 51:a0bdbddd08f7 1792 mode=70;
yabahiro 55:844ac0974740 1793 normal=120;
yabahiro 55:844ac0974740 1794 fast=140;
yabahiro 55:844ac0974740 1795 slow=100;
yabahiro 51:a0bdbddd08f7 1796 }
yabahiro 51:a0bdbddd08f7 1797 break;
yabahiro 51:a0bdbddd08f7 1798 case 42:
yabahiro 51:a0bdbddd08f7 1799 motor[TIRE_FR].pwm = 40;
yabahiro 51:a0bdbddd08f7 1800 motor[TIRE_FR].dir = FOR;
yabahiro 51:a0bdbddd08f7 1801 motor[TIRE_FL].pwm = 0;
yabahiro 51:a0bdbddd08f7 1802 motor[TIRE_FL].dir = FREE;
yabahiro 51:a0bdbddd08f7 1803 motor[TIRE_BR].pwm = 0;
yabahiro 51:a0bdbddd08f7 1804 motor[TIRE_BR].dir = FREE;
yabahiro 51:a0bdbddd08f7 1805 motor[TIRE_BL].pwm = 40;
yabahiro 51:a0bdbddd08f7 1806 motor[TIRE_BL].dir = BACK;
yabahiro 51:a0bdbddd08f7 1807 if(g[1]==0) {
yabahiro 51:a0bdbddd08f7 1808 countss=0;
yabahiro 51:a0bdbddd08f7 1809 mode=70;
yabahiro 51:a0bdbddd08f7 1810 }
yabahiro 51:a0bdbddd08f7 1811 break;
yabahiro 51:a0bdbddd08f7 1812 case 70:
yabahiro 51:a0bdbddd08f7 1813 switch(g[0]) {
yabahiro 51:a0bdbddd08f7 1814 case 99:
yabahiro 51:a0bdbddd08f7 1815 if(countss>=100000) {
yabahiro 51:a0bdbddd08f7 1816 mode=100;
yabahiro 51:a0bdbddd08f7 1817 }
yabahiro 50:87f5fa1bc460 1818 break;
yabahiro 39:784552c26163 1819 case 98:
yabahiro 39:784552c26163 1820 motor[TIRE_FR].pwm = normal;
yabahiro 39:784552c26163 1821 motor[TIRE_FR].dir = BACK;
yabahiro 39:784552c26163 1822 motor[TIRE_FL].pwm = normal;
yabahiro 39:784552c26163 1823 motor[TIRE_FL].dir = FOR;
yabahiro 39:784552c26163 1824 motor[TIRE_BR].pwm = normal;
yabahiro 39:784552c26163 1825 motor[TIRE_BR].dir = BACK;
yabahiro 39:784552c26163 1826 motor[TIRE_BL].pwm = normal;
yabahiro 39:784552c26163 1827 motor[TIRE_BL].dir = FOR;
yabahiro 39:784552c26163 1828 break;
yabahiro 39:784552c26163 1829 case 0:
yabahiro 53:694dbd7dfa0e 1830 motor[TIRE_FR].pwm = 80;
yabahiro 39:784552c26163 1831 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1832 motor[TIRE_FL].pwm = 80;
yabahiro 39:784552c26163 1833 motor[TIRE_FL].dir = FOR;
yabahiro 53:694dbd7dfa0e 1834 motor[TIRE_BR].pwm = 80;
yabahiro 39:784552c26163 1835 motor[TIRE_BR].dir = BACK;
yabahiro 53:694dbd7dfa0e 1836 motor[TIRE_BL].pwm = 80;
yabahiro 39:784552c26163 1837 motor[TIRE_BL].dir = FOR;
yabahiro 39:784552c26163 1838 mtc=true;
yabahiro 39:784552c26163 1839 break;
yabahiro 39:784552c26163 1840 case 255:
yabahiro 39:784552c26163 1841 motor[TIRE_FR].pwm = fast;
yabahiro 39:784552c26163 1842 motor[TIRE_FR].dir = BACK;
yabahiro 39:784552c26163 1843 motor[TIRE_FL].pwm = slow;
yabahiro 39:784552c26163 1844 motor[TIRE_FL].dir = FOR;
yabahiro 39:784552c26163 1845 motor[TIRE_BR].pwm = slow;
yabahiro 39:784552c26163 1846 motor[TIRE_BR].dir = BACK;
yabahiro 39:784552c26163 1847 motor[TIRE_BL].pwm = fast;
yabahiro 39:784552c26163 1848 motor[TIRE_BL].dir = FOR;
yabahiro 39:784552c26163 1849 mtc=true;
yabahiro 39:784552c26163 1850 break;
yabahiro 39:784552c26163 1851 case 253:
yabahiro 39:784552c26163 1852 motor[TIRE_FR].pwm = slow;
yabahiro 39:784552c26163 1853 motor[TIRE_FR].dir = BACK;
yabahiro 39:784552c26163 1854 motor[TIRE_FL].pwm = 0;
yabahiro 39:784552c26163 1855 motor[TIRE_FL].dir = FREE;
yabahiro 39:784552c26163 1856 motor[TIRE_BR].pwm = 0;
yabahiro 39:784552c26163 1857 motor[TIRE_BR].dir = FREE;
yabahiro 39:784552c26163 1858 motor[TIRE_BL].pwm = slow;
yabahiro 39:784552c26163 1859 motor[TIRE_BL].dir = FOR;
yabahiro 39:784552c26163 1860 mtc=true;
yabahiro 39:784552c26163 1861 break;
yabahiro 39:784552c26163 1862 case 254:
yabahiro 39:784552c26163 1863 motor[TIRE_FR].pwm = normal;
yabahiro 39:784552c26163 1864 motor[TIRE_FR].dir = BACK;
yabahiro 39:784552c26163 1865 motor[TIRE_FL].pwm = 0;
yabahiro 39:784552c26163 1866 motor[TIRE_FL].dir = FREE;
yabahiro 39:784552c26163 1867 motor[TIRE_BR].pwm = 0;
yabahiro 39:784552c26163 1868 motor[TIRE_BR].dir = FREE;
yabahiro 39:784552c26163 1869 motor[TIRE_BL].pwm = normal;
yabahiro 39:784552c26163 1870 motor[TIRE_BL].dir = FOR;
yabahiro 39:784552c26163 1871 mtc=true;
yabahiro 39:784552c26163 1872 break;
yabahiro 39:784552c26163 1873 case 1:
yabahiro 39:784552c26163 1874 motor[TIRE_FR].pwm = slow;
yabahiro 39:784552c26163 1875 motor[TIRE_FR].dir = BACK;
yabahiro 39:784552c26163 1876 motor[TIRE_FL].pwm = fast;
yabahiro 39:784552c26163 1877 motor[TIRE_FL].dir = FOR;
yabahiro 39:784552c26163 1878 motor[TIRE_BR].pwm = fast;
yabahiro 39:784552c26163 1879 motor[TIRE_BR].dir = BACK;
yabahiro 39:784552c26163 1880 motor[TIRE_BL].pwm = slow;
yabahiro 39:784552c26163 1881 motor[TIRE_BL].dir = FOR;
yabahiro 39:784552c26163 1882 mtc=true;
yabahiro 39:784552c26163 1883 break;
yabahiro 39:784552c26163 1884 case 3:
yabahiro 39:784552c26163 1885 motor[TIRE_FR].pwm = 0;
yabahiro 39:784552c26163 1886 motor[TIRE_FR].dir = FREE;
yabahiro 39:784552c26163 1887 motor[TIRE_FL].pwm = slow;
yabahiro 39:784552c26163 1888 motor[TIRE_FL].dir = FOR;
yabahiro 39:784552c26163 1889 motor[TIRE_BR].pwm = slow;
yabahiro 39:784552c26163 1890 motor[TIRE_BR].dir = BACK;
yabahiro 39:784552c26163 1891 motor[TIRE_BL].pwm = 0;
yabahiro 39:784552c26163 1892 motor[TIRE_BL].dir = FREE;
yabahiro 39:784552c26163 1893 mtc=true;
yabahiro 39:784552c26163 1894 break;
yabahiro 39:784552c26163 1895 case 2:
yabahiro 39:784552c26163 1896 motor[TIRE_FR].pwm = 0;
yabahiro 39:784552c26163 1897 motor[TIRE_FR].dir = FREE;
yabahiro 39:784552c26163 1898 motor[TIRE_FL].pwm = normal;
yabahiro 39:784552c26163 1899 motor[TIRE_FL].dir = FOR;
yabahiro 39:784552c26163 1900 motor[TIRE_BR].pwm = normal;
yabahiro 39:784552c26163 1901 motor[TIRE_BR].dir = BACK;
yabahiro 39:784552c26163 1902 motor[TIRE_BL].pwm = 0;
yabahiro 39:784552c26163 1903 motor[TIRE_BL].dir = FREE;
yabahiro 39:784552c26163 1904 mtc=true;
yabahiro 39:784552c26163 1905 break;
yabahiro 39:784552c26163 1906 }
yabahiro 39:784552c26163 1907 if(g[1]!=98&&mtc==true) {
yabahiro 39:784552c26163 1908 switch(g[1]) {
yabahiro 39:784552c26163 1909 case 0:
yabahiro 39:784552c26163 1910 mtc=false;
yabahiro 39:784552c26163 1911 break;
yabahiro 39:784552c26163 1912 case 255:
yabahiro 39:784552c26163 1913 motor[TIRE_BR].pwm += 5;
yabahiro 39:784552c26163 1914 mtc=false;
yabahiro 39:784552c26163 1915 break;
yabahiro 39:784552c26163 1916 case 253:
yabahiro 39:784552c26163 1917 motor[TIRE_BR].pwm += 10;
yabahiro 39:784552c26163 1918 mtc=false;
yabahiro 39:784552c26163 1919 break;
yabahiro 39:784552c26163 1920 case 254:
yabahiro 39:784552c26163 1921 motor[TIRE_BR].pwm += 20;
yabahiro 39:784552c26163 1922 motor[TIRE_BL].pwm = 0;
yabahiro 39:784552c26163 1923 mtc=false;
yabahiro 39:784552c26163 1924 break;
yabahiro 39:784552c26163 1925 case 1:
yabahiro 39:784552c26163 1926 motor[TIRE_BL].pwm += 5;
yabahiro 39:784552c26163 1927 mtc=false;
yabahiro 39:784552c26163 1928 break;
yabahiro 39:784552c26163 1929 case 3:
yabahiro 39:784552c26163 1930 motor[TIRE_BL].pwm += 10;
yabahiro 39:784552c26163 1931 mtc=false;
yabahiro 39:784552c26163 1932 break;
yabahiro 39:784552c26163 1933 case 2:
yabahiro 39:784552c26163 1934 motor[TIRE_BL].pwm += 20;
yabahiro 39:784552c26163 1935 motor[TIRE_BR].pwm = 0;
yabahiro 39:784552c26163 1936 mtc=false;
yabahiro 39:784552c26163 1937 break;
yabahiro 39:784552c26163 1938 }
yabahiro 33:dd598bb23ad1 1939 }
yabahiro 51:a0bdbddd08f7 1940 break;
yabahiro 51:a0bdbddd08f7 1941 case 100:
yabahiro 54:4167f10ecad0 1942 motor[TIRE_FR].pwm = 47;
yabahiro 51:a0bdbddd08f7 1943 motor[TIRE_FR].dir = BACK;
yabahiro 51:a0bdbddd08f7 1944 motor[TIRE_FL].pwm = 50;
yabahiro 51:a0bdbddd08f7 1945 motor[TIRE_FL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1946 motor[TIRE_BR].pwm = 50;
yabahiro 51:a0bdbddd08f7 1947 motor[TIRE_BR].dir = BACK;
yabahiro 54:4167f10ecad0 1948 motor[TIRE_BL].pwm = 55;
yabahiro 51:a0bdbddd08f7 1949 motor[TIRE_BL].dir = FOR;
yabahiro 51:a0bdbddd08f7 1950 break;
yabahiro 51:a0bdbddd08f7 1951 default:
yabahiro 51:a0bdbddd08f7 1952 motor[TIRE_FR].pwm = 50;
yabahiro 51:a0bdbddd08f7 1953 motor[TIRE_FR].dir = BRAKE;
yabahiro 51:a0bdbddd08f7 1954 motor[TIRE_FL].pwm = 50;
yabahiro 51:a0bdbddd08f7 1955 motor[TIRE_FL].dir = BRAKE;
yabahiro 51:a0bdbddd08f7 1956 motor[TIRE_BR].pwm = 50;
yabahiro 51:a0bdbddd08f7 1957 motor[TIRE_BR].dir = BRAKE;
yabahiro 51:a0bdbddd08f7 1958 motor[TIRE_BL].pwm = 50;
yabahiro 51:a0bdbddd08f7 1959 motor[TIRE_BL].dir = BRAKE;
yabahiro 51:a0bdbddd08f7 1960 break;
yabahiro 33:dd598bb23ad1 1961 }
kishibekairohan 13:b6e02d6261d7 1962 }
kishibekairohan 13:b6e02d6261d7 1963 #endif
kishibekairohan 13:b6e02d6261d7 1964
kishibekairohan 13:b6e02d6261d7 1965 #if USE_PROCESS_NUM>3
Ryosei 27:dd9f27fce7d1 1966 static void Process3()
kishibekairohan 13:b6e02d6261d7 1967 {
yabahiro 33:dd598bb23ad1 1968 //Clearly 赤ゾーン
kishibekairohan 35:33c6cdba5630 1969 LED::LED::TapeledMode(3);
yabahiro 33:dd598bb23ad1 1970 countss++;
yabahiro 54:4167f10ecad0 1971 switch(mode) {
yabahiro 54:4167f10ecad0 1972 case 1:
yabahiro 54:4167f10ecad0 1973 fast=40;
yabahiro 54:4167f10ecad0 1974 normal=30;
yabahiro 54:4167f10ecad0 1975 slow=20;
yabahiro 54:4167f10ecad0 1976 motor[TIRE_FR].pwm = normal+20;
yabahiro 54:4167f10ecad0 1977 motor[TIRE_FR].dir = BACK;
yabahiro 54:4167f10ecad0 1978 motor[TIRE_FL].pwm = normal+20;
yabahiro 54:4167f10ecad0 1979 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 1980 motor[TIRE_BR].pwm = normal+20;
yabahiro 54:4167f10ecad0 1981 motor[TIRE_BR].dir = BACK;
yabahiro 54:4167f10ecad0 1982 motor[TIRE_BL].pwm = normal+20;
yabahiro 54:4167f10ecad0 1983 motor[TIRE_BL].dir = FOR;
yabahiro 54:4167f10ecad0 1984 if(g[2]==0&&countss>=300000) {
yabahiro 54:4167f10ecad0 1985 countss=100000;
yabahiro 54:4167f10ecad0 1986 cross=0;
yabahiro 54:4167f10ecad0 1987 mode=3;
yabahiro 54:4167f10ecad0 1988 }
yabahiro 54:4167f10ecad0 1989 break;
yabahiro 54:4167f10ecad0 1990 case 3:
yabahiro 54:4167f10ecad0 1991 motor[TIRE_FR].pwm = 255;
yabahiro 54:4167f10ecad0 1992 motor[TIRE_FR].dir = BRAKE;
yabahiro 54:4167f10ecad0 1993 motor[TIRE_FL].pwm = 30;
yabahiro 54:4167f10ecad0 1994 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 1995 motor[TIRE_BR].pwm = 30;
yabahiro 54:4167f10ecad0 1996 motor[TIRE_BR].dir = BACK;
yabahiro 54:4167f10ecad0 1997 motor[TIRE_BL].pwm = 255;
yabahiro 54:4167f10ecad0 1998 motor[TIRE_BL].dir = BRAKE;
yabahiro 54:4167f10ecad0 1999 if(g[0]==0) {
yabahiro 54:4167f10ecad0 2000 mode=10;
yabahiro 54:4167f10ecad0 2001 countss=100000;
yabahiro 54:4167f10ecad0 2002 fast = 60;
yabahiro 54:4167f10ecad0 2003 normal = 40;
yabahiro 54:4167f10ecad0 2004 slow = 30;
yabahiro 54:4167f10ecad0 2005 }
yabahiro 54:4167f10ecad0 2006 break;
yabahiro 54:4167f10ecad0 2007 case 10:
yabahiro 54:4167f10ecad0 2008 switch(g[0]) {
yabahiro 54:4167f10ecad0 2009 case 98:
yabahiro 54:4167f10ecad0 2010 motor[TIRE_FR].pwm = normal+50;
yabahiro 54:4167f10ecad0 2011 motor[TIRE_FR].dir = BACK;
yabahiro 54:4167f10ecad0 2012 motor[TIRE_FL].pwm = normal+50;
yabahiro 54:4167f10ecad0 2013 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 2014 motor[TIRE_BR].pwm = normal+50;
yabahiro 54:4167f10ecad0 2015 motor[TIRE_BR].dir = BACK;
yabahiro 54:4167f10ecad0 2016 motor[TIRE_BL].pwm = normal+50;
yabahiro 54:4167f10ecad0 2017 motor[TIRE_BL].dir = FOR;
yabahiro 54:4167f10ecad0 2018 mtc=true;
yabahiro 54:4167f10ecad0 2019 if(countss>80000) {
yabahiro 54:4167f10ecad0 2020 cross++;
yabahiro 54:4167f10ecad0 2021 countss=0;
yabahiro 54:4167f10ecad0 2022 }
yabahiro 54:4167f10ecad0 2023 if(cross==2) {
yabahiro 54:4167f10ecad0 2024 fast = 10;
yabahiro 54:4167f10ecad0 2025 normal = 10;
yabahiro 54:4167f10ecad0 2026 slow = 5;
yabahiro 54:4167f10ecad0 2027 }
yabahiro 46:68296caae1af 2028
yabahiro 53:694dbd7dfa0e 2029 if(cross==3) {
yabahiro 54:4167f10ecad0 2030 fast=40;
yabahiro 54:4167f10ecad0 2031 normal=30;
yabahiro 54:4167f10ecad0 2032 slow=20;
yabahiro 54:4167f10ecad0 2033 mode=11;
yabahiro 53:694dbd7dfa0e 2034 countss=0;
yabahiro 53:694dbd7dfa0e 2035 cross=0;
yabahiro 54:4167f10ecad0 2036
yabahiro 53:694dbd7dfa0e 2037 }
yabahiro 54:4167f10ecad0 2038 break;
yabahiro 38:40e7fdf3c694 2039 case 0:
yabahiro 54:4167f10ecad0 2040 motor[TIRE_FR].pwm = fast+50;
yabahiro 54:4167f10ecad0 2041 motor[TIRE_FR].dir = BACK;
yabahiro 54:4167f10ecad0 2042 motor[TIRE_FL].pwm = fast+50;
yabahiro 54:4167f10ecad0 2043 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 2044 motor[TIRE_BR].pwm = fast+50;
yabahiro 54:4167f10ecad0 2045 motor[TIRE_BR].dir = BACK;
yabahiro 54:4167f10ecad0 2046 motor[TIRE_BL].pwm = fast+50;
yabahiro 54:4167f10ecad0 2047 motor[TIRE_BL].dir = FOR;
yabahiro 54:4167f10ecad0 2048 mtc=true;
yabahiro 38:40e7fdf3c694 2049 break;
yabahiro 38:40e7fdf3c694 2050 case 255:
yabahiro 54:4167f10ecad0 2051 motor[TIRE_FR].pwm = fast+50;
yabahiro 54:4167f10ecad0 2052 motor[TIRE_FR].dir = BACK;
yabahiro 54:4167f10ecad0 2053 motor[TIRE_FL].pwm = slow+50;
yabahiro 54:4167f10ecad0 2054 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 2055 motor[TIRE_BR].pwm = slow+50;
yabahiro 54:4167f10ecad0 2056 motor[TIRE_BR].dir = BACK;
yabahiro 54:4167f10ecad0 2057 motor[TIRE_BL].pwm = fast+50;
yabahiro 54:4167f10ecad0 2058 motor[TIRE_BL].dir = FOR;
yabahiro 54:4167f10ecad0 2059 mtc=true;
yabahiro 53:694dbd7dfa0e 2060 break;
yabahiro 53:694dbd7dfa0e 2061 case 253:
yabahiro 54:4167f10ecad0 2062 motor[TIRE_FR].pwm = slow+50;
yabahiro 54:4167f10ecad0 2063 motor[TIRE_FR].dir = BACK;
yabahiro 54:4167f10ecad0 2064 motor[TIRE_FL].pwm = 0;
yabahiro 54:4167f10ecad0 2065 motor[TIRE_FL].dir = FREE;
yabahiro 54:4167f10ecad0 2066 motor[TIRE_BR].pwm = 0;
yabahiro 54:4167f10ecad0 2067 motor[TIRE_BR].dir = FREE;
yabahiro 54:4167f10ecad0 2068 motor[TIRE_BL].pwm = slow+50;
yabahiro 54:4167f10ecad0 2069 motor[TIRE_BL].dir = FOR;
yabahiro 54:4167f10ecad0 2070 mtc=true;
yabahiro 53:694dbd7dfa0e 2071 break;
yabahiro 53:694dbd7dfa0e 2072 case 254:
yabahiro 54:4167f10ecad0 2073 motor[TIRE_FR].pwm = normal+50;
yabahiro 54:4167f10ecad0 2074 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 2075 motor[TIRE_FL].pwm = 0;
yabahiro 54:4167f10ecad0 2076 motor[TIRE_FL].dir = FREE;
yabahiro 54:4167f10ecad0 2077 motor[TIRE_BR].pwm = 0;
yabahiro 54:4167f10ecad0 2078 motor[TIRE_BR].dir = FREE;
yabahiro 54:4167f10ecad0 2079 motor[TIRE_BL].pwm = normal+50;
yabahiro 54:4167f10ecad0 2080 motor[TIRE_BL].dir = FOR;
yabahiro 54:4167f10ecad0 2081 mtc=true;
yabahiro 53:694dbd7dfa0e 2082 break;
yabahiro 53:694dbd7dfa0e 2083 case 1:
yabahiro 54:4167f10ecad0 2084 motor[TIRE_FR].pwm = slow+50;
yabahiro 54:4167f10ecad0 2085 motor[TIRE_FR].dir = BACK;
yabahiro 54:4167f10ecad0 2086 motor[TIRE_FL].pwm = fast+50;
yabahiro 54:4167f10ecad0 2087 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 2088 motor[TIRE_BR].pwm = fast+50;
yabahiro 54:4167f10ecad0 2089 motor[TIRE_BR].dir = BACK;
yabahiro 54:4167f10ecad0 2090 motor[TIRE_BL].pwm = slow+50;
yabahiro 54:4167f10ecad0 2091 motor[TIRE_BL].dir = FOR;
yabahiro 54:4167f10ecad0 2092 mtc=true;
yabahiro 53:694dbd7dfa0e 2093 break;
yabahiro 53:694dbd7dfa0e 2094 case 3:
yabahiro 54:4167f10ecad0 2095 motor[TIRE_FR].pwm = 0;
yabahiro 54:4167f10ecad0 2096 motor[TIRE_FR].dir = FREE;
yabahiro 54:4167f10ecad0 2097 motor[TIRE_FL].pwm = slow+50;
yabahiro 54:4167f10ecad0 2098 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 2099 motor[TIRE_BR].pwm = slow+50;
yabahiro 54:4167f10ecad0 2100 motor[TIRE_BR].dir = BACK;
yabahiro 54:4167f10ecad0 2101 motor[TIRE_BL].pwm = 0;
yabahiro 54:4167f10ecad0 2102 motor[TIRE_BL].dir = FREE;
yabahiro 54:4167f10ecad0 2103 mtc=true;
yabahiro 53:694dbd7dfa0e 2104 break;
yabahiro 53:694dbd7dfa0e 2105 case 2:
yabahiro 54:4167f10ecad0 2106 motor[TIRE_FR].pwm = 0;
yabahiro 54:4167f10ecad0 2107 motor[TIRE_FR].dir = FREE;
yabahiro 54:4167f10ecad0 2108 motor[TIRE_FL].pwm = normal+50;
yabahiro 54:4167f10ecad0 2109 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 2110 motor[TIRE_BR].pwm = normal+50;
yabahiro 54:4167f10ecad0 2111 motor[TIRE_BR].dir = BACK;
yabahiro 53:694dbd7dfa0e 2112 motor[TIRE_BL].pwm = 0;
yabahiro 54:4167f10ecad0 2113 motor[TIRE_BL].dir = FREE;
yabahiro 54:4167f10ecad0 2114 mtc=true;
yabahiro 53:694dbd7dfa0e 2115 break;
yabahiro 53:694dbd7dfa0e 2116 }
yabahiro 54:4167f10ecad0 2117 if(g[0]!=98&&mtc==true) {
yabahiro 54:4167f10ecad0 2118 switch(g[1]) {
yabahiro 54:4167f10ecad0 2119 case 0:
yabahiro 54:4167f10ecad0 2120 mtc=false;
yabahiro 54:4167f10ecad0 2121 break;
yabahiro 54:4167f10ecad0 2122 case 255:
yabahiro 54:4167f10ecad0 2123 motor[TIRE_BR].pwm += 3;
yabahiro 54:4167f10ecad0 2124 mtc=false;
yabahiro 54:4167f10ecad0 2125 break;
yabahiro 54:4167f10ecad0 2126 case 253:
yabahiro 54:4167f10ecad0 2127 motor[TIRE_BR].pwm += 6;
yabahiro 54:4167f10ecad0 2128 mtc=false;
yabahiro 54:4167f10ecad0 2129 break;
yabahiro 54:4167f10ecad0 2130 case 254:
yabahiro 54:4167f10ecad0 2131 motor[TIRE_BR].pwm += 9;
yabahiro 54:4167f10ecad0 2132 motor[TIRE_BL].pwm = 0;
yabahiro 54:4167f10ecad0 2133 mtc=false;
yabahiro 54:4167f10ecad0 2134 break;
yabahiro 54:4167f10ecad0 2135 case 1:
yabahiro 54:4167f10ecad0 2136 motor[TIRE_BL].pwm += 3;
yabahiro 54:4167f10ecad0 2137 mtc=false;
yabahiro 54:4167f10ecad0 2138 break;
yabahiro 54:4167f10ecad0 2139 case 3:
yabahiro 54:4167f10ecad0 2140 motor[TIRE_BL].pwm += 6;
yabahiro 54:4167f10ecad0 2141 mtc=false;
yabahiro 54:4167f10ecad0 2142 break;
yabahiro 54:4167f10ecad0 2143 case 2:
yabahiro 54:4167f10ecad0 2144 motor[TIRE_BL].pwm += 9;
yabahiro 54:4167f10ecad0 2145 motor[TIRE_BR].pwm = 0;
yabahiro 54:4167f10ecad0 2146 mtc=false;
yabahiro 54:4167f10ecad0 2147 break;
yabahiro 54:4167f10ecad0 2148 }
yabahiro 54:4167f10ecad0 2149 }
yabahiro 54:4167f10ecad0 2150 break;
yabahiro 54:4167f10ecad0 2151 case 11:
yabahiro 54:4167f10ecad0 2152 motor[TIRE_FR].pwm = 15;
yabahiro 54:4167f10ecad0 2153 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2154 motor[TIRE_FL].pwm = normal;
yabahiro 54:4167f10ecad0 2155 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 2156 motor[TIRE_BR].pwm = normal;
yabahiro 54:4167f10ecad0 2157 motor[TIRE_BR].dir = BACK;
yabahiro 54:4167f10ecad0 2158 motor[TIRE_BL].pwm = 15;
yabahiro 54:4167f10ecad0 2159 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2160 if(g[2]==0 || g[2]==255 || g[2]==254 || g[2]==253) {
yabahiro 53:694dbd7dfa0e 2161 countss=0;
yabahiro 54:4167f10ecad0 2162 cross=0;
yabahiro 54:4167f10ecad0 2163 mode=20;
yabahiro 53:694dbd7dfa0e 2164 }
yabahiro 54:4167f10ecad0 2165 break;
yabahiro 54:4167f10ecad0 2166 case 20:
yabahiro 54:4167f10ecad0 2167 solenoid.solenoid4= SOLENOID_ON;
yabahiro 53:694dbd7dfa0e 2168 switch(g[2]) {
yabahiro 54:4167f10ecad0 2169 case 98:
yabahiro 54:4167f10ecad0 2170 motor[TIRE_FR].pwm = normal+20;
yabahiro 54:4167f10ecad0 2171 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2172 motor[TIRE_FL].pwm = normal+20;
yabahiro 54:4167f10ecad0 2173 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 2174 motor[TIRE_BR].pwm = normal+20;
yabahiro 54:4167f10ecad0 2175 motor[TIRE_BR].dir = BACK;
yabahiro 54:4167f10ecad0 2176 motor[TIRE_BL].pwm = normal+20;
yabahiro 54:4167f10ecad0 2177 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2178 if(countss>30000) {
yabahiro 54:4167f10ecad0 2179 cross++;
yabahiro 54:4167f10ecad0 2180 countss=0;
yabahiro 54:4167f10ecad0 2181 }
yabahiro 54:4167f10ecad0 2182 mtc2=true;
yabahiro 54:4167f10ecad0 2183
yabahiro 54:4167f10ecad0 2184 if(YELLOW) {
yabahiro 54:4167f10ecad0 2185 if(cross==1) {
yabahiro 54:4167f10ecad0 2186 fast=20;
yabahiro 54:4167f10ecad0 2187 normal=15;
yabahiro 54:4167f10ecad0 2188 slow=15;
yabahiro 54:4167f10ecad0 2189 } else if(cross==2) {
yabahiro 54:4167f10ecad0 2190 mode=21;
yabahiro 54:4167f10ecad0 2191 countss=0;
yabahiro 54:4167f10ecad0 2192 cross=0;
yabahiro 54:4167f10ecad0 2193 }
yabahiro 54:4167f10ecad0 2194 } else {
yabahiro 54:4167f10ecad0 2195 if(cross==3) {
yabahiro 54:4167f10ecad0 2196 mode=21;
yabahiro 54:4167f10ecad0 2197 countss=0;
yabahiro 54:4167f10ecad0 2198 cross=0;
yabahiro 54:4167f10ecad0 2199 }
yabahiro 54:4167f10ecad0 2200 }
yabahiro 54:4167f10ecad0 2201 break;
yabahiro 53:694dbd7dfa0e 2202 case 0:
yabahiro 54:4167f10ecad0 2203 motor[TIRE_FR].pwm = fast+20;
yabahiro 54:4167f10ecad0 2204 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2205 motor[TIRE_FL].pwm = fast+20;
yabahiro 54:4167f10ecad0 2206 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 2207 motor[TIRE_BR].pwm = fast+20;
yabahiro 54:4167f10ecad0 2208 motor[TIRE_BR].dir = BACK;
yabahiro 54:4167f10ecad0 2209 motor[TIRE_BL].pwm = fast+20;
yabahiro 54:4167f10ecad0 2210 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2211 mtc2=true;
yabahiro 53:694dbd7dfa0e 2212 break;
yabahiro 53:694dbd7dfa0e 2213 case 255:
yabahiro 54:4167f10ecad0 2214 motor[TIRE_FR].pwm = normal+20;
yabahiro 54:4167f10ecad0 2215 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2216 motor[TIRE_FL].pwm = fast+20;
yabahiro 54:4167f10ecad0 2217 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 2218 motor[TIRE_BR].pwm = fast+20;
yabahiro 54:4167f10ecad0 2219 motor[TIRE_BR].dir = BACK;
yabahiro 54:4167f10ecad0 2220 motor[TIRE_BL].pwm = normal+20;
yabahiro 54:4167f10ecad0 2221 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2222 mtc2=true;
yabahiro 38:40e7fdf3c694 2223 break;
yabahiro 38:40e7fdf3c694 2224 case 253:
yabahiro 54:4167f10ecad0 2225 motor[TIRE_FR].pwm = 0;
yabahiro 54:4167f10ecad0 2226 motor[TIRE_FR].dir = FREE;
yabahiro 54:4167f10ecad0 2227 motor[TIRE_FL].pwm = slow+20;
yabahiro 54:4167f10ecad0 2228 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 2229 motor[TIRE_BR].pwm = slow+20;
yabahiro 54:4167f10ecad0 2230 motor[TIRE_BR].dir = BACK;
yabahiro 54:4167f10ecad0 2231 motor[TIRE_BL].pwm = 0;
yabahiro 54:4167f10ecad0 2232 motor[TIRE_BL].dir = FREE;
yabahiro 54:4167f10ecad0 2233 mtc2=true;
yabahiro 38:40e7fdf3c694 2234 break;
yabahiro 38:40e7fdf3c694 2235 case 254:
yabahiro 54:4167f10ecad0 2236 motor[TIRE_FR].pwm = 0;
yabahiro 54:4167f10ecad0 2237 motor[TIRE_FR].dir = FREE;
yabahiro 54:4167f10ecad0 2238 motor[TIRE_FL].pwm = normal+20;
yabahiro 54:4167f10ecad0 2239 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 2240 motor[TIRE_BR].pwm = normal+20;
yabahiro 53:694dbd7dfa0e 2241 motor[TIRE_BR].dir = BACK;
yabahiro 54:4167f10ecad0 2242 motor[TIRE_BL].pwm = 0;
yabahiro 54:4167f10ecad0 2243 motor[TIRE_BL].dir = FREE;
yabahiro 54:4167f10ecad0 2244 mtc2=true;
yabahiro 53:694dbd7dfa0e 2245 break;
yabahiro 53:694dbd7dfa0e 2246 case 1:
yabahiro 54:4167f10ecad0 2247 motor[TIRE_FR].pwm = fast+20;
yabahiro 54:4167f10ecad0 2248 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2249 motor[TIRE_FL].pwm = slow+20;
yabahiro 54:4167f10ecad0 2250 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 2251 motor[TIRE_BR].pwm = slow+20;
yabahiro 54:4167f10ecad0 2252 motor[TIRE_BR].dir = BACK;
yabahiro 54:4167f10ecad0 2253 motor[TIRE_BL].pwm = fast+20;
yabahiro 54:4167f10ecad0 2254 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2255 mtc2=true;
yabahiro 53:694dbd7dfa0e 2256 break;
yabahiro 53:694dbd7dfa0e 2257 case 3:
yabahiro 54:4167f10ecad0 2258 motor[TIRE_FR].pwm = slow+20;
yabahiro 54:4167f10ecad0 2259 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2260 motor[TIRE_FL].pwm = 0;
yabahiro 54:4167f10ecad0 2261 motor[TIRE_FL].dir = FREE;
yabahiro 54:4167f10ecad0 2262 motor[TIRE_BR].pwm = 0;
yabahiro 54:4167f10ecad0 2263 motor[TIRE_BR].dir = FREE;
yabahiro 54:4167f10ecad0 2264 motor[TIRE_BL].pwm = slow+20;
yabahiro 54:4167f10ecad0 2265 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2266 mtc2=true;
yabahiro 53:694dbd7dfa0e 2267 break;
yabahiro 53:694dbd7dfa0e 2268 case 2:
yabahiro 54:4167f10ecad0 2269 motor[TIRE_FR].pwm = normal+20;
yabahiro 53:694dbd7dfa0e 2270 motor[TIRE_FR].dir = FOR;
yabahiro 38:40e7fdf3c694 2271 motor[TIRE_FL].pwm = 0;
yabahiro 38:40e7fdf3c694 2272 motor[TIRE_FL].dir = FREE;
yabahiro 38:40e7fdf3c694 2273 motor[TIRE_BR].pwm = 0;
yabahiro 38:40e7fdf3c694 2274 motor[TIRE_BR].dir = FREE;
yabahiro 54:4167f10ecad0 2275 motor[TIRE_BL].pwm = normal+20;
yabahiro 38:40e7fdf3c694 2276 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2277 mtc2=true;
yabahiro 38:40e7fdf3c694 2278 break;
yabahiro 33:dd598bb23ad1 2279 }
yabahiro 54:4167f10ecad0 2280 if(g[2]!=98&&mtc2==true) {
yabahiro 54:4167f10ecad0 2281 switch(g[3]) {
yabahiro 54:4167f10ecad0 2282 case 0:
yabahiro 54:4167f10ecad0 2283 mtc2=false;
yabahiro 54:4167f10ecad0 2284 break;
yabahiro 54:4167f10ecad0 2285 case 255:
yabahiro 54:4167f10ecad0 2286 motor[TIRE_BL].pwm += 5;
yabahiro 54:4167f10ecad0 2287 mtc2=false;
yabahiro 54:4167f10ecad0 2288 break;
yabahiro 54:4167f10ecad0 2289 case 253:
yabahiro 54:4167f10ecad0 2290 motor[TIRE_BL].pwm += 10;
yabahiro 54:4167f10ecad0 2291 mtc2=false;
yabahiro 54:4167f10ecad0 2292 break;
yabahiro 54:4167f10ecad0 2293 case 254:
yabahiro 54:4167f10ecad0 2294 motor[TIRE_BL].pwm += 15;
yabahiro 54:4167f10ecad0 2295 motor[TIRE_FL].pwm = 0;
yabahiro 54:4167f10ecad0 2296 mtc2=false;
yabahiro 54:4167f10ecad0 2297 break;
yabahiro 54:4167f10ecad0 2298 case 1:
yabahiro 54:4167f10ecad0 2299 motor[TIRE_FL].pwm += 5;
yabahiro 54:4167f10ecad0 2300 mtc2=false;
yabahiro 54:4167f10ecad0 2301 break;
yabahiro 54:4167f10ecad0 2302 case 3:
yabahiro 54:4167f10ecad0 2303 motor[TIRE_FL].pwm += 10;
yabahiro 54:4167f10ecad0 2304 mtc2=false;
yabahiro 54:4167f10ecad0 2305 break;
yabahiro 54:4167f10ecad0 2306 case 2:
yabahiro 54:4167f10ecad0 2307 motor[TIRE_FL].pwm += 15;
yabahiro 54:4167f10ecad0 2308 motor[TIRE_BL].pwm = 0;
yabahiro 54:4167f10ecad0 2309 mtc2=false;
yabahiro 54:4167f10ecad0 2310 break;
yabahiro 54:4167f10ecad0 2311 }
yabahiro 38:40e7fdf3c694 2312 }
yabahiro 54:4167f10ecad0 2313 break;
yabahiro 54:4167f10ecad0 2314 case 21:
yabahiro 54:4167f10ecad0 2315 if(YELLOW) {
yabahiro 54:4167f10ecad0 2316 motor[TIRE_FR].pwm = 20;
yabahiro 54:4167f10ecad0 2317 motor[TIRE_FR].dir = BACK;
yabahiro 54:4167f10ecad0 2318 motor[TIRE_FL].pwm = 20;
yabahiro 54:4167f10ecad0 2319 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2320 motor[TIRE_BR].pwm = 20;
yabahiro 54:4167f10ecad0 2321 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2322 motor[TIRE_BL].pwm = 20;
yabahiro 54:4167f10ecad0 2323 motor[TIRE_BL].dir = FOR;
yabahiro 54:4167f10ecad0 2324 if(g[3]==98&&countss>=10000) {
yabahiro 54:4167f10ecad0 2325 mode=22;
yabahiro 54:4167f10ecad0 2326 countss=0;
yabahiro 54:4167f10ecad0 2327 fast=60;
yabahiro 54:4167f10ecad0 2328 normal=40;
yabahiro 54:4167f10ecad0 2329 slow=20;
yabahiro 54:4167f10ecad0 2330 }
yabahiro 54:4167f10ecad0 2331 } else {
yabahiro 38:40e7fdf3c694 2332 motor[TIRE_FR].pwm = 30;
yabahiro 38:40e7fdf3c694 2333 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2334 motor[TIRE_FL].pwm = 255;
yabahiro 54:4167f10ecad0 2335 motor[TIRE_FL].dir = BRAKE;
yabahiro 54:4167f10ecad0 2336 motor[TIRE_BR].pwm = 255;
yabahiro 54:4167f10ecad0 2337 motor[TIRE_BR].dir = BRAKE;
yabahiro 38:40e7fdf3c694 2338 motor[TIRE_BL].pwm = 30;
yabahiro 38:40e7fdf3c694 2339 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2340 if(g[1]==0) {
yabahiro 54:4167f10ecad0 2341 mode=22;
yabahiro 54:4167f10ecad0 2342 fast=60;
yabahiro 54:4167f10ecad0 2343 normal=40;
yabahiro 54:4167f10ecad0 2344 slow=25;
yabahiro 54:4167f10ecad0 2345 }
yabahiro 38:40e7fdf3c694 2346 }
yabahiro 54:4167f10ecad0 2347 break;
yabahiro 54:4167f10ecad0 2348 case 22:
yabahiro 54:4167f10ecad0 2349 if(YELLOW) {
yabahiro 54:4167f10ecad0 2350 if(g[4]==3||g[4]==2) {
yabahiro 38:40e7fdf3c694 2351 motor[TIRE_FR].pwm = 30;
yabahiro 38:40e7fdf3c694 2352 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2353 motor[TIRE_FL].pwm = 30;
yabahiro 54:4167f10ecad0 2354 motor[TIRE_FL].dir = FOR;
yabahiro 38:40e7fdf3c694 2355 motor[TIRE_BR].pwm = 30;
yabahiro 54:4167f10ecad0 2356 motor[TIRE_BR].dir = BACK;
yabahiro 38:40e7fdf3c694 2357 motor[TIRE_BL].pwm = 30;
yabahiro 38:40e7fdf3c694 2358 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2359 }
yabahiro 54:4167f10ecad0 2360 if(g[4]==253||g[4]==254) {
yabahiro 54:4167f10ecad0 2361 motor[TIRE_FR].pwm = 30;
yabahiro 54:4167f10ecad0 2362 motor[TIRE_FR].dir = BACK;
yabahiro 38:40e7fdf3c694 2363 motor[TIRE_FL].pwm = 30;
yabahiro 38:40e7fdf3c694 2364 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2365 motor[TIRE_BR].pwm = 30;
yabahiro 54:4167f10ecad0 2366 motor[TIRE_BR].dir = FOR;
yabahiro 53:694dbd7dfa0e 2367 motor[TIRE_BL].pwm = 30;
yabahiro 54:4167f10ecad0 2368 motor[TIRE_BL].dir = FOR;
yabahiro 54:4167f10ecad0 2369 }
yabahiro 54:4167f10ecad0 2370 switch(g[2]) {
yabahiro 54:4167f10ecad0 2371 case 0:
yabahiro 54:4167f10ecad0 2372 motor[TIRE_FR].pwm = 20;
yabahiro 54:4167f10ecad0 2373 motor[TIRE_FR].dir = FREE;
yabahiro 54:4167f10ecad0 2374 motor[TIRE_BR].pwm = 20;
yabahiro 54:4167f10ecad0 2375 motor[TIRE_BR].dir = FREE;
yabahiro 54:4167f10ecad0 2376 break;
yabahiro 54:4167f10ecad0 2377 case 255:
yabahiro 54:4167f10ecad0 2378 motor[TIRE_FR].pwm = 30;
yabahiro 54:4167f10ecad0 2379 motor[TIRE_FR].dir = BACK;
yabahiro 54:4167f10ecad0 2380 motor[TIRE_BR].pwm = 20;
yabahiro 54:4167f10ecad0 2381 motor[TIRE_BR].dir = FREE;
yabahiro 54:4167f10ecad0 2382 break;
yabahiro 54:4167f10ecad0 2383 case 253:
yabahiro 54:4167f10ecad0 2384 motor[TIRE_FR].pwm = 40;
yabahiro 54:4167f10ecad0 2385 motor[TIRE_FR].dir = BACK;
yabahiro 54:4167f10ecad0 2386 motor[TIRE_BR].pwm = 20;
yabahiro 54:4167f10ecad0 2387 motor[TIRE_BR].dir = FREE;
yabahiro 54:4167f10ecad0 2388 break;
yabahiro 54:4167f10ecad0 2389 case 254:
yabahiro 54:4167f10ecad0 2390 motor[TIRE_FR].pwm = 30;
yabahiro 54:4167f10ecad0 2391 motor[TIRE_FR].dir = BACK;
yabahiro 54:4167f10ecad0 2392 motor[TIRE_BR].pwm = 30;
yabahiro 54:4167f10ecad0 2393 motor[TIRE_BR].dir = BACK;
yabahiro 54:4167f10ecad0 2394 break;
yabahiro 54:4167f10ecad0 2395 case 1:
yabahiro 54:4167f10ecad0 2396 motor[TIRE_FR].pwm = 20;
yabahiro 54:4167f10ecad0 2397 motor[TIRE_FR].dir = FREE;
yabahiro 54:4167f10ecad0 2398 motor[TIRE_BR].pwm = 30;
yabahiro 54:4167f10ecad0 2399 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2400 break;
yabahiro 54:4167f10ecad0 2401 case 3:
yabahiro 54:4167f10ecad0 2402 motor[TIRE_FR].pwm = 20;
yabahiro 54:4167f10ecad0 2403 motor[TIRE_FR].dir = FREE;
yabahiro 54:4167f10ecad0 2404 motor[TIRE_BR].pwm = 40;
yabahiro 54:4167f10ecad0 2405 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2406 break;
yabahiro 54:4167f10ecad0 2407 case 2:
yabahiro 54:4167f10ecad0 2408 motor[TIRE_FR].pwm = 30;
yabahiro 54:4167f10ecad0 2409 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2410 motor[TIRE_BR].pwm = 30;
yabahiro 54:4167f10ecad0 2411 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2412 break;
yabahiro 54:4167f10ecad0 2413 }
yabahiro 54:4167f10ecad0 2414 switch(g[3]) {
yabahiro 54:4167f10ecad0 2415 case 0:
yabahiro 54:4167f10ecad0 2416 motor[TIRE_FL].pwm = 20;
yabahiro 54:4167f10ecad0 2417 motor[TIRE_FL].dir = FREE;
yabahiro 54:4167f10ecad0 2418 motor[TIRE_BL].pwm = 20;
yabahiro 54:4167f10ecad0 2419 motor[TIRE_BL].dir = FREE;
yabahiro 54:4167f10ecad0 2420 break;
yabahiro 54:4167f10ecad0 2421 case 255:
yabahiro 54:4167f10ecad0 2422 motor[TIRE_FL].pwm = 20;
yabahiro 54:4167f10ecad0 2423 motor[TIRE_FL].dir = FREE;
yabahiro 54:4167f10ecad0 2424 motor[TIRE_BL].pwm = 30;
yabahiro 54:4167f10ecad0 2425 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2426 case 253:
yabahiro 54:4167f10ecad0 2427 motor[TIRE_FL].pwm = 20;
yabahiro 54:4167f10ecad0 2428 motor[TIRE_FL].dir = FREE;
yabahiro 54:4167f10ecad0 2429 motor[TIRE_BL].pwm = 40;
yabahiro 54:4167f10ecad0 2430 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2431 break;
yabahiro 54:4167f10ecad0 2432 case 254:
yabahiro 54:4167f10ecad0 2433 motor[TIRE_FL].pwm = 30;
yabahiro 54:4167f10ecad0 2434 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2435 motor[TIRE_BL].pwm = 30;
yabahiro 54:4167f10ecad0 2436 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2437 break;
yabahiro 54:4167f10ecad0 2438 case 1:
yabahiro 54:4167f10ecad0 2439 motor[TIRE_FL].pwm = 30;
yabahiro 54:4167f10ecad0 2440 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 2441 motor[TIRE_BL].pwm = 20;
yabahiro 54:4167f10ecad0 2442 motor[TIRE_BL].dir = FREE;
yabahiro 54:4167f10ecad0 2443 break;
yabahiro 54:4167f10ecad0 2444 case 3:
yabahiro 54:4167f10ecad0 2445 motor[TIRE_FL].pwm = 40;
yabahiro 54:4167f10ecad0 2446 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 2447 motor[TIRE_BL].pwm = 20;
yabahiro 54:4167f10ecad0 2448 motor[TIRE_BL].dir = FREE;
yabahiro 54:4167f10ecad0 2449 break;
yabahiro 54:4167f10ecad0 2450 case 2:
yabahiro 54:4167f10ecad0 2451 motor[TIRE_FL].pwm = 30;
yabahiro 54:4167f10ecad0 2452 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 2453 motor[TIRE_BL].pwm = 30;
yabahiro 54:4167f10ecad0 2454 motor[TIRE_BL].dir = FOR;
yabahiro 54:4167f10ecad0 2455 break;
yabahiro 54:4167f10ecad0 2456 }
yabahiro 54:4167f10ecad0 2457 if(g[3]==0&&g[2]==0) {
yabahiro 54:4167f10ecad0 2458 mode=23;
yabahiro 54:4167f10ecad0 2459 countss=0;
yabahiro 54:4167f10ecad0 2460 fast = 80;
yabahiro 54:4167f10ecad0 2461 normal = 60;
yabahiro 54:4167f10ecad0 2462 slow = 30;
yabahiro 54:4167f10ecad0 2463 }
yabahiro 54:4167f10ecad0 2464 } else {
yabahiro 54:4167f10ecad0 2465 if(g[1]==98) {
yabahiro 54:4167f10ecad0 2466 slow=25;
yabahiro 54:4167f10ecad0 2467 normal=30;
yabahiro 54:4167f10ecad0 2468 fast=40;
yabahiro 54:4167f10ecad0 2469 }
yabahiro 54:4167f10ecad0 2470 if(g[3]==0) {
yabahiro 54:4167f10ecad0 2471 slow=25;
yabahiro 54:4167f10ecad0 2472 normal=40;
yabahiro 54:4167f10ecad0 2473 fast=60;
yabahiro 54:4167f10ecad0 2474 mode=23;
yabahiro 54:4167f10ecad0 2475 }
yabahiro 54:4167f10ecad0 2476 switch(g[1]) {
yabahiro 54:4167f10ecad0 2477 case 98:
yabahiro 54:4167f10ecad0 2478 solenoid.solenoid4 = SOLENOID_OFF;
yabahiro 54:4167f10ecad0 2479 fast=40;
yabahiro 54:4167f10ecad0 2480 normal=30;
yabahiro 54:4167f10ecad0 2481 slow=25;
yabahiro 54:4167f10ecad0 2482 motor[TIRE_FR].pwm = normal;
yabahiro 54:4167f10ecad0 2483 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2484 motor[TIRE_FL].pwm = normal;
yabahiro 54:4167f10ecad0 2485 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2486 motor[TIRE_BR].pwm = normal;
yabahiro 54:4167f10ecad0 2487 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2488 motor[TIRE_BL].pwm = normal;
yabahiro 54:4167f10ecad0 2489 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2490 break;
yabahiro 54:4167f10ecad0 2491 case 0:
yabahiro 54:4167f10ecad0 2492 motor[TIRE_FR].pwm = fast;
yabahiro 54:4167f10ecad0 2493 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2494 motor[TIRE_FL].pwm = fast;
yabahiro 54:4167f10ecad0 2495 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2496 motor[TIRE_BR].pwm = fast;
yabahiro 54:4167f10ecad0 2497 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2498 motor[TIRE_BL].pwm = fast;
yabahiro 54:4167f10ecad0 2499 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2500 mtc=true;
yabahiro 54:4167f10ecad0 2501 break;
yabahiro 54:4167f10ecad0 2502 case 255:
yabahiro 54:4167f10ecad0 2503 motor[TIRE_FR].pwm = fast;
yabahiro 54:4167f10ecad0 2504 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2505 motor[TIRE_FL].pwm = slow;
yabahiro 54:4167f10ecad0 2506 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2507 motor[TIRE_BR].pwm = slow;
yabahiro 54:4167f10ecad0 2508 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2509 motor[TIRE_BL].pwm = fast;
yabahiro 54:4167f10ecad0 2510 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2511 mtc=true;
yabahiro 54:4167f10ecad0 2512 break;
yabahiro 54:4167f10ecad0 2513 case 253:
yabahiro 54:4167f10ecad0 2514 motor[TIRE_FR].pwm = slow;
yabahiro 54:4167f10ecad0 2515 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2516 motor[TIRE_FL].pwm = 0;
yabahiro 54:4167f10ecad0 2517 motor[TIRE_FL].dir = FREE;
yabahiro 54:4167f10ecad0 2518 motor[TIRE_BR].pwm = 0;
yabahiro 54:4167f10ecad0 2519 motor[TIRE_BR].dir = FREE;
yabahiro 54:4167f10ecad0 2520 motor[TIRE_BL].pwm = slow;
yabahiro 54:4167f10ecad0 2521 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2522 mtc=true;
yabahiro 54:4167f10ecad0 2523 break;
yabahiro 54:4167f10ecad0 2524 case 254:
yabahiro 54:4167f10ecad0 2525 motor[TIRE_FR].pwm = normal;
yabahiro 54:4167f10ecad0 2526 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2527 motor[TIRE_FL].pwm = 0;
yabahiro 54:4167f10ecad0 2528 motor[TIRE_FL].dir = FREE;
yabahiro 54:4167f10ecad0 2529 motor[TIRE_BR].pwm = 0;
yabahiro 54:4167f10ecad0 2530 motor[TIRE_BR].dir = FREE;
yabahiro 54:4167f10ecad0 2531 motor[TIRE_BL].pwm = normal;
yabahiro 54:4167f10ecad0 2532 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2533 mtc=true;
yabahiro 54:4167f10ecad0 2534 break;
yabahiro 54:4167f10ecad0 2535 case 1:
yabahiro 54:4167f10ecad0 2536 motor[TIRE_FR].pwm = slow;
yabahiro 54:4167f10ecad0 2537 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2538 motor[TIRE_FL].pwm = fast;
yabahiro 54:4167f10ecad0 2539 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2540 motor[TIRE_BR].pwm = fast;
yabahiro 54:4167f10ecad0 2541 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2542 motor[TIRE_BL].pwm = slow;
yabahiro 54:4167f10ecad0 2543 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2544 mtc=true;
yabahiro 54:4167f10ecad0 2545 break;
yabahiro 54:4167f10ecad0 2546 case 3:
yabahiro 54:4167f10ecad0 2547 motor[TIRE_FR].pwm = 0;
yabahiro 54:4167f10ecad0 2548 motor[TIRE_FR].dir = FREE;
yabahiro 54:4167f10ecad0 2549 motor[TIRE_FL].pwm = slow;
yabahiro 54:4167f10ecad0 2550 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2551 motor[TIRE_BR].pwm = slow;
yabahiro 54:4167f10ecad0 2552 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2553 motor[TIRE_BL].pwm = 0;
yabahiro 54:4167f10ecad0 2554 motor[TIRE_BL].dir = FREE;
yabahiro 54:4167f10ecad0 2555 mtc=true;
yabahiro 54:4167f10ecad0 2556 break;
yabahiro 54:4167f10ecad0 2557 case 2:
yabahiro 54:4167f10ecad0 2558 motor[TIRE_FR].pwm = 0;
yabahiro 54:4167f10ecad0 2559 motor[TIRE_FR].dir = FREE;
yabahiro 54:4167f10ecad0 2560 motor[TIRE_FL].pwm = normal;
yabahiro 54:4167f10ecad0 2561 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2562 motor[TIRE_BR].pwm = normal;
yabahiro 54:4167f10ecad0 2563 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2564 motor[TIRE_BL].pwm = 0;
yabahiro 54:4167f10ecad0 2565 motor[TIRE_BL].dir = FREE;
yabahiro 54:4167f10ecad0 2566 mtc=true;
yabahiro 54:4167f10ecad0 2567 break;
yabahiro 54:4167f10ecad0 2568 }
yabahiro 54:4167f10ecad0 2569 if(g[1]!=98&&mtc==true) {
yabahiro 54:4167f10ecad0 2570 switch(g[0]) {
yabahiro 54:4167f10ecad0 2571 case 0:
yabahiro 54:4167f10ecad0 2572 mtc=false;
yabahiro 54:4167f10ecad0 2573 break;
yabahiro 54:4167f10ecad0 2574 case 255:
yabahiro 54:4167f10ecad0 2575 motor[TIRE_FL].pwm += 3;
yabahiro 54:4167f10ecad0 2576 mtc=false;
yabahiro 54:4167f10ecad0 2577 break;
yabahiro 54:4167f10ecad0 2578 case 253:
yabahiro 54:4167f10ecad0 2579 motor[TIRE_FL].pwm += 6;
yabahiro 54:4167f10ecad0 2580 mtc=false;
yabahiro 54:4167f10ecad0 2581 break;
yabahiro 54:4167f10ecad0 2582 case 254:
yabahiro 54:4167f10ecad0 2583 motor[TIRE_FL].pwm += 9;
yabahiro 54:4167f10ecad0 2584 motor[TIRE_FR].pwm = 0;
yabahiro 54:4167f10ecad0 2585 mtc=false;
yabahiro 54:4167f10ecad0 2586 break;
yabahiro 54:4167f10ecad0 2587 case 1:
yabahiro 54:4167f10ecad0 2588 motor[TIRE_FR].pwm += 3;
yabahiro 54:4167f10ecad0 2589 mtc=false;
yabahiro 54:4167f10ecad0 2590 break;
yabahiro 54:4167f10ecad0 2591 case 3:
yabahiro 54:4167f10ecad0 2592 motor[TIRE_FR].pwm += 6;
yabahiro 54:4167f10ecad0 2593 mtc=false;
yabahiro 54:4167f10ecad0 2594 break;
yabahiro 54:4167f10ecad0 2595 case 2:
yabahiro 54:4167f10ecad0 2596 motor[TIRE_FR].pwm += 9;
yabahiro 54:4167f10ecad0 2597 motor[TIRE_FL].pwm = 0;
yabahiro 54:4167f10ecad0 2598 mtc=false;
yabahiro 54:4167f10ecad0 2599 break;
yabahiro 54:4167f10ecad0 2600 }
yabahiro 54:4167f10ecad0 2601 }
yabahiro 54:4167f10ecad0 2602 }
yabahiro 54:4167f10ecad0 2603 break;
yabahiro 54:4167f10ecad0 2604 case 23:
yabahiro 54:4167f10ecad0 2605 if(YELLOW) {
yabahiro 54:4167f10ecad0 2606 switch(g[4]) {
yabahiro 54:4167f10ecad0 2607 case 98:
yabahiro 54:4167f10ecad0 2608 motor[TIRE_FR].pwm = fast-5;
yabahiro 54:4167f10ecad0 2609 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2610 motor[TIRE_FL].pwm = fast-5;
yabahiro 54:4167f10ecad0 2611 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2612 motor[TIRE_BR].pwm = fast-5;
yabahiro 54:4167f10ecad0 2613 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2614 motor[TIRE_BL].pwm = fast-5;
yabahiro 54:4167f10ecad0 2615 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2616 break;
yabahiro 54:4167f10ecad0 2617 case 99:
yabahiro 54:4167f10ecad0 2618 motor[TIRE_FR].pwm = 0;
yabahiro 54:4167f10ecad0 2619 motor[TIRE_FR].dir = FREE;
yabahiro 54:4167f10ecad0 2620 motor[TIRE_FL].pwm = 0;
yabahiro 54:4167f10ecad0 2621 motor[TIRE_FL].dir = FREE;
yabahiro 54:4167f10ecad0 2622 motor[TIRE_BR].pwm = 0;
yabahiro 54:4167f10ecad0 2623 motor[TIRE_BR].dir = FREE;
yabahiro 54:4167f10ecad0 2624 motor[TIRE_BL].pwm = 0;
yabahiro 54:4167f10ecad0 2625 motor[TIRE_BL].dir = FREE;
yabahiro 54:4167f10ecad0 2626 break;
yabahiro 54:4167f10ecad0 2627 case 0:
yabahiro 54:4167f10ecad0 2628 motor[TIRE_FR].pwm = fast-5;
yabahiro 54:4167f10ecad0 2629 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2630 motor[TIRE_FL].pwm = fast-5;
yabahiro 54:4167f10ecad0 2631 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2632 motor[TIRE_BR].pwm = fast-5;
yabahiro 54:4167f10ecad0 2633 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2634 motor[TIRE_BL].pwm = fast-5;
yabahiro 54:4167f10ecad0 2635 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2636 break;
yabahiro 54:4167f10ecad0 2637 case 255:
yabahiro 54:4167f10ecad0 2638 motor[TIRE_FR].pwm = 0;
yabahiro 54:4167f10ecad0 2639 motor[TIRE_FR].dir = FREE;
yabahiro 54:4167f10ecad0 2640 motor[TIRE_FL].pwm = 0;
yabahiro 54:4167f10ecad0 2641 motor[TIRE_FL].dir = FREE;
yabahiro 54:4167f10ecad0 2642 motor[TIRE_BR].pwm = 0;
yabahiro 54:4167f10ecad0 2643 motor[TIRE_BR].dir = FREE;
yabahiro 54:4167f10ecad0 2644 motor[TIRE_BL].pwm = 0;
yabahiro 54:4167f10ecad0 2645 motor[TIRE_BL].dir = FREE;
yabahiro 54:4167f10ecad0 2646 break;
yabahiro 54:4167f10ecad0 2647 case 253:
yabahiro 54:4167f10ecad0 2648 motor[TIRE_FR].pwm = slow+5;
yabahiro 54:4167f10ecad0 2649 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2650 motor[TIRE_FL].pwm = fast-5;
yabahiro 54:4167f10ecad0 2651 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2652 motor[TIRE_BR].pwm = fast-5;
yabahiro 54:4167f10ecad0 2653 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2654 motor[TIRE_BL].pwm = slow+5;
yabahiro 54:4167f10ecad0 2655 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2656 break;
yabahiro 54:4167f10ecad0 2657 case 254:
yabahiro 54:4167f10ecad0 2658 motor[TIRE_FR].pwm = normal+5;
yabahiro 54:4167f10ecad0 2659 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2660 motor[TIRE_FL].pwm = fast-5;
yabahiro 54:4167f10ecad0 2661 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2662 motor[TIRE_BR].pwm = fast-5;
yabahiro 54:4167f10ecad0 2663 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2664 motor[TIRE_BL].pwm = normal+5;
yabahiro 54:4167f10ecad0 2665 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2666 break;
yabahiro 54:4167f10ecad0 2667 case 1:
yabahiro 54:4167f10ecad0 2668 motor[TIRE_FR].pwm = 0;
yabahiro 54:4167f10ecad0 2669 motor[TIRE_FR].dir = FREE;
yabahiro 54:4167f10ecad0 2670 motor[TIRE_FL].pwm = 0;
yabahiro 54:4167f10ecad0 2671 motor[TIRE_FL].dir = FREE;
yabahiro 54:4167f10ecad0 2672 motor[TIRE_BR].pwm = 0;
yabahiro 54:4167f10ecad0 2673 motor[TIRE_BR].dir = FREE;
yabahiro 54:4167f10ecad0 2674 motor[TIRE_BL].pwm = 0;
yabahiro 54:4167f10ecad0 2675 motor[TIRE_BL].dir = FREE;
yabahiro 54:4167f10ecad0 2676 break;
yabahiro 54:4167f10ecad0 2677 case 3:
yabahiro 54:4167f10ecad0 2678 motor[TIRE_FR].pwm = fast-5;
yabahiro 54:4167f10ecad0 2679 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2680 motor[TIRE_FL].pwm = slow+5;
yabahiro 54:4167f10ecad0 2681 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2682 motor[TIRE_BR].pwm = slow+5;
yabahiro 54:4167f10ecad0 2683 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2684 motor[TIRE_BL].pwm = fast-5;
yabahiro 54:4167f10ecad0 2685 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2686 break;
yabahiro 54:4167f10ecad0 2687 case 2:
yabahiro 54:4167f10ecad0 2688 motor[TIRE_FR].pwm = fast-5;
yabahiro 54:4167f10ecad0 2689 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2690 motor[TIRE_FL].pwm = normal+5;
yabahiro 54:4167f10ecad0 2691 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2692 motor[TIRE_BR].pwm = normal+5;
yabahiro 54:4167f10ecad0 2693 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2694 motor[TIRE_BL].pwm = fast-5;
yabahiro 54:4167f10ecad0 2695 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2696 break;
yabahiro 54:4167f10ecad0 2697 }
yabahiro 54:4167f10ecad0 2698 if(g[1]==98) {
yabahiro 54:4167f10ecad0 2699 fast=20;
yabahiro 54:4167f10ecad0 2700 normal=15;
yabahiro 54:4167f10ecad0 2701 slow=10;
yabahiro 54:4167f10ecad0 2702 }
yabahiro 54:4167f10ecad0 2703 if(g[3]==254&&countss>=100000) {
yabahiro 54:4167f10ecad0 2704 mode=24;
yabahiro 54:4167f10ecad0 2705 solenoid.solenoid4 = SOLENOID_OFF;
yabahiro 54:4167f10ecad0 2706 countss=0;
yabahiro 54:4167f10ecad0 2707 fast=80;
yabahiro 54:4167f10ecad0 2708 normal=60;
yabahiro 54:4167f10ecad0 2709 slow=30;
yabahiro 54:4167f10ecad0 2710 }
yabahiro 54:4167f10ecad0 2711 } else {
yabahiro 54:4167f10ecad0 2712 if(UPLS||DOLS) {
yabahiro 54:4167f10ecad0 2713 if(UPLS||DOLS) {
yabahiro 54:4167f10ecad0 2714 motor[MOTOR_0].pwm = 200;
yabahiro 54:4167f10ecad0 2715 motor[MOTOR_0].dir = BRAKE;
yabahiro 54:4167f10ecad0 2716 fast=60;
yabahiro 54:4167f10ecad0 2717 normal=40;
yabahiro 54:4167f10ecad0 2718 slow=30;
yabahiro 54:4167f10ecad0 2719 countss=0;
yabahiro 54:4167f10ecad0 2720 mode=24;
yabahiro 54:4167f10ecad0 2721 }
yabahiro 54:4167f10ecad0 2722 } else {
yabahiro 54:4167f10ecad0 2723 motor[MOTOR_0].pwm = 100;
yabahiro 54:4167f10ecad0 2724 motor[MOTOR_0].dir = BACK;
yabahiro 54:4167f10ecad0 2725 }
yabahiro 54:4167f10ecad0 2726 motor[TIRE_FR].pwm = 100;
yabahiro 54:4167f10ecad0 2727 motor[TIRE_FR].dir = BRAKE;
yabahiro 54:4167f10ecad0 2728 motor[TIRE_FL].pwm = 100;
yabahiro 54:4167f10ecad0 2729 motor[TIRE_FL].dir = BRAKE;
yabahiro 54:4167f10ecad0 2730 motor[TIRE_BR].pwm = 100;
yabahiro 54:4167f10ecad0 2731 motor[TIRE_BR].dir = BRAKE;
yabahiro 54:4167f10ecad0 2732 motor[TIRE_BL].pwm = 100;
yabahiro 54:4167f10ecad0 2733 motor[TIRE_BL].dir = BRAKE;
yabahiro 54:4167f10ecad0 2734 }
yabahiro 54:4167f10ecad0 2735 break;
yabahiro 54:4167f10ecad0 2736 case 24:
yabahiro 54:4167f10ecad0 2737 if(YELLOW) {
yabahiro 54:4167f10ecad0 2738 if(g[4]==3||g[4]==2) {
yabahiro 54:4167f10ecad0 2739 motor[TIRE_FR].pwm = 30;
yabahiro 54:4167f10ecad0 2740 motor[TIRE_FR].dir = FOR;
yabahiro 53:694dbd7dfa0e 2741 motor[TIRE_FL].pwm = 30;
yabahiro 53:694dbd7dfa0e 2742 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 2743 motor[TIRE_BR].pwm = 30;
yabahiro 54:4167f10ecad0 2744 motor[TIRE_BR].dir = BACK;
yabahiro 54:4167f10ecad0 2745 motor[TIRE_BL].pwm = 30;
yabahiro 54:4167f10ecad0 2746 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2747 }
yabahiro 54:4167f10ecad0 2748 if(g[4]==253||g[4]==254) {
yabahiro 54:4167f10ecad0 2749 motor[TIRE_FR].pwm = 30;
yabahiro 54:4167f10ecad0 2750 motor[TIRE_FR].dir = BACK;
yabahiro 53:694dbd7dfa0e 2751 motor[TIRE_FL].pwm = 30;
yabahiro 54:4167f10ecad0 2752 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2753 motor[TIRE_BR].pwm = 30;
yabahiro 54:4167f10ecad0 2754 motor[TIRE_BR].dir = FOR;
yabahiro 38:40e7fdf3c694 2755 motor[TIRE_BL].pwm = 30;
yabahiro 52:4394a1debceb 2756 motor[TIRE_BL].dir = FOR;
yabahiro 54:4167f10ecad0 2757 }
yabahiro 54:4167f10ecad0 2758 switch(g[2]) {
yabahiro 54:4167f10ecad0 2759 case 0:
yabahiro 54:4167f10ecad0 2760 motor[TIRE_FR].pwm = 25;
yabahiro 54:4167f10ecad0 2761 motor[TIRE_FR].dir = FREE;
yabahiro 54:4167f10ecad0 2762 motor[TIRE_BR].pwm = 25;
yabahiro 54:4167f10ecad0 2763 motor[TIRE_BR].dir = FREE;
yabahiro 54:4167f10ecad0 2764 break;
yabahiro 54:4167f10ecad0 2765 case 255:
yabahiro 54:4167f10ecad0 2766 motor[TIRE_FR].pwm = 30;
yabahiro 54:4167f10ecad0 2767 motor[TIRE_FR].dir = BACK;
yabahiro 54:4167f10ecad0 2768 motor[TIRE_BR].pwm = 25;
yabahiro 54:4167f10ecad0 2769 motor[TIRE_BR].dir = FREE;
yabahiro 54:4167f10ecad0 2770 break;
yabahiro 54:4167f10ecad0 2771 case 253:
yabahiro 54:4167f10ecad0 2772 motor[TIRE_FR].pwm = 40;
yabahiro 54:4167f10ecad0 2773 motor[TIRE_FR].dir = BACK;
yabahiro 54:4167f10ecad0 2774 motor[TIRE_BR].pwm = 25;
yabahiro 54:4167f10ecad0 2775 motor[TIRE_BR].dir = FREE;
yabahiro 54:4167f10ecad0 2776 break;
yabahiro 54:4167f10ecad0 2777 case 254:
yabahiro 54:4167f10ecad0 2778 motor[TIRE_FR].pwm = 30;
yabahiro 54:4167f10ecad0 2779 motor[TIRE_FR].dir = BACK;
yabahiro 54:4167f10ecad0 2780 motor[TIRE_BR].pwm = 30;
yabahiro 54:4167f10ecad0 2781 motor[TIRE_BR].dir = BACK;
yabahiro 54:4167f10ecad0 2782 break;
yabahiro 54:4167f10ecad0 2783 case 1:
yabahiro 54:4167f10ecad0 2784 motor[TIRE_FR].pwm = 25;
yabahiro 54:4167f10ecad0 2785 motor[TIRE_FR].dir = FREE;
yabahiro 54:4167f10ecad0 2786 motor[TIRE_BR].pwm = 30;
yabahiro 54:4167f10ecad0 2787 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2788 break;
yabahiro 54:4167f10ecad0 2789 case 3:
yabahiro 54:4167f10ecad0 2790 motor[TIRE_FR].pwm = 25;
yabahiro 54:4167f10ecad0 2791 motor[TIRE_FR].dir = FREE;
yabahiro 54:4167f10ecad0 2792 motor[TIRE_BR].pwm = 40;
yabahiro 54:4167f10ecad0 2793 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2794 break;
yabahiro 54:4167f10ecad0 2795 case 2:
yabahiro 54:4167f10ecad0 2796 motor[TIRE_FR].pwm = 30;
yabahiro 54:4167f10ecad0 2797 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2798 motor[TIRE_BR].pwm = 30;
yabahiro 54:4167f10ecad0 2799 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2800 break;
yabahiro 54:4167f10ecad0 2801 }
yabahiro 54:4167f10ecad0 2802 switch(g[3]) {
yabahiro 54:4167f10ecad0 2803 case 0:
yabahiro 54:4167f10ecad0 2804 motor[TIRE_FL].pwm = 25;
yabahiro 54:4167f10ecad0 2805 motor[TIRE_FL].dir = FREE;
yabahiro 54:4167f10ecad0 2806 motor[TIRE_BL].pwm = 25;
yabahiro 54:4167f10ecad0 2807 motor[TIRE_BL].dir = FREE;
yabahiro 54:4167f10ecad0 2808 break;
yabahiro 54:4167f10ecad0 2809 case 255:
yabahiro 54:4167f10ecad0 2810 motor[TIRE_FL].pwm = 25;
yabahiro 54:4167f10ecad0 2811 motor[TIRE_FL].dir = FREE;
yabahiro 54:4167f10ecad0 2812 motor[TIRE_BL].pwm = 30;
yabahiro 54:4167f10ecad0 2813 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2814 case 253:
yabahiro 54:4167f10ecad0 2815 motor[TIRE_FL].pwm = 25;
yabahiro 54:4167f10ecad0 2816 motor[TIRE_FL].dir = FREE;
yabahiro 54:4167f10ecad0 2817 motor[TIRE_BL].pwm = 40;
yabahiro 54:4167f10ecad0 2818 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2819 break;
yabahiro 54:4167f10ecad0 2820 case 254:
yabahiro 54:4167f10ecad0 2821 motor[TIRE_FL].pwm = 30;
yabahiro 54:4167f10ecad0 2822 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2823 motor[TIRE_BL].pwm = 30;
yabahiro 54:4167f10ecad0 2824 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2825 break;
yabahiro 54:4167f10ecad0 2826 case 1:
yabahiro 54:4167f10ecad0 2827 motor[TIRE_FL].pwm = 30;
yabahiro 54:4167f10ecad0 2828 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 2829 motor[TIRE_BL].pwm = 25;
yabahiro 54:4167f10ecad0 2830 motor[TIRE_BL].dir = FREE;
yabahiro 54:4167f10ecad0 2831 break;
yabahiro 54:4167f10ecad0 2832 case 3:
yabahiro 54:4167f10ecad0 2833 motor[TIRE_FL].pwm = 40;
yabahiro 54:4167f10ecad0 2834 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 2835 motor[TIRE_BL].pwm = 25;
yabahiro 54:4167f10ecad0 2836 motor[TIRE_BL].dir = FREE;
yabahiro 54:4167f10ecad0 2837 break;
yabahiro 54:4167f10ecad0 2838 case 2:
yabahiro 54:4167f10ecad0 2839 motor[TIRE_FL].pwm = 30;
yabahiro 54:4167f10ecad0 2840 motor[TIRE_FL].dir = FOR;
yabahiro 54:4167f10ecad0 2841 motor[TIRE_BL].pwm = 30;
yabahiro 54:4167f10ecad0 2842 motor[TIRE_BL].dir = FOR;
yabahiro 54:4167f10ecad0 2843 break;
yabahiro 54:4167f10ecad0 2844 }
yabahiro 54:4167f10ecad0 2845 if(g[3]==0&&g[2]==0) {
yabahiro 54:4167f10ecad0 2846 mode=25;
yabahiro 54:4167f10ecad0 2847 }
yabahiro 54:4167f10ecad0 2848 } else {
yabahiro 54:4167f10ecad0 2849 if(g[1]==98&&countss>=40000) {
yabahiro 54:4167f10ecad0 2850 mode=31;
yabahiro 54:4167f10ecad0 2851 fast = 60;
yabahiro 54:4167f10ecad0 2852 normal = 40;
yabahiro 54:4167f10ecad0 2853 slow = 30;
yabahiro 54:4167f10ecad0 2854 countss=0;
yabahiro 54:4167f10ecad0 2855 }
yabahiro 54:4167f10ecad0 2856 switch(g[1]) {
yabahiro 54:4167f10ecad0 2857 case 98:
yabahiro 54:4167f10ecad0 2858 fast=40;
yabahiro 54:4167f10ecad0 2859 normal=30;
yabahiro 54:4167f10ecad0 2860 slow=25;
yabahiro 54:4167f10ecad0 2861 motor[TIRE_FR].pwm = normal;
yabahiro 54:4167f10ecad0 2862 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2863 motor[TIRE_FL].pwm = normal;
yabahiro 54:4167f10ecad0 2864 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2865 motor[TIRE_BR].pwm = normal;
yabahiro 54:4167f10ecad0 2866 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2867 motor[TIRE_BL].pwm = normal;
yabahiro 54:4167f10ecad0 2868 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2869 break;
yabahiro 54:4167f10ecad0 2870 case 0:
yabahiro 54:4167f10ecad0 2871 motor[TIRE_FR].pwm = fast;
yabahiro 54:4167f10ecad0 2872 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2873 motor[TIRE_FL].pwm = fast;
yabahiro 54:4167f10ecad0 2874 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2875 motor[TIRE_BR].pwm = fast;
yabahiro 54:4167f10ecad0 2876 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2877 motor[TIRE_BL].pwm = fast;
yabahiro 54:4167f10ecad0 2878 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2879 mtc=true;
yabahiro 54:4167f10ecad0 2880 break;
yabahiro 54:4167f10ecad0 2881 case 255:
yabahiro 54:4167f10ecad0 2882 motor[TIRE_FR].pwm = fast;
yabahiro 54:4167f10ecad0 2883 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2884 motor[TIRE_FL].pwm = slow;
yabahiro 54:4167f10ecad0 2885 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2886 motor[TIRE_BR].pwm = slow;
yabahiro 54:4167f10ecad0 2887 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2888 motor[TIRE_BL].pwm = fast;
yabahiro 54:4167f10ecad0 2889 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2890 mtc=true;
yabahiro 54:4167f10ecad0 2891 break;
yabahiro 54:4167f10ecad0 2892 case 253:
yabahiro 54:4167f10ecad0 2893 motor[TIRE_FR].pwm = slow;
yabahiro 54:4167f10ecad0 2894 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2895 motor[TIRE_FL].pwm = 0;
yabahiro 54:4167f10ecad0 2896 motor[TIRE_FL].dir = FREE;
yabahiro 54:4167f10ecad0 2897 motor[TIRE_BR].pwm = 0;
yabahiro 54:4167f10ecad0 2898 motor[TIRE_BR].dir = FREE;
yabahiro 54:4167f10ecad0 2899 motor[TIRE_BL].pwm = slow;
yabahiro 54:4167f10ecad0 2900 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2901 mtc=true;
yabahiro 54:4167f10ecad0 2902 break;
yabahiro 54:4167f10ecad0 2903 case 254:
yabahiro 54:4167f10ecad0 2904 motor[TIRE_FR].pwm = normal;
yabahiro 54:4167f10ecad0 2905 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2906 motor[TIRE_FL].pwm = 0;
yabahiro 54:4167f10ecad0 2907 motor[TIRE_FL].dir = FREE;
yabahiro 54:4167f10ecad0 2908 motor[TIRE_BR].pwm = 0;
yabahiro 54:4167f10ecad0 2909 motor[TIRE_BR].dir = FREE;
yabahiro 54:4167f10ecad0 2910 motor[TIRE_BL].pwm = normal;
yabahiro 54:4167f10ecad0 2911 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2912 mtc=true;
yabahiro 54:4167f10ecad0 2913 break;
yabahiro 54:4167f10ecad0 2914 case 1:
yabahiro 54:4167f10ecad0 2915 motor[TIRE_FR].pwm = slow;
yabahiro 54:4167f10ecad0 2916 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 2917 motor[TIRE_FL].pwm = fast;
yabahiro 54:4167f10ecad0 2918 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2919 motor[TIRE_BR].pwm = fast;
yabahiro 54:4167f10ecad0 2920 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2921 motor[TIRE_BL].pwm = slow;
yabahiro 54:4167f10ecad0 2922 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 2923 mtc=true;
yabahiro 54:4167f10ecad0 2924 break;
yabahiro 54:4167f10ecad0 2925 case 3:
yabahiro 54:4167f10ecad0 2926 motor[TIRE_FR].pwm = 0;
yabahiro 54:4167f10ecad0 2927 motor[TIRE_FR].dir = FREE;
yabahiro 54:4167f10ecad0 2928 motor[TIRE_FL].pwm = slow;
yabahiro 54:4167f10ecad0 2929 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2930 motor[TIRE_BR].pwm = slow;
yabahiro 54:4167f10ecad0 2931 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2932 motor[TIRE_BL].pwm = 0;
yabahiro 54:4167f10ecad0 2933 motor[TIRE_BL].dir = FREE;
yabahiro 54:4167f10ecad0 2934 mtc=true;
yabahiro 54:4167f10ecad0 2935 break;
yabahiro 54:4167f10ecad0 2936 case 2:
yabahiro 54:4167f10ecad0 2937 motor[TIRE_FR].pwm = 0;
yabahiro 54:4167f10ecad0 2938 motor[TIRE_FR].dir = FREE;
yabahiro 54:4167f10ecad0 2939 motor[TIRE_FL].pwm = normal;
yabahiro 54:4167f10ecad0 2940 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 2941 motor[TIRE_BR].pwm = normal;
yabahiro 54:4167f10ecad0 2942 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 2943 motor[TIRE_BL].pwm = 0;
yabahiro 54:4167f10ecad0 2944 motor[TIRE_BL].dir = FREE;
yabahiro 54:4167f10ecad0 2945 mtc=true;
yabahiro 54:4167f10ecad0 2946 break;
yabahiro 54:4167f10ecad0 2947 }
yabahiro 54:4167f10ecad0 2948 if(g[1]!=98&&mtc==true) {
yabahiro 54:4167f10ecad0 2949 switch(g[0]) {
yabahiro 54:4167f10ecad0 2950 case 0:
yabahiro 54:4167f10ecad0 2951 mtc=false;
yabahiro 54:4167f10ecad0 2952 break;
yabahiro 54:4167f10ecad0 2953 case 255:
yabahiro 54:4167f10ecad0 2954 motor[TIRE_FL].pwm += 3;
yabahiro 54:4167f10ecad0 2955 mtc=false;
yabahiro 54:4167f10ecad0 2956 break;
yabahiro 54:4167f10ecad0 2957 case 253:
yabahiro 54:4167f10ecad0 2958 motor[TIRE_FL].pwm += 6;
yabahiro 54:4167f10ecad0 2959 mtc=false;
yabahiro 54:4167f10ecad0 2960 break;
yabahiro 54:4167f10ecad0 2961 case 254:
yabahiro 54:4167f10ecad0 2962 motor[TIRE_FL].pwm += 9;
yabahiro 54:4167f10ecad0 2963 motor[TIRE_FR].pwm = 0;
yabahiro 54:4167f10ecad0 2964 mtc=false;
yabahiro 54:4167f10ecad0 2965 break;
yabahiro 54:4167f10ecad0 2966 case 1:
yabahiro 54:4167f10ecad0 2967 motor[TIRE_FR].pwm += 3;
yabahiro 54:4167f10ecad0 2968 mtc=false;
yabahiro 54:4167f10ecad0 2969 break;
yabahiro 54:4167f10ecad0 2970 case 3:
yabahiro 54:4167f10ecad0 2971 motor[TIRE_FR].pwm += 6;
yabahiro 54:4167f10ecad0 2972 mtc=false;
yabahiro 54:4167f10ecad0 2973 break;
yabahiro 54:4167f10ecad0 2974 case 2:
yabahiro 54:4167f10ecad0 2975 motor[TIRE_FR].pwm += 9;
yabahiro 54:4167f10ecad0 2976 motor[TIRE_FL].pwm = 0;
yabahiro 54:4167f10ecad0 2977 mtc=false;
yabahiro 54:4167f10ecad0 2978 break;
yabahiro 54:4167f10ecad0 2979 }
yabahiro 54:4167f10ecad0 2980 }
yabahiro 52:4394a1debceb 2981 }
yabahiro 54:4167f10ecad0 2982 break;
yabahiro 54:4167f10ecad0 2983 case 25:
kishibekairohan 47:a9cad8502999 2984 motor[TIRE_FR].pwm = 100;
kishibekairohan 47:a9cad8502999 2985 motor[TIRE_FR].dir = BRAKE;
kishibekairohan 47:a9cad8502999 2986 motor[TIRE_FL].pwm = 100;
kishibekairohan 47:a9cad8502999 2987 motor[TIRE_FL].dir = BRAKE;
kishibekairohan 47:a9cad8502999 2988 motor[TIRE_BR].pwm = 100;
kishibekairohan 47:a9cad8502999 2989 motor[TIRE_BR].dir = BRAKE;
kishibekairohan 47:a9cad8502999 2990 motor[TIRE_BL].pwm = 100;
kishibekairohan 47:a9cad8502999 2991 motor[TIRE_BL].dir = BRAKE;
yabahiro 46:68296caae1af 2992 if(UPLS==true||DOLS==true) {
yabahiro 54:4167f10ecad0 2993 if(UPLS==true||DOLS==true) {
yabahiro 54:4167f10ecad0 2994 motor[MOTOR_0].pwm = 200;
yabahiro 54:4167f10ecad0 2995 motor[MOTOR_0].dir = BRAKE;
yabahiro 54:4167f10ecad0 2996 countss = 0;
yabahiro 54:4167f10ecad0 2997 mode=26;
yabahiro 54:4167f10ecad0 2998 }
yabahiro 46:68296caae1af 2999 } else {
yabahiro 46:68296caae1af 3000 motor[MOTOR_0].pwm = 100;
yabahiro 46:68296caae1af 3001 motor[MOTOR_0].dir = BACK;
yabahiro 46:68296caae1af 3002 }
yabahiro 54:4167f10ecad0 3003 break;
yabahiro 54:4167f10ecad0 3004 case 26:
yabahiro 54:4167f10ecad0 3005 if (g[1] == 98) {
yabahiro 54:4167f10ecad0 3006 mode = 31;
yabahiro 54:4167f10ecad0 3007 }
yabahiro 38:40e7fdf3c694 3008 switch(g[4]) {
yabahiro 38:40e7fdf3c694 3009 case 98:
yabahiro 38:40e7fdf3c694 3010 motor[TIRE_FR].pwm = 60;
yabahiro 38:40e7fdf3c694 3011 motor[TIRE_FR].dir = FOR;
yabahiro 38:40e7fdf3c694 3012 motor[TIRE_FL].pwm = 60;
yabahiro 38:40e7fdf3c694 3013 motor[TIRE_FL].dir = BACK;
yabahiro 38:40e7fdf3c694 3014 motor[TIRE_BR].pwm = 60;
yabahiro 38:40e7fdf3c694 3015 motor[TIRE_BR].dir = FOR;
kishibekairohan 41:99a1158f3eca 3016 motor[TIRE_BL].pwm = 60;
yabahiro 38:40e7fdf3c694 3017 motor[TIRE_BL].dir = BACK;
yabahiro 38:40e7fdf3c694 3018 break;
yabahiro 38:40e7fdf3c694 3019 case 99:
yabahiro 38:40e7fdf3c694 3020 motor[TIRE_FR].pwm = 0;
yabahiro 38:40e7fdf3c694 3021 motor[TIRE_FR].dir = FREE;
yabahiro 38:40e7fdf3c694 3022 motor[TIRE_FL].pwm = 0;
yabahiro 38:40e7fdf3c694 3023 motor[TIRE_FL].dir = FREE;
yabahiro 38:40e7fdf3c694 3024 motor[TIRE_BR].pwm = 0;
yabahiro 38:40e7fdf3c694 3025 motor[TIRE_BR].dir = FREE;
yabahiro 38:40e7fdf3c694 3026 motor[TIRE_BL].pwm = 0;
yabahiro 38:40e7fdf3c694 3027 motor[TIRE_BL].dir = FREE;
yabahiro 38:40e7fdf3c694 3028 break;
yabahiro 38:40e7fdf3c694 3029 case 0:
yabahiro 38:40e7fdf3c694 3030 motor[TIRE_FR].pwm = 60;
yabahiro 38:40e7fdf3c694 3031 motor[TIRE_FR].dir = FOR;
yabahiro 38:40e7fdf3c694 3032 motor[TIRE_FL].pwm = 60;
yabahiro 38:40e7fdf3c694 3033 motor[TIRE_FL].dir = BACK;
yabahiro 38:40e7fdf3c694 3034 motor[TIRE_BR].pwm = 60;
yabahiro 38:40e7fdf3c694 3035 motor[TIRE_BR].dir = FOR;
kishibekairohan 41:99a1158f3eca 3036 motor[TIRE_BL].pwm = 60;
yabahiro 38:40e7fdf3c694 3037 motor[TIRE_BL].dir = BACK;
yabahiro 38:40e7fdf3c694 3038 break;
yabahiro 38:40e7fdf3c694 3039 case 255:
yabahiro 38:40e7fdf3c694 3040 motor[TIRE_FR].pwm = 0;
yabahiro 38:40e7fdf3c694 3041 motor[TIRE_FR].dir = FREE;
yabahiro 38:40e7fdf3c694 3042 motor[TIRE_FL].pwm = 0;
yabahiro 38:40e7fdf3c694 3043 motor[TIRE_FL].dir = FREE;
yabahiro 38:40e7fdf3c694 3044 motor[TIRE_BR].pwm = 0;
yabahiro 38:40e7fdf3c694 3045 motor[TIRE_BR].dir = FREE;
yabahiro 38:40e7fdf3c694 3046 motor[TIRE_BL].pwm = 0;
yabahiro 38:40e7fdf3c694 3047 motor[TIRE_BL].dir = FREE;
yabahiro 38:40e7fdf3c694 3048 break;
yabahiro 38:40e7fdf3c694 3049 case 253:
yabahiro 46:68296caae1af 3050 motor[TIRE_FR].pwm = 25;
yabahiro 38:40e7fdf3c694 3051 motor[TIRE_FR].dir = FOR;
yabahiro 38:40e7fdf3c694 3052 motor[TIRE_FL].pwm = 60;
yabahiro 38:40e7fdf3c694 3053 motor[TIRE_FL].dir = BACK;
yabahiro 38:40e7fdf3c694 3054 motor[TIRE_BR].pwm = 60;
yabahiro 38:40e7fdf3c694 3055 motor[TIRE_BR].dir = FOR;
yabahiro 46:68296caae1af 3056 motor[TIRE_BL].pwm = 25;
yabahiro 38:40e7fdf3c694 3057 motor[TIRE_BL].dir = BACK;
yabahiro 38:40e7fdf3c694 3058 break;
yabahiro 38:40e7fdf3c694 3059 case 254:
yabahiro 38:40e7fdf3c694 3060 motor[TIRE_FR].pwm = 40;
yabahiro 38:40e7fdf3c694 3061 motor[TIRE_FR].dir = FOR;
yabahiro 38:40e7fdf3c694 3062 motor[TIRE_FL].pwm = 60;
yabahiro 38:40e7fdf3c694 3063 motor[TIRE_FL].dir = BACK;
yabahiro 38:40e7fdf3c694 3064 motor[TIRE_BR].pwm = 60;
yabahiro 38:40e7fdf3c694 3065 motor[TIRE_BR].dir = FOR;
kishibekairohan 41:99a1158f3eca 3066 motor[TIRE_BL].pwm = 40;
yabahiro 38:40e7fdf3c694 3067 motor[TIRE_BL].dir = BACK;
yabahiro 38:40e7fdf3c694 3068 break;
yabahiro 38:40e7fdf3c694 3069 case 1:
yabahiro 38:40e7fdf3c694 3070 motor[TIRE_FR].pwm = 0;
yabahiro 38:40e7fdf3c694 3071 motor[TIRE_FR].dir = FREE;
yabahiro 38:40e7fdf3c694 3072 motor[TIRE_FL].pwm = 0;
yabahiro 38:40e7fdf3c694 3073 motor[TIRE_FL].dir = FREE;
yabahiro 38:40e7fdf3c694 3074 motor[TIRE_BR].pwm = 0;
yabahiro 38:40e7fdf3c694 3075 motor[TIRE_BR].dir = FREE;
yabahiro 38:40e7fdf3c694 3076 motor[TIRE_BL].pwm = 0;
yabahiro 38:40e7fdf3c694 3077 motor[TIRE_BL].dir = FREE;
yabahiro 38:40e7fdf3c694 3078 break;
yabahiro 38:40e7fdf3c694 3079 case 3:
yabahiro 38:40e7fdf3c694 3080 motor[TIRE_FR].pwm = 60;
yabahiro 38:40e7fdf3c694 3081 motor[TIRE_FR].dir = FOR;
yabahiro 46:68296caae1af 3082 motor[TIRE_FL].pwm = 25;
yabahiro 38:40e7fdf3c694 3083 motor[TIRE_FL].dir = BACK;
yabahiro 46:68296caae1af 3084 motor[TIRE_BR].pwm = 25;
yabahiro 38:40e7fdf3c694 3085 motor[TIRE_BR].dir = FOR;
kishibekairohan 41:99a1158f3eca 3086 motor[TIRE_BL].pwm = 60;
yabahiro 38:40e7fdf3c694 3087 motor[TIRE_BL].dir = BACK;
yabahiro 38:40e7fdf3c694 3088 break;
yabahiro 38:40e7fdf3c694 3089 case 2:
yabahiro 38:40e7fdf3c694 3090 motor[TIRE_FR].pwm = 60;
yabahiro 38:40e7fdf3c694 3091 motor[TIRE_FR].dir = FOR;
yabahiro 38:40e7fdf3c694 3092 motor[TIRE_FL].pwm = 40;
yabahiro 38:40e7fdf3c694 3093 motor[TIRE_FL].dir = BACK;
yabahiro 38:40e7fdf3c694 3094 motor[TIRE_BR].pwm = 40;
yabahiro 38:40e7fdf3c694 3095 motor[TIRE_BR].dir = FOR;
kishibekairohan 41:99a1158f3eca 3096 motor[TIRE_BL].pwm = 60;
yabahiro 38:40e7fdf3c694 3097 motor[TIRE_BL].dir = BACK;
yabahiro 38:40e7fdf3c694 3098 break;
yabahiro 38:40e7fdf3c694 3099 }
yabahiro 54:4167f10ecad0 3100 break;
yabahiro 54:4167f10ecad0 3101 case 31:
yabahiro 54:4167f10ecad0 3102 motor[TIRE_FR].pwm = 255;
yabahiro 54:4167f10ecad0 3103 motor[TIRE_FR].dir = BRAKE;
yabahiro 54:4167f10ecad0 3104 motor[TIRE_FL].pwm = 45;
yabahiro 54:4167f10ecad0 3105 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 3106 motor[TIRE_BR].pwm = 45;
yabahiro 54:4167f10ecad0 3107 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 3108 motor[TIRE_BL].pwm = 255;
yabahiro 54:4167f10ecad0 3109 motor[TIRE_BL].dir = BRAKE;
yabahiro 54:4167f10ecad0 3110 if(g[2]==0) {
yabahiro 54:4167f10ecad0 3111 cross=0;
yabahiro 54:4167f10ecad0 3112 countss=0;
yabahiro 54:4167f10ecad0 3113 mode=40;
yabahiro 54:4167f10ecad0 3114 fast = 60;
yabahiro 54:4167f10ecad0 3115 normal = 40;
yabahiro 54:4167f10ecad0 3116 slow = 30;
yabahiro 54:4167f10ecad0 3117 }
yabahiro 54:4167f10ecad0 3118 break;
yabahiro 54:4167f10ecad0 3119 case 40:
yabahiro 54:4167f10ecad0 3120 if(YELLOW) {
yabahiro 54:4167f10ecad0 3121 if(cross==1) {
yabahiro 54:4167f10ecad0 3122 mode=41;
yabahiro 54:4167f10ecad0 3123 countss=0;
yabahiro 54:4167f10ecad0 3124 cross=0;
yabahiro 54:4167f10ecad0 3125 }
yabahiro 54:4167f10ecad0 3126 } else {
yabahiro 54:4167f10ecad0 3127 if(cross==3) {
yabahiro 54:4167f10ecad0 3128 fast = 60;
yabahiro 54:4167f10ecad0 3129 normal = 40;
yabahiro 54:4167f10ecad0 3130 slow = 30;
yabahiro 54:4167f10ecad0 3131 mode=41;
yabahiro 54:4167f10ecad0 3132 countss=0;
yabahiro 54:4167f10ecad0 3133 cross=0;
yabahiro 54:4167f10ecad0 3134 }
yabahiro 54:4167f10ecad0 3135 }
yabahiro 54:4167f10ecad0 3136 /*
yabahiro 54:4167f10ecad0 3137 if(LIF||LIB) {
yabahiro 54:4167f10ecad0 3138 mode=42;
yabahiro 33:dd598bb23ad1 3139 }
yabahiro 54:4167f10ecad0 3140 */
yabahiro 54:4167f10ecad0 3141 switch(g[3]) {
yabahiro 54:4167f10ecad0 3142 case 98:
yabahiro 54:4167f10ecad0 3143 motor[TIRE_FR].pwm = normal+15;
yabahiro 54:4167f10ecad0 3144 motor[TIRE_FR].dir = BACK;
yabahiro 54:4167f10ecad0 3145 motor[TIRE_FL].pwm = normal+15;
yabahiro 54:4167f10ecad0 3146 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 3147 motor[TIRE_BR].pwm = normal+15;
yabahiro 54:4167f10ecad0 3148 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 3149 motor[TIRE_BL].pwm = normal+15;
yabahiro 54:4167f10ecad0 3150 motor[TIRE_BL].dir = FOR;
yabahiro 54:4167f10ecad0 3151 if(countss>30000) {
yabahiro 54:4167f10ecad0 3152 cross++;
yabahiro 54:4167f10ecad0 3153 countss=0;
yabahiro 54:4167f10ecad0 3154 }
yabahiro 54:4167f10ecad0 3155 mtc2=true;
yabahiro 54:4167f10ecad0 3156 break;
yabahiro 54:4167f10ecad0 3157 case 0:
yabahiro 54:4167f10ecad0 3158 motor[TIRE_FR].pwm = fast+15;
yabahiro 54:4167f10ecad0 3159 motor[TIRE_FR].dir = BACK;
yabahiro 54:4167f10ecad0 3160 motor[TIRE_FL].pwm = fast+15;
yabahiro 54:4167f10ecad0 3161 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 3162 motor[TIRE_BR].pwm = fast+15;
yabahiro 54:4167f10ecad0 3163 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 3164 motor[TIRE_BL].pwm = fast+15;
yabahiro 54:4167f10ecad0 3165 motor[TIRE_BL].dir = FOR;
yabahiro 54:4167f10ecad0 3166 mtc2=true;
yabahiro 54:4167f10ecad0 3167 break;
yabahiro 54:4167f10ecad0 3168 case 255:
yabahiro 54:4167f10ecad0 3169 motor[TIRE_FR].pwm = slow+15;
yabahiro 54:4167f10ecad0 3170 motor[TIRE_FR].dir = BACK;
yabahiro 54:4167f10ecad0 3171 motor[TIRE_FL].pwm = fast+15;
yabahiro 54:4167f10ecad0 3172 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 3173 motor[TIRE_BR].pwm = fast+15;
yabahiro 54:4167f10ecad0 3174 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 3175 motor[TIRE_BL].pwm = slow+15;
yabahiro 54:4167f10ecad0 3176 motor[TIRE_BL].dir = FOR;
yabahiro 54:4167f10ecad0 3177 mtc2=true;
yabahiro 54:4167f10ecad0 3178 break;
yabahiro 54:4167f10ecad0 3179 case 253:
yabahiro 54:4167f10ecad0 3180 motor[TIRE_FR].pwm = 0;
yabahiro 54:4167f10ecad0 3181 motor[TIRE_FR].dir = FREE;
yabahiro 54:4167f10ecad0 3182 motor[TIRE_FL].pwm = slow+15;
yabahiro 54:4167f10ecad0 3183 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 3184 motor[TIRE_BR].pwm = slow+15;
yabahiro 54:4167f10ecad0 3185 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 3186 motor[TIRE_BL].pwm = 0;
yabahiro 54:4167f10ecad0 3187 motor[TIRE_BL].dir = FREE;
yabahiro 54:4167f10ecad0 3188 mtc2=true;
yabahiro 54:4167f10ecad0 3189 break;
yabahiro 54:4167f10ecad0 3190 case 254:
yabahiro 54:4167f10ecad0 3191 motor[TIRE_FR].pwm = 0;
yabahiro 54:4167f10ecad0 3192 motor[TIRE_FR].dir = FREE;
yabahiro 54:4167f10ecad0 3193 motor[TIRE_FL].pwm = normal+15;
yabahiro 54:4167f10ecad0 3194 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 3195 motor[TIRE_BR].pwm = normal+15;
yabahiro 54:4167f10ecad0 3196 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 3197 motor[TIRE_BL].pwm = 0;
yabahiro 54:4167f10ecad0 3198 motor[TIRE_BL].dir = FREE;
yabahiro 54:4167f10ecad0 3199 mtc2=true;
yabahiro 54:4167f10ecad0 3200 break;
yabahiro 54:4167f10ecad0 3201 case 1:
yabahiro 54:4167f10ecad0 3202 motor[TIRE_FR].pwm = fast+15;
yabahiro 54:4167f10ecad0 3203 motor[TIRE_FR].dir = BACK;
yabahiro 54:4167f10ecad0 3204 motor[TIRE_FL].pwm = slow+15;
yabahiro 54:4167f10ecad0 3205 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 3206 motor[TIRE_BR].pwm = slow+15;
yabahiro 54:4167f10ecad0 3207 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 3208 motor[TIRE_BL].pwm = fast+15;
yabahiro 54:4167f10ecad0 3209 motor[TIRE_BL].dir = FOR;
yabahiro 54:4167f10ecad0 3210 mtc2=true;
yabahiro 54:4167f10ecad0 3211 break;
yabahiro 54:4167f10ecad0 3212 case 3:
yabahiro 54:4167f10ecad0 3213 motor[TIRE_FR].pwm = slow+15;
yabahiro 54:4167f10ecad0 3214 motor[TIRE_FR].dir = BACK;
yabahiro 54:4167f10ecad0 3215 motor[TIRE_FL].pwm = 0;
yabahiro 54:4167f10ecad0 3216 motor[TIRE_FL].dir = FREE;
yabahiro 54:4167f10ecad0 3217 motor[TIRE_BR].pwm = 0;
yabahiro 54:4167f10ecad0 3218 motor[TIRE_BR].dir = FREE;
yabahiro 54:4167f10ecad0 3219 motor[TIRE_BL].pwm = slow+15;
yabahiro 54:4167f10ecad0 3220 motor[TIRE_BL].dir = FOR;
yabahiro 54:4167f10ecad0 3221 mtc2=true;
yabahiro 54:4167f10ecad0 3222 break;
yabahiro 54:4167f10ecad0 3223 case 2:
yabahiro 54:4167f10ecad0 3224 motor[TIRE_FR].pwm = normal+15;
yabahiro 54:4167f10ecad0 3225 motor[TIRE_FR].dir = BACK;
yabahiro 54:4167f10ecad0 3226 motor[TIRE_FL].pwm = 0;
yabahiro 54:4167f10ecad0 3227 motor[TIRE_FL].dir = FREE;
yabahiro 54:4167f10ecad0 3228 motor[TIRE_BR].pwm = 0;
yabahiro 54:4167f10ecad0 3229 motor[TIRE_BR].dir = FREE;
yabahiro 54:4167f10ecad0 3230 motor[TIRE_BL].pwm = normal+15;
yabahiro 54:4167f10ecad0 3231 motor[TIRE_BL].dir = FOR;
yabahiro 54:4167f10ecad0 3232 mtc2=true;
yabahiro 54:4167f10ecad0 3233 break;
yabahiro 54:4167f10ecad0 3234 }
yabahiro 54:4167f10ecad0 3235 if(g[2]!=98&&mtc2==true) {
yabahiro 54:4167f10ecad0 3236 switch(g[2]) {
yabahiro 54:4167f10ecad0 3237 case 0:
yabahiro 54:4167f10ecad0 3238 mtc2=false;
yabahiro 54:4167f10ecad0 3239 break;
yabahiro 54:4167f10ecad0 3240 case 255:
yabahiro 54:4167f10ecad0 3241 motor[TIRE_FR].pwm += 3;
yabahiro 54:4167f10ecad0 3242 mtc2=false;
yabahiro 54:4167f10ecad0 3243 break;
yabahiro 54:4167f10ecad0 3244 case 253:
yabahiro 54:4167f10ecad0 3245 motor[TIRE_FR].pwm += 6;
yabahiro 54:4167f10ecad0 3246 mtc2=false;
yabahiro 54:4167f10ecad0 3247 break;
yabahiro 54:4167f10ecad0 3248 case 254:
yabahiro 54:4167f10ecad0 3249 motor[TIRE_FR].pwm += 9;
yabahiro 54:4167f10ecad0 3250 motor[TIRE_BR].pwm = 0;
yabahiro 54:4167f10ecad0 3251 mtc2=false;
yabahiro 54:4167f10ecad0 3252 break;
yabahiro 54:4167f10ecad0 3253 case 1:
yabahiro 54:4167f10ecad0 3254 motor[TIRE_BR].pwm += 3;
yabahiro 54:4167f10ecad0 3255 mtc2=false;
yabahiro 54:4167f10ecad0 3256 break;
yabahiro 54:4167f10ecad0 3257 case 3:
yabahiro 54:4167f10ecad0 3258 motor[TIRE_BR].pwm += 6;
yabahiro 54:4167f10ecad0 3259 mtc2=false;
yabahiro 54:4167f10ecad0 3260 break;
yabahiro 54:4167f10ecad0 3261 case 2:
yabahiro 54:4167f10ecad0 3262 motor[TIRE_BR].pwm += 9;
yabahiro 54:4167f10ecad0 3263 motor[TIRE_FR].pwm = 0;
yabahiro 54:4167f10ecad0 3264 mtc2=false;
yabahiro 54:4167f10ecad0 3265 break;
yabahiro 54:4167f10ecad0 3266 }
yabahiro 54:4167f10ecad0 3267 }
yabahiro 54:4167f10ecad0 3268 break;
yabahiro 54:4167f10ecad0 3269 case 41:
yabahiro 54:4167f10ecad0 3270 /*
yabahiro 54:4167f10ecad0 3271 if(LIF||LIB) {
yabahiro 54:4167f10ecad0 3272 mode=42;
yabahiro 54:4167f10ecad0 3273 }
yabahiro 54:4167f10ecad0 3274 */
yabahiro 54:4167f10ecad0 3275 motor[TIRE_FR].pwm = 255;
yabahiro 54:4167f10ecad0 3276 motor[TIRE_FR].dir = BRAKE;
yabahiro 54:4167f10ecad0 3277 motor[TIRE_FL].pwm = 30;
yabahiro 54:4167f10ecad0 3278 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 3279 motor[TIRE_BR].pwm = 30;
yabahiro 54:4167f10ecad0 3280 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 3281 motor[TIRE_BL].pwm = 255;
yabahiro 54:4167f10ecad0 3282 motor[TIRE_BL].dir = BRAKE;
yabahiro 54:4167f10ecad0 3283 if(g[1]==0) {
yabahiro 54:4167f10ecad0 3284 countss=0;
yabahiro 54:4167f10ecad0 3285 mode=70;
yabahiro 54:4167f10ecad0 3286 normal = 60;
yabahiro 54:4167f10ecad0 3287 fast = 70;
yabahiro 54:4167f10ecad0 3288 slow = 40;
yabahiro 54:4167f10ecad0 3289 }
yabahiro 54:4167f10ecad0 3290 break;
yabahiro 54:4167f10ecad0 3291 case 42:
yabahiro 54:4167f10ecad0 3292 motor[TIRE_FR].pwm = 40;
yabahiro 38:40e7fdf3c694 3293 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 3294 motor[TIRE_FL].pwm = 0;
yabahiro 54:4167f10ecad0 3295 motor[TIRE_FL].dir = FREE;
yabahiro 54:4167f10ecad0 3296 motor[TIRE_BR].pwm = 0;
yabahiro 54:4167f10ecad0 3297 motor[TIRE_BR].dir = FREE;
yabahiro 54:4167f10ecad0 3298 motor[TIRE_BL].pwm = 40;
yabahiro 38:40e7fdf3c694 3299 motor[TIRE_BL].dir = BACK;
yabahiro 38:40e7fdf3c694 3300 if(g[1]==0) {
yabahiro 54:4167f10ecad0 3301 countss=0;
yabahiro 54:4167f10ecad0 3302 mode=70;
yabahiro 53:694dbd7dfa0e 3303 }
yabahiro 54:4167f10ecad0 3304 break;
yabahiro 54:4167f10ecad0 3305 case 70:
yabahiro 38:40e7fdf3c694 3306 switch(g[1]) {
yabahiro 54:4167f10ecad0 3307 case 99:
yabahiro 54:4167f10ecad0 3308 if(countss>=100000) {
yabahiro 54:4167f10ecad0 3309 mode=100;
yabahiro 54:4167f10ecad0 3310 }
yabahiro 54:4167f10ecad0 3311 break;
yabahiro 38:40e7fdf3c694 3312 case 98:
yabahiro 38:40e7fdf3c694 3313 motor[TIRE_FR].pwm = normal;
yabahiro 38:40e7fdf3c694 3314 motor[TIRE_FR].dir = FOR;
yabahiro 38:40e7fdf3c694 3315 motor[TIRE_FL].pwm = normal;
yabahiro 38:40e7fdf3c694 3316 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 3317 motor[TIRE_BR].pwm = normal+5;
yabahiro 38:40e7fdf3c694 3318 motor[TIRE_BR].dir = FOR;
yabahiro 38:40e7fdf3c694 3319 motor[TIRE_BL].pwm = normal;
yabahiro 38:40e7fdf3c694 3320 motor[TIRE_BL].dir = BACK;
yabahiro 38:40e7fdf3c694 3321 break;
yabahiro 38:40e7fdf3c694 3322 case 0:
yabahiro 54:4167f10ecad0 3323 motor[TIRE_FR].pwm = 100;
yabahiro 38:40e7fdf3c694 3324 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 3325 motor[TIRE_FL].pwm = 100;
yabahiro 38:40e7fdf3c694 3326 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 3327 motor[TIRE_BR].pwm = 105;
yabahiro 38:40e7fdf3c694 3328 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 3329 motor[TIRE_BL].pwm = 100;
yabahiro 38:40e7fdf3c694 3330 motor[TIRE_BL].dir = BACK;
yabahiro 38:40e7fdf3c694 3331 mtc=true;
yabahiro 38:40e7fdf3c694 3332 break;
yabahiro 38:40e7fdf3c694 3333 case 255:
yabahiro 38:40e7fdf3c694 3334 motor[TIRE_FR].pwm = fast;
yabahiro 38:40e7fdf3c694 3335 motor[TIRE_FR].dir = FOR;
yabahiro 38:40e7fdf3c694 3336 motor[TIRE_FL].pwm = slow;
yabahiro 38:40e7fdf3c694 3337 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 3338 motor[TIRE_BR].pwm = slow+5;
yabahiro 38:40e7fdf3c694 3339 motor[TIRE_BR].dir = FOR;
yabahiro 38:40e7fdf3c694 3340 motor[TIRE_BL].pwm = fast;
yabahiro 38:40e7fdf3c694 3341 motor[TIRE_BL].dir = BACK;
yabahiro 38:40e7fdf3c694 3342 mtc=true;
yabahiro 38:40e7fdf3c694 3343 break;
yabahiro 38:40e7fdf3c694 3344 case 253:
yabahiro 38:40e7fdf3c694 3345 motor[TIRE_FR].pwm = slow;
yabahiro 38:40e7fdf3c694 3346 motor[TIRE_FR].dir = FOR;
yabahiro 38:40e7fdf3c694 3347 motor[TIRE_FL].pwm = 0;
yabahiro 38:40e7fdf3c694 3348 motor[TIRE_FL].dir = FREE;
yabahiro 38:40e7fdf3c694 3349 motor[TIRE_BR].pwm = 0;
yabahiro 38:40e7fdf3c694 3350 motor[TIRE_BR].dir = FREE;
yabahiro 38:40e7fdf3c694 3351 motor[TIRE_BL].pwm = slow;
yabahiro 38:40e7fdf3c694 3352 motor[TIRE_BL].dir = BACK;
yabahiro 38:40e7fdf3c694 3353 mtc=true;
yabahiro 38:40e7fdf3c694 3354 break;
yabahiro 38:40e7fdf3c694 3355 case 254:
yabahiro 38:40e7fdf3c694 3356 motor[TIRE_FR].pwm = normal;
yabahiro 38:40e7fdf3c694 3357 motor[TIRE_FR].dir = FOR;
yabahiro 38:40e7fdf3c694 3358 motor[TIRE_FL].pwm = 0;
yabahiro 38:40e7fdf3c694 3359 motor[TIRE_FL].dir = FREE;
yabahiro 38:40e7fdf3c694 3360 motor[TIRE_BR].pwm = 0;
yabahiro 38:40e7fdf3c694 3361 motor[TIRE_BR].dir = FREE;
yabahiro 38:40e7fdf3c694 3362 motor[TIRE_BL].pwm = normal;
yabahiro 38:40e7fdf3c694 3363 motor[TIRE_BL].dir = BACK;
yabahiro 38:40e7fdf3c694 3364 mtc=true;
yabahiro 38:40e7fdf3c694 3365 break;
yabahiro 38:40e7fdf3c694 3366 case 1:
yabahiro 38:40e7fdf3c694 3367 motor[TIRE_FR].pwm = slow;
yabahiro 38:40e7fdf3c694 3368 motor[TIRE_FR].dir = FOR;
yabahiro 38:40e7fdf3c694 3369 motor[TIRE_FL].pwm = fast;
yabahiro 38:40e7fdf3c694 3370 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 3371 motor[TIRE_BR].pwm = fast+5;
yabahiro 38:40e7fdf3c694 3372 motor[TIRE_BR].dir = FOR;
yabahiro 38:40e7fdf3c694 3373 motor[TIRE_BL].pwm = slow;
yabahiro 38:40e7fdf3c694 3374 motor[TIRE_BL].dir = BACK;
yabahiro 38:40e7fdf3c694 3375 mtc=true;
yabahiro 38:40e7fdf3c694 3376 break;
yabahiro 38:40e7fdf3c694 3377 case 3:
yabahiro 38:40e7fdf3c694 3378 motor[TIRE_FR].pwm = 0;
yabahiro 38:40e7fdf3c694 3379 motor[TIRE_FR].dir = FREE;
yabahiro 38:40e7fdf3c694 3380 motor[TIRE_FL].pwm = slow;
yabahiro 38:40e7fdf3c694 3381 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 3382 motor[TIRE_BR].pwm = slow+5;
yabahiro 38:40e7fdf3c694 3383 motor[TIRE_BR].dir = FOR;
yabahiro 38:40e7fdf3c694 3384 motor[TIRE_BL].pwm = 0;
yabahiro 38:40e7fdf3c694 3385 motor[TIRE_BL].dir = FREE;
yabahiro 38:40e7fdf3c694 3386 mtc=true;
yabahiro 38:40e7fdf3c694 3387 break;
yabahiro 38:40e7fdf3c694 3388 case 2:
yabahiro 38:40e7fdf3c694 3389 motor[TIRE_FR].pwm = 0;
yabahiro 38:40e7fdf3c694 3390 motor[TIRE_FR].dir = FREE;
yabahiro 38:40e7fdf3c694 3391 motor[TIRE_FL].pwm = normal;
yabahiro 38:40e7fdf3c694 3392 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 3393 motor[TIRE_BR].pwm = normal+5;
yabahiro 38:40e7fdf3c694 3394 motor[TIRE_BR].dir = FOR;
yabahiro 38:40e7fdf3c694 3395 motor[TIRE_BL].pwm = 0;
yabahiro 38:40e7fdf3c694 3396 motor[TIRE_BL].dir = FREE;
yabahiro 38:40e7fdf3c694 3397 mtc=true;
yabahiro 38:40e7fdf3c694 3398 break;
yabahiro 38:40e7fdf3c694 3399 }
yabahiro 38:40e7fdf3c694 3400 if(g[1]!=98&&mtc==true) {
yabahiro 38:40e7fdf3c694 3401 switch(g[0]) {
yabahiro 38:40e7fdf3c694 3402 case 0:
yabahiro 38:40e7fdf3c694 3403 mtc=false;
yabahiro 38:40e7fdf3c694 3404 break;
yabahiro 38:40e7fdf3c694 3405 case 255:
kishibekairohan 44:2aff0da5ebdb 3406 motor[TIRE_FL].pwm += 3;
yabahiro 38:40e7fdf3c694 3407 mtc=false;
yabahiro 38:40e7fdf3c694 3408 break;
yabahiro 38:40e7fdf3c694 3409 case 253:
kishibekairohan 44:2aff0da5ebdb 3410 motor[TIRE_FL].pwm += 6;
yabahiro 38:40e7fdf3c694 3411 mtc=false;
yabahiro 38:40e7fdf3c694 3412 break;
yabahiro 38:40e7fdf3c694 3413 case 254:
kishibekairohan 44:2aff0da5ebdb 3414 motor[TIRE_FL].pwm += 9;
yabahiro 38:40e7fdf3c694 3415 motor[TIRE_FR].pwm = 0;
yabahiro 38:40e7fdf3c694 3416 mtc=false;
yabahiro 38:40e7fdf3c694 3417 break;
yabahiro 38:40e7fdf3c694 3418 case 1:
kishibekairohan 44:2aff0da5ebdb 3419 motor[TIRE_FR].pwm += 3;
yabahiro 38:40e7fdf3c694 3420 mtc=false;
yabahiro 38:40e7fdf3c694 3421 break;
yabahiro 38:40e7fdf3c694 3422 case 3:
kishibekairohan 44:2aff0da5ebdb 3423 motor[TIRE_FR].pwm += 6;
yabahiro 38:40e7fdf3c694 3424 mtc=false;
yabahiro 38:40e7fdf3c694 3425 break;
yabahiro 38:40e7fdf3c694 3426 case 2:
kishibekairohan 44:2aff0da5ebdb 3427 motor[TIRE_FR].pwm += 9;
yabahiro 38:40e7fdf3c694 3428 motor[TIRE_FL].pwm = 0;
yabahiro 38:40e7fdf3c694 3429 mtc=false;
yabahiro 38:40e7fdf3c694 3430 break;
yabahiro 38:40e7fdf3c694 3431 }
yabahiro 33:dd598bb23ad1 3432 }
yabahiro 54:4167f10ecad0 3433 break;
yabahiro 54:4167f10ecad0 3434 case 100:
yabahiro 54:4167f10ecad0 3435 motor[TIRE_FR].pwm = 50;
yabahiro 54:4167f10ecad0 3436 motor[TIRE_FR].dir = FOR;
yabahiro 54:4167f10ecad0 3437 motor[TIRE_FL].pwm = 55;
yabahiro 54:4167f10ecad0 3438 motor[TIRE_FL].dir = BACK;
yabahiro 54:4167f10ecad0 3439 motor[TIRE_BR].pwm = 60;
yabahiro 54:4167f10ecad0 3440 motor[TIRE_BR].dir = FOR;
yabahiro 54:4167f10ecad0 3441 motor[TIRE_BL].pwm = 50;
yabahiro 54:4167f10ecad0 3442 motor[TIRE_BL].dir = BACK;
yabahiro 54:4167f10ecad0 3443 break;
yabahiro 54:4167f10ecad0 3444 default:
yabahiro 54:4167f10ecad0 3445 motor[TIRE_FR].pwm = 50;
yabahiro 54:4167f10ecad0 3446 motor[TIRE_FR].dir = BRAKE;
yabahiro 54:4167f10ecad0 3447 motor[TIRE_FL].pwm = 50;
yabahiro 54:4167f10ecad0 3448 motor[TIRE_FL].dir = BRAKE;
yabahiro 54:4167f10ecad0 3449 motor[TIRE_BR].pwm = 50;
yabahiro 54:4167f10ecad0 3450 motor[TIRE_BR].dir = BRAKE;
yabahiro 54:4167f10ecad0 3451 motor[TIRE_BL].pwm = 50;
yabahiro 54:4167f10ecad0 3452 motor[TIRE_BL].dir = BRAKE;
yabahiro 54:4167f10ecad0 3453 break;
yabahiro 53:694dbd7dfa0e 3454 }
kishibekairohan 13:b6e02d6261d7 3455 }
kishibekairohan 13:b6e02d6261d7 3456 #endif
kishibekairohan 13:b6e02d6261d7 3457
kishibekairohan 13:b6e02d6261d7 3458 #if USE_PROCESS_NUM>4
Ryosei 27:dd9f27fce7d1 3459 static void Process4()
M_souta 22:7d93f79a3686 3460 {
yabahiro 48:5562a99479e5 3461 //Oh So 決勝青ゾーン
yabahiro 48:5562a99479e5 3462 LED::LED::TapeledMode(2);
yabahiro 48:5562a99479e5 3463 countss++;
yabahiro 48:5562a99479e5 3464 if(mode==1) {//スタートゾーンから白線検知
yabahiro 48:5562a99479e5 3465 fast=40;
yabahiro 48:5562a99479e5 3466 normal=30;
yabahiro 48:5562a99479e5 3467 slow=20;
yabahiro 48:5562a99479e5 3468 motor[TIRE_FR].pwm = normal+20;
yabahiro 48:5562a99479e5 3469 motor[TIRE_FR].dir = FOR;
yabahiro 48:5562a99479e5 3470 motor[TIRE_FL].pwm = normal+20;
yabahiro 48:5562a99479e5 3471 motor[TIRE_FL].dir = BACK;
yabahiro 48:5562a99479e5 3472 motor[TIRE_BR].pwm = normal+20;
yabahiro 48:5562a99479e5 3473 motor[TIRE_BR].dir = FOR;
yabahiro 48:5562a99479e5 3474 motor[TIRE_BL].pwm = normal+20;
yabahiro 48:5562a99479e5 3475 motor[TIRE_BL].dir = BACK;
yabahiro 48:5562a99479e5 3476 if(g[2]==0&&countss>=100000) {
yabahiro 48:5562a99479e5 3477 countss=100000;
yabahiro 48:5562a99479e5 3478 cross=0;
yabahiro 48:5562a99479e5 3479 mode=3;
yabahiro 48:5562a99479e5 3480 }
yabahiro 48:5562a99479e5 3481 } else if(mode==3) { //横ライントレースから縦ライントレースへ
yabahiro 48:5562a99479e5 3482 motor[TIRE_FR].pwm = 30;
yabahiro 48:5562a99479e5 3483 motor[TIRE_FR].dir = FOR;
yabahiro 48:5562a99479e5 3484 motor[TIRE_FL].pwm = 255;
yabahiro 48:5562a99479e5 3485 motor[TIRE_FL].dir = BRAKE;
yabahiro 48:5562a99479e5 3486 motor[TIRE_BR].pwm = 255;
yabahiro 48:5562a99479e5 3487 motor[TIRE_BR].dir = BRAKE;
yabahiro 48:5562a99479e5 3488 motor[TIRE_BL].pwm = 30;
yabahiro 48:5562a99479e5 3489 motor[TIRE_BL].dir = BACK;
yabahiro 48:5562a99479e5 3490 if(g[1]==0) {
yabahiro 48:5562a99479e5 3491 mode=10;
yabahiro 48:5562a99479e5 3492 countss=100000;
yabahiro 48:5562a99479e5 3493 }
yabahiro 48:5562a99479e5 3494 } else if(mode==10) { //縦ライントレース
yabahiro 48:5562a99479e5 3495 switch(g[1]) {
yabahiro 48:5562a99479e5 3496 case 98:
yabahiro 48:5562a99479e5 3497 motor[TIRE_FR].pwm = normal+50;
yabahiro 48:5562a99479e5 3498 motor[TIRE_FR].dir = FOR;
yabahiro 48:5562a99479e5 3499 motor[TIRE_FL].pwm = normal+50;
yabahiro 48:5562a99479e5 3500 motor[TIRE_FL].dir = BACK;
yabahiro 48:5562a99479e5 3501 motor[TIRE_BR].pwm = normal+50;
yabahiro 48:5562a99479e5 3502 motor[TIRE_BR].dir = FOR;
yabahiro 48:5562a99479e5 3503 motor[TIRE_BL].pwm = normal+50;
yabahiro 48:5562a99479e5 3504 motor[TIRE_BL].dir = BACK;
yabahiro 48:5562a99479e5 3505 mtc=true;
yabahiro 49:697b4e9ce884 3506 if(YELLOW) {
yabahiro 49:697b4e9ce884 3507 if(countss>80000) {
yabahiro 49:697b4e9ce884 3508 cross++;
yabahiro 49:697b4e9ce884 3509 countss=0;
yabahiro 49:697b4e9ce884 3510 }
yabahiro 48:5562a99479e5 3511
yabahiro 49:697b4e9ce884 3512 if(cross==2) {
yabahiro 49:697b4e9ce884 3513 fast = 10;
yabahiro 49:697b4e9ce884 3514 normal = 10;
yabahiro 49:697b4e9ce884 3515 slow = 5;
yabahiro 49:697b4e9ce884 3516 }
yabahiro 48:5562a99479e5 3517
yabahiro 49:697b4e9ce884 3518 if(cross==3) {
yabahiro 49:697b4e9ce884 3519 fast=40;
yabahiro 49:697b4e9ce884 3520 normal=30;
yabahiro 49:697b4e9ce884 3521 slow=20;
yabahiro 49:697b4e9ce884 3522 mode=11;
yabahiro 49:697b4e9ce884 3523 countss=0;
yabahiro 49:697b4e9ce884 3524 cross=0;
yabahiro 49:697b4e9ce884 3525 }
yabahiro 49:697b4e9ce884 3526 } else {
yabahiro 48:5562a99479e5 3527 mode=11;
yabahiro 48:5562a99479e5 3528 }
yabahiro 48:5562a99479e5 3529 break;
yabahiro 48:5562a99479e5 3530 case 0:
yabahiro 48:5562a99479e5 3531 motor[TIRE_FR].pwm = fast+50;
yabahiro 48:5562a99479e5 3532 motor[TIRE_FR].dir = FOR;
yabahiro 48:5562a99479e5 3533 motor[TIRE_FL].pwm = fast+50;
yabahiro 48:5562a99479e5 3534 motor[TIRE_FL].dir = BACK;
yabahiro 48:5562a99479e5 3535 motor[TIRE_BR].pwm = fast+50;
yabahiro 48:5562a99479e5 3536 motor[TIRE_BR].dir = FOR;
yabahiro 48:5562a99479e5 3537 motor[TIRE_BL].pwm = fast+50;
yabahiro 48:5562a99479e5 3538 motor[TIRE_BL].dir = BACK;
yabahiro 48:5562a99479e5 3539 mtc=true;
yabahiro 48:5562a99479e5 3540 break;
yabahiro 48:5562a99479e5 3541 case 255:
yabahiro 48:5562a99479e5 3542 motor[TIRE_FR].pwm = fast+50;
yabahiro 48:5562a99479e5 3543 motor[TIRE_FR].dir = FOR;
yabahiro 48:5562a99479e5 3544 motor[TIRE_FL].pwm = slow+50;
yabahiro 48:5562a99479e5 3545 motor[TIRE_FL].dir = BACK;
yabahiro 48:5562a99479e5 3546 motor[TIRE_BR].pwm = slow+50;
yabahiro 48:5562a99479e5 3547 motor[TIRE_BR].dir = FOR;
yabahiro 48:5562a99479e5 3548 motor[TIRE_BL].pwm = fast+50;
yabahiro 48:5562a99479e5 3549 motor[TIRE_BL].dir = BACK;
yabahiro 48:5562a99479e5 3550 mtc=true;
yabahiro 48:5562a99479e5 3551 break;
yabahiro 48:5562a99479e5 3552 case 253:
yabahiro 48:5562a99479e5 3553 motor[TIRE_FR].pwm = slow+50;
yabahiro 48:5562a99479e5 3554 motor[TIRE_FR].dir = FOR;
yabahiro 48:5562a99479e5 3555 motor[TIRE_FL].pwm = 0;
yabahiro 48:5562a99479e5 3556 motor[TIRE_FL].dir = FREE;
yabahiro 48:5562a99479e5 3557 motor[TIRE_BR].pwm = 0;
yabahiro 48:5562a99479e5 3558 motor[TIRE_BR].dir = FREE;
yabahiro 48:5562a99479e5 3559 motor[TIRE_BL].pwm = slow+50;
yabahiro 48:5562a99479e5 3560 motor[TIRE_BL].dir = BACK;
yabahiro 48:5562a99479e5 3561 mtc=true;
yabahiro 48:5562a99479e5 3562 break;
yabahiro 48:5562a99479e5 3563 case 254:
yabahiro 48:5562a99479e5 3564 motor[TIRE_FR].pwm = normal+50;
yabahiro 48:5562a99479e5 3565 motor[TIRE_FR].dir = FOR;
yabahiro 48:5562a99479e5 3566 motor[TIRE_FL].pwm = 0;
yabahiro 48:5562a99479e5 3567 motor[TIRE_FL].dir = FREE;
yabahiro 48:5562a99479e5 3568 motor[TIRE_BR].pwm = 0;
yabahiro 48:5562a99479e5 3569 motor[TIRE_BR].dir = FREE;
yabahiro 48:5562a99479e5 3570 motor[TIRE_BL].pwm = normal+50;
yabahiro 48:5562a99479e5 3571 motor[TIRE_BL].dir = BACK;
yabahiro 48:5562a99479e5 3572 mtc=true;
yabahiro 48:5562a99479e5 3573 break;
yabahiro 48:5562a99479e5 3574 case 1:
yabahiro 48:5562a99479e5 3575 motor[TIRE_FR].pwm = slow+50;
yabahiro 48:5562a99479e5 3576 motor[TIRE_FR].dir = FOR;
yabahiro 48:5562a99479e5 3577 motor[TIRE_FL].pwm = fast+50;
yabahiro 48:5562a99479e5 3578 motor[TIRE_FL].dir = BACK;
yabahiro 48:5562a99479e5 3579 motor[TIRE_BR].pwm = fast+50;
yabahiro 48:5562a99479e5 3580 motor[TIRE_BR].dir = FOR;
yabahiro 48:5562a99479e5 3581 motor[TIRE_BL].pwm = slow+50;
yabahiro 48:5562a99479e5 3582 motor[TIRE_BL].dir = BACK;
yabahiro 48:5562a99479e5 3583 mtc=true;
yabahiro 48:5562a99479e5 3584 break;
yabahiro 48:5562a99479e5 3585 case 3:
yabahiro 48:5562a99479e5 3586 motor[TIRE_FR].pwm = 0;
yabahiro 48:5562a99479e5 3587 motor[TIRE_FR].dir = FREE;
yabahiro 48:5562a99479e5 3588 motor[TIRE_FL].pwm = slow+50;
yabahiro 48:5562a99479e5 3589 motor[TIRE_FL].dir = BACK;
yabahiro 48:5562a99479e5 3590 motor[TIRE_BR].pwm = slow+50;
yabahiro 48:5562a99479e5 3591 motor[TIRE_BR].dir = FOR;
yabahiro 48:5562a99479e5 3592 motor[TIRE_BL].pwm = 0;
yabahiro 48:5562a99479e5 3593 motor[TIRE_BL].dir = FREE;
yabahiro 48:5562a99479e5 3594 mtc=true;
yabahiro 48:5562a99479e5 3595 break;
yabahiro 48:5562a99479e5 3596 case 2:
yabahiro 48:5562a99479e5 3597 motor[TIRE_FR].pwm = 0;
yabahiro 48:5562a99479e5 3598 motor[TIRE_FR].dir = FREE;
yabahiro 48:5562a99479e5 3599 motor[TIRE_FL].pwm = normal+50;
yabahiro 48:5562a99479e5 3600 motor[TIRE_FL].dir = BACK;
yabahiro 48:5562a99479e5 3601 motor[TIRE_BR].pwm = normal+50;
yabahiro 48:5562a99479e5 3602 motor[TIRE_BR].dir = FOR;
yabahiro 48:5562a99479e5 3603 motor[TIRE_BL].pwm = 0;
yabahiro 48:5562a99479e5 3604 motor[TIRE_BL].dir = FREE;
yabahiro 48:5562a99479e5 3605 mtc=true;
yabahiro 48:5562a99479e5 3606 break;
yabahiro 48:5562a99479e5 3607 }
yabahiro 48:5562a99479e5 3608 if(g[1]!=98&&mtc==true) {
yabahiro 48:5562a99479e5 3609 switch(g[0]) {
yabahiro 48:5562a99479e5 3610 case 0:
yabahiro 48:5562a99479e5 3611 mtc=false;
yabahiro 48:5562a99479e5 3612 break;
yabahiro 48:5562a99479e5 3613 case 255:
yabahiro 48:5562a99479e5 3614 motor[TIRE_FL].pwm += 3;
yabahiro 48:5562a99479e5 3615 mtc=false;
yabahiro 48:5562a99479e5 3616 break;
yabahiro 48:5562a99479e5 3617 case 253:
yabahiro 48:5562a99479e5 3618 motor[TIRE_FL].pwm += 6;
yabahiro 48:5562a99479e5 3619 mtc=false;
yabahiro 48:5562a99479e5 3620 break;
yabahiro 48:5562a99479e5 3621 case 254:
yabahiro 48:5562a99479e5 3622 motor[TIRE_FL].pwm += 9;
yabahiro 48:5562a99479e5 3623 motor[TIRE_FR].pwm = 0;
yabahiro 48:5562a99479e5 3624 mtc=false;
yabahiro 48:5562a99479e5 3625 break;
yabahiro 48:5562a99479e5 3626 case 1:
yabahiro 48:5562a99479e5 3627 motor[TIRE_FR].pwm += 3;
yabahiro 48:5562a99479e5 3628 mtc=false;
yabahiro 48:5562a99479e5 3629 break;
yabahiro 48:5562a99479e5 3630 case 3:
yabahiro 48:5562a99479e5 3631 motor[TIRE_FR].pwm += 6;
yabahiro 48:5562a99479e5 3632 mtc=false;
yabahiro 48:5562a99479e5 3633 break;
yabahiro 48:5562a99479e5 3634 case 2:
yabahiro 48:5562a99479e5 3635 motor[TIRE_FR].pwm += 9;
yabahiro 48:5562a99479e5 3636 motor[TIRE_FL].pwm = 0;
yabahiro 48:5562a99479e5 3637 mtc=false;
yabahiro 48:5562a99479e5 3638 break;
yabahiro 48:5562a99479e5 3639 }
yabahiro 48:5562a99479e5 3640 }
yabahiro 48:5562a99479e5 3641 } else if(mode==11) {
yabahiro 48:5562a99479e5 3642 motor[TIRE_FR].pwm = normal;
yabahiro 48:5562a99479e5 3643 motor[TIRE_FR].dir = FOR;
yabahiro 49:697b4e9ce884 3644 motor[TIRE_FL].pwm = 50;
yabahiro 49:697b4e9ce884 3645 motor[TIRE_FL].dir = BRAKE;
yabahiro 49:697b4e9ce884 3646 motor[TIRE_BR].pwm = 50;
yabahiro 49:697b4e9ce884 3647 motor[TIRE_BR].dir = BRAKE;
yabahiro 48:5562a99479e5 3648 motor[TIRE_BL].pwm = normal;
yabahiro 48:5562a99479e5 3649 motor[TIRE_BL].dir = BACK;
yabahiro 48:5562a99479e5 3650 if(g[2]==0 || g[2]==255 || g[2]==254 || g[2]==253) {
yabahiro 48:5562a99479e5 3651 countss=0;
yabahiro 48:5562a99479e5 3652 cross=0;
yabahiro 48:5562a99479e5 3653 mode=20;
yabahiro 48:5562a99479e5 3654 }
yabahiro 48:5562a99479e5 3655 } else if(mode==20) {
yabahiro 48:5562a99479e5 3656 switch(g[2]) {
yabahiro 48:5562a99479e5 3657 case 98:
yabahiro 48:5562a99479e5 3658 motor[TIRE_FR].pwm = normal+20;
yabahiro 48:5562a99479e5 3659 motor[TIRE_FR].dir = FOR;
yabahiro 48:5562a99479e5 3660 motor[TIRE_FL].pwm = normal+20;
yabahiro 48:5562a99479e5 3661 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 3662 motor[TIRE_BR].pwm = normal+20;
yabahiro 48:5562a99479e5 3663 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 3664 motor[TIRE_BL].pwm = normal+20;
yabahiro 48:5562a99479e5 3665 motor[TIRE_BL].dir = BACK;
yabahiro 48:5562a99479e5 3666 if(countss>30000) {
yabahiro 48:5562a99479e5 3667 cross++;
yabahiro 48:5562a99479e5 3668 countss=0;
yabahiro 48:5562a99479e5 3669 }
yabahiro 48:5562a99479e5 3670 mtc2=true;
yabahiro 48:5562a99479e5 3671
yabahiro 48:5562a99479e5 3672 if(YELLOW) {
yabahiro 49:697b4e9ce884 3673 solenoid.solenoid4= SOLENOID_ON;
yabahiro 48:5562a99479e5 3674 if(cross==1) {
yabahiro 48:5562a99479e5 3675 fast=20;
yabahiro 48:5562a99479e5 3676 normal=15;
yabahiro 48:5562a99479e5 3677 slow=15;
yabahiro 48:5562a99479e5 3678 } else if(cross==2) {
yabahiro 48:5562a99479e5 3679 mode=21;
yabahiro 48:5562a99479e5 3680 countss=0;
yabahiro 48:5562a99479e5 3681 cross=0;
yabahiro 48:5562a99479e5 3682 }
yabahiro 48:5562a99479e5 3683 } else {
yabahiro 49:697b4e9ce884 3684 if(cross==2) {
yabahiro 49:697b4e9ce884 3685 fast=20;
yabahiro 49:697b4e9ce884 3686 normal=15;
yabahiro 49:697b4e9ce884 3687 slow=15;
yabahiro 49:697b4e9ce884 3688 }
yabahiro 48:5562a99479e5 3689 if(cross==3) {
yabahiro 48:5562a99479e5 3690 mode=21;
yabahiro 48:5562a99479e5 3691 countss=0;
yabahiro 48:5562a99479e5 3692 cross=0;
yabahiro 48:5562a99479e5 3693 }
yabahiro 48:5562a99479e5 3694 }
yabahiro 48:5562a99479e5 3695 break;
yabahiro 48:5562a99479e5 3696 case 0:
yabahiro 48:5562a99479e5 3697 motor[TIRE_FR].pwm = fast+20;
yabahiro 48:5562a99479e5 3698 motor[TIRE_FR].dir = FOR;
yabahiro 48:5562a99479e5 3699 motor[TIRE_FL].pwm = fast+20;
yabahiro 48:5562a99479e5 3700 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 3701 motor[TIRE_BR].pwm = fast+20;
yabahiro 48:5562a99479e5 3702 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 3703 motor[TIRE_BL].pwm = fast+20;
yabahiro 48:5562a99479e5 3704 motor[TIRE_BL].dir = BACK;
yabahiro 48:5562a99479e5 3705 mtc2=true;
yabahiro 48:5562a99479e5 3706 break;
yabahiro 48:5562a99479e5 3707 case 255:
yabahiro 48:5562a99479e5 3708 motor[TIRE_FR].pwm = normal+20;
yabahiro 48:5562a99479e5 3709 motor[TIRE_FR].dir = FOR;
yabahiro 48:5562a99479e5 3710 motor[TIRE_FL].pwm = fast+20;
yabahiro 48:5562a99479e5 3711 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 3712 motor[TIRE_BR].pwm = fast+20;
yabahiro 48:5562a99479e5 3713 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 3714 motor[TIRE_BL].pwm = normal+20;
yabahiro 48:5562a99479e5 3715 motor[TIRE_BL].dir = BACK;
yabahiro 48:5562a99479e5 3716 mtc2=true;
yabahiro 48:5562a99479e5 3717 break;
yabahiro 48:5562a99479e5 3718 case 253:
yabahiro 48:5562a99479e5 3719 motor[TIRE_FR].pwm = 0;
yabahiro 48:5562a99479e5 3720 motor[TIRE_FR].dir = FREE;
yabahiro 48:5562a99479e5 3721 motor[TIRE_FL].pwm = slow+20;
yabahiro 48:5562a99479e5 3722 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 3723 motor[TIRE_BR].pwm = slow+20;
yabahiro 48:5562a99479e5 3724 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 3725 motor[TIRE_BL].pwm = 0;
yabahiro 48:5562a99479e5 3726 motor[TIRE_BL].dir = FREE;
yabahiro 48:5562a99479e5 3727 mtc2=true;
yabahiro 48:5562a99479e5 3728 break;
yabahiro 48:5562a99479e5 3729 case 254:
yabahiro 48:5562a99479e5 3730 motor[TIRE_FR].pwm = 0;
yabahiro 48:5562a99479e5 3731 motor[TIRE_FR].dir = FREE;
yabahiro 48:5562a99479e5 3732 motor[TIRE_FL].pwm = normal+20;
yabahiro 48:5562a99479e5 3733 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 3734 motor[TIRE_BR].pwm = normal+20;
yabahiro 48:5562a99479e5 3735 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 3736 motor[TIRE_BL].pwm = 0;
yabahiro 48:5562a99479e5 3737 motor[TIRE_BL].dir = FREE;
yabahiro 48:5562a99479e5 3738 mtc2=true;
yabahiro 48:5562a99479e5 3739 break;
yabahiro 48:5562a99479e5 3740 case 1:
yabahiro 48:5562a99479e5 3741 motor[TIRE_FR].pwm = fast+20;
yabahiro 48:5562a99479e5 3742 motor[TIRE_FR].dir = FOR;
yabahiro 48:5562a99479e5 3743 motor[TIRE_FL].pwm = slow+20;
yabahiro 48:5562a99479e5 3744 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 3745 motor[TIRE_BR].pwm = slow+20;
yabahiro 48:5562a99479e5 3746 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 3747 motor[TIRE_BL].pwm = fast+20;
yabahiro 48:5562a99479e5 3748 motor[TIRE_BL].dir = BACK;
yabahiro 48:5562a99479e5 3749 mtc2=true;
yabahiro 48:5562a99479e5 3750 break;
yabahiro 48:5562a99479e5 3751 case 3:
yabahiro 48:5562a99479e5 3752 motor[TIRE_FR].pwm = slow+20;
yabahiro 48:5562a99479e5 3753 motor[TIRE_FR].dir = FOR;
yabahiro 48:5562a99479e5 3754 motor[TIRE_FL].pwm = 0;
yabahiro 48:5562a99479e5 3755 motor[TIRE_FL].dir = FREE;
yabahiro 48:5562a99479e5 3756 motor[TIRE_BR].pwm = 0;
yabahiro 48:5562a99479e5 3757 motor[TIRE_BR].dir = FREE;
yabahiro 48:5562a99479e5 3758 motor[TIRE_BL].pwm = slow+20;
yabahiro 48:5562a99479e5 3759 motor[TIRE_BL].dir = BACK;
yabahiro 48:5562a99479e5 3760 mtc2=true;
yabahiro 48:5562a99479e5 3761 break;
yabahiro 48:5562a99479e5 3762 case 2:
yabahiro 48:5562a99479e5 3763 motor[TIRE_FR].pwm = normal+20;
yabahiro 48:5562a99479e5 3764 motor[TIRE_FR].dir = FOR;
yabahiro 48:5562a99479e5 3765 motor[TIRE_FL].pwm = 0;
yabahiro 48:5562a99479e5 3766 motor[TIRE_FL].dir = FREE;
yabahiro 48:5562a99479e5 3767 motor[TIRE_BR].pwm = 0;
yabahiro 48:5562a99479e5 3768 motor[TIRE_BR].dir = FREE;
yabahiro 48:5562a99479e5 3769 motor[TIRE_BL].pwm = normal+20;
yabahiro 48:5562a99479e5 3770 motor[TIRE_BL].dir = BACK;
yabahiro 48:5562a99479e5 3771 mtc2=true;
yabahiro 48:5562a99479e5 3772 break;
yabahiro 48:5562a99479e5 3773 }
yabahiro 48:5562a99479e5 3774 if(g[2]!=98&&mtc2==true) {
yabahiro 48:5562a99479e5 3775 switch(g[3]) {
yabahiro 48:5562a99479e5 3776 case 0:
yabahiro 48:5562a99479e5 3777 mtc2=false;
yabahiro 48:5562a99479e5 3778 break;
yabahiro 48:5562a99479e5 3779 case 255:
yabahiro 48:5562a99479e5 3780 motor[TIRE_BL].pwm += 5;
yabahiro 48:5562a99479e5 3781 mtc2=false;
yabahiro 48:5562a99479e5 3782 break;
yabahiro 48:5562a99479e5 3783 case 253:
yabahiro 48:5562a99479e5 3784 motor[TIRE_BL].pwm += 10;
yabahiro 48:5562a99479e5 3785 mtc2=false;
yabahiro 48:5562a99479e5 3786 break;
yabahiro 48:5562a99479e5 3787 case 254:
yabahiro 48:5562a99479e5 3788 motor[TIRE_BL].pwm += 15;
yabahiro 48:5562a99479e5 3789 motor[TIRE_FL].pwm = 0;
yabahiro 48:5562a99479e5 3790 mtc2=false;
yabahiro 48:5562a99479e5 3791 break;
yabahiro 48:5562a99479e5 3792 case 1:
yabahiro 48:5562a99479e5 3793 motor[TIRE_FL].pwm += 5;
yabahiro 48:5562a99479e5 3794 mtc2=false;
yabahiro 48:5562a99479e5 3795 break;
yabahiro 48:5562a99479e5 3796 case 3:
yabahiro 48:5562a99479e5 3797 motor[TIRE_FL].pwm += 10;
yabahiro 48:5562a99479e5 3798 mtc2=false;
yabahiro 48:5562a99479e5 3799 break;
yabahiro 48:5562a99479e5 3800 case 2:
yabahiro 48:5562a99479e5 3801 motor[TIRE_FL].pwm += 15;
yabahiro 48:5562a99479e5 3802 motor[TIRE_BL].pwm = 0;
yabahiro 48:5562a99479e5 3803 mtc2=false;
yabahiro 48:5562a99479e5 3804 break;
yabahiro 48:5562a99479e5 3805 }
yabahiro 48:5562a99479e5 3806 }
yabahiro 48:5562a99479e5 3807 }
yabahiro 48:5562a99479e5 3808 if(YELLOW) {
yabahiro 48:5562a99479e5 3809 if(mode==21) {
yabahiro 48:5562a99479e5 3810 motor[TIRE_FR].pwm = 20;
yabahiro 48:5562a99479e5 3811 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 3812 motor[TIRE_FL].pwm = 20;
yabahiro 48:5562a99479e5 3813 motor[TIRE_FL].dir = BACK;
yabahiro 48:5562a99479e5 3814 motor[TIRE_BR].pwm = 20;
yabahiro 48:5562a99479e5 3815 motor[TIRE_BR].dir = FOR;
yabahiro 48:5562a99479e5 3816 motor[TIRE_BL].pwm = 20;
yabahiro 48:5562a99479e5 3817 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 3818 if(g[3]==98&&countss>=10000) {
yabahiro 48:5562a99479e5 3819 mode=22;
yabahiro 48:5562a99479e5 3820 countss=0;
yabahiro 48:5562a99479e5 3821 fast=60;
yabahiro 48:5562a99479e5 3822 normal=40;
yabahiro 48:5562a99479e5 3823 slow=20;
yabahiro 48:5562a99479e5 3824 }
yabahiro 48:5562a99479e5 3825 } else if(mode==22) {
yabahiro 48:5562a99479e5 3826 if(g[4]==3||g[4]==2) {
yabahiro 48:5562a99479e5 3827 motor[TIRE_FR].pwm = 30;
yabahiro 48:5562a99479e5 3828 motor[TIRE_FR].dir = FOR;
yabahiro 48:5562a99479e5 3829 motor[TIRE_FL].pwm = 30;
yabahiro 48:5562a99479e5 3830 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 3831 motor[TIRE_BR].pwm = 30;
yabahiro 48:5562a99479e5 3832 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 3833 motor[TIRE_BL].pwm = 30;
yabahiro 48:5562a99479e5 3834 motor[TIRE_BL].dir = BACK;
yabahiro 48:5562a99479e5 3835 }
yabahiro 48:5562a99479e5 3836 if(g[4]==253||g[4]==254) {
yabahiro 48:5562a99479e5 3837 motor[TIRE_FR].pwm = 30;
yabahiro 48:5562a99479e5 3838 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 3839 motor[TIRE_FL].pwm = 30;
yabahiro 48:5562a99479e5 3840 motor[TIRE_FL].dir = BACK;
yabahiro 48:5562a99479e5 3841 motor[TIRE_BR].pwm = 30;
yabahiro 48:5562a99479e5 3842 motor[TIRE_BR].dir = FOR;
yabahiro 48:5562a99479e5 3843 motor[TIRE_BL].pwm = 30;
yabahiro 48:5562a99479e5 3844 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 3845 }
yabahiro 48:5562a99479e5 3846 switch(g[2]) {
yabahiro 48:5562a99479e5 3847 case 0:
yabahiro 48:5562a99479e5 3848 motor[TIRE_FR].pwm = 20;
yabahiro 48:5562a99479e5 3849 motor[TIRE_FR].dir = FREE;
yabahiro 48:5562a99479e5 3850 motor[TIRE_BR].pwm = 20;
yabahiro 48:5562a99479e5 3851 motor[TIRE_BR].dir = FREE;
yabahiro 48:5562a99479e5 3852 break;
yabahiro 48:5562a99479e5 3853 case 255:
yabahiro 48:5562a99479e5 3854 motor[TIRE_FR].pwm = 30;
yabahiro 48:5562a99479e5 3855 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 3856 motor[TIRE_BR].pwm = 20;
yabahiro 48:5562a99479e5 3857 motor[TIRE_BR].dir = FREE;
yabahiro 48:5562a99479e5 3858 break;
yabahiro 48:5562a99479e5 3859 case 253:
yabahiro 48:5562a99479e5 3860 motor[TIRE_FR].pwm = 40;
yabahiro 48:5562a99479e5 3861 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 3862 motor[TIRE_BR].pwm = 20;
yabahiro 48:5562a99479e5 3863 motor[TIRE_BR].dir = FREE;
yabahiro 48:5562a99479e5 3864 break;
yabahiro 48:5562a99479e5 3865 case 254:
yabahiro 48:5562a99479e5 3866 motor[TIRE_FR].pwm = 30;
yabahiro 48:5562a99479e5 3867 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 3868 motor[TIRE_BR].pwm = 30;
yabahiro 48:5562a99479e5 3869 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 3870 break;
yabahiro 48:5562a99479e5 3871 case 1:
yabahiro 48:5562a99479e5 3872 motor[TIRE_FR].pwm = 20;
yabahiro 48:5562a99479e5 3873 motor[TIRE_FR].dir = FREE;
yabahiro 48:5562a99479e5 3874 motor[TIRE_BR].pwm = 30;
yabahiro 48:5562a99479e5 3875 motor[TIRE_BR].dir = FOR;
yabahiro 48:5562a99479e5 3876 break;
yabahiro 48:5562a99479e5 3877 case 3:
yabahiro 48:5562a99479e5 3878 motor[TIRE_FR].pwm = 20;
yabahiro 48:5562a99479e5 3879 motor[TIRE_FR].dir = FREE;
yabahiro 48:5562a99479e5 3880 motor[TIRE_BR].pwm = 40;
yabahiro 48:5562a99479e5 3881 motor[TIRE_BR].dir = FOR;
yabahiro 48:5562a99479e5 3882 break;
yabahiro 48:5562a99479e5 3883 case 2:
yabahiro 48:5562a99479e5 3884 motor[TIRE_FR].pwm = 30;
yabahiro 48:5562a99479e5 3885 motor[TIRE_FR].dir = FOR;
yabahiro 48:5562a99479e5 3886 motor[TIRE_BR].pwm = 30;
yabahiro 48:5562a99479e5 3887 motor[TIRE_BR].dir = FOR;
yabahiro 48:5562a99479e5 3888 break;
yabahiro 48:5562a99479e5 3889 }
yabahiro 48:5562a99479e5 3890 switch(g[3]) {
yabahiro 48:5562a99479e5 3891 case 0:
yabahiro 48:5562a99479e5 3892 motor[TIRE_FL].pwm = 20;
yabahiro 48:5562a99479e5 3893 motor[TIRE_FL].dir = FREE;
yabahiro 48:5562a99479e5 3894 motor[TIRE_BL].pwm = 20;
yabahiro 48:5562a99479e5 3895 motor[TIRE_BL].dir = FREE;
yabahiro 48:5562a99479e5 3896 break;
yabahiro 48:5562a99479e5 3897 case 255:
yabahiro 48:5562a99479e5 3898 motor[TIRE_FL].pwm = 20;
yabahiro 48:5562a99479e5 3899 motor[TIRE_FL].dir = FREE;
yabahiro 48:5562a99479e5 3900 motor[TIRE_BL].pwm = 30;
yabahiro 48:5562a99479e5 3901 motor[TIRE_BL].dir = BACK;
yabahiro 48:5562a99479e5 3902 case 253:
yabahiro 48:5562a99479e5 3903 motor[TIRE_FL].pwm = 20;
yabahiro 48:5562a99479e5 3904 motor[TIRE_FL].dir = FREE;
yabahiro 48:5562a99479e5 3905 motor[TIRE_BL].pwm = 40;
yabahiro 48:5562a99479e5 3906 motor[TIRE_BL].dir = BACK;
yabahiro 48:5562a99479e5 3907 break;
yabahiro 48:5562a99479e5 3908 case 254:
yabahiro 48:5562a99479e5 3909 motor[TIRE_FL].pwm = 30;
yabahiro 48:5562a99479e5 3910 motor[TIRE_FL].dir = BACK;
yabahiro 48:5562a99479e5 3911 motor[TIRE_BL].pwm = 30;
yabahiro 48:5562a99479e5 3912 motor[TIRE_BL].dir = BACK;
yabahiro 48:5562a99479e5 3913 break;
yabahiro 48:5562a99479e5 3914 case 1:
yabahiro 48:5562a99479e5 3915 motor[TIRE_FL].pwm = 30;
yabahiro 48:5562a99479e5 3916 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 3917 motor[TIRE_BL].pwm = 20;
yabahiro 48:5562a99479e5 3918 motor[TIRE_BL].dir = FREE;
yabahiro 48:5562a99479e5 3919 break;
yabahiro 48:5562a99479e5 3920 case 3:
yabahiro 48:5562a99479e5 3921 motor[TIRE_FL].pwm = 40;
yabahiro 48:5562a99479e5 3922 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 3923 motor[TIRE_BL].pwm = 20;
yabahiro 48:5562a99479e5 3924 motor[TIRE_BL].dir = FREE;
yabahiro 48:5562a99479e5 3925 break;
yabahiro 48:5562a99479e5 3926 case 2:
yabahiro 48:5562a99479e5 3927 motor[TIRE_FL].pwm = 30;
yabahiro 48:5562a99479e5 3928 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 3929 motor[TIRE_BL].pwm = 30;
yabahiro 48:5562a99479e5 3930 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 3931 break;
yabahiro 48:5562a99479e5 3932 }
yabahiro 48:5562a99479e5 3933 if(g[3]==0&&g[2]==0) {
yabahiro 48:5562a99479e5 3934 mode=23;
yabahiro 48:5562a99479e5 3935 countss=0;
yabahiro 48:5562a99479e5 3936 }
yabahiro 48:5562a99479e5 3937 } else if(mode==23) {
yabahiro 48:5562a99479e5 3938 switch(g[4]) {
yabahiro 48:5562a99479e5 3939 case 98:
yabahiro 48:5562a99479e5 3940 motor[TIRE_FR].pwm = fast-5;
yabahiro 48:5562a99479e5 3941 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 3942 motor[TIRE_FL].pwm = fast-5;
yabahiro 48:5562a99479e5 3943 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 3944 motor[TIRE_BR].pwm = fast-5;
yabahiro 48:5562a99479e5 3945 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 3946 motor[TIRE_BL].pwm = fast-5;
yabahiro 48:5562a99479e5 3947 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 3948 break;
yabahiro 48:5562a99479e5 3949 case 99:
yabahiro 48:5562a99479e5 3950 motor[TIRE_FR].pwm = 0;
yabahiro 48:5562a99479e5 3951 motor[TIRE_FR].dir = FREE;
yabahiro 48:5562a99479e5 3952 motor[TIRE_FL].pwm = 0;
yabahiro 48:5562a99479e5 3953 motor[TIRE_FL].dir = FREE;
yabahiro 48:5562a99479e5 3954 motor[TIRE_BR].pwm = 0;
yabahiro 48:5562a99479e5 3955 motor[TIRE_BR].dir = FREE;
yabahiro 48:5562a99479e5 3956 motor[TIRE_BL].pwm = 0;
yabahiro 48:5562a99479e5 3957 motor[TIRE_BL].dir = FREE;
yabahiro 48:5562a99479e5 3958 break;
yabahiro 48:5562a99479e5 3959 case 0:
yabahiro 48:5562a99479e5 3960 motor[TIRE_FR].pwm = fast-5;
yabahiro 48:5562a99479e5 3961 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 3962 motor[TIRE_FL].pwm = fast-5;
yabahiro 48:5562a99479e5 3963 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 3964 motor[TIRE_BR].pwm = fast-5;
yabahiro 48:5562a99479e5 3965 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 3966 motor[TIRE_BL].pwm = fast-5;
yabahiro 48:5562a99479e5 3967 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 3968 break;
yabahiro 48:5562a99479e5 3969 case 255:
yabahiro 48:5562a99479e5 3970 motor[TIRE_FR].pwm = 0;
yabahiro 48:5562a99479e5 3971 motor[TIRE_FR].dir = FREE;
yabahiro 48:5562a99479e5 3972 motor[TIRE_FL].pwm = 0;
yabahiro 48:5562a99479e5 3973 motor[TIRE_FL].dir = FREE;
yabahiro 48:5562a99479e5 3974 motor[TIRE_BR].pwm = 0;
yabahiro 48:5562a99479e5 3975 motor[TIRE_BR].dir = FREE;
yabahiro 48:5562a99479e5 3976 motor[TIRE_BL].pwm = 0;
yabahiro 48:5562a99479e5 3977 motor[TIRE_BL].dir = FREE;
yabahiro 48:5562a99479e5 3978 break;
yabahiro 48:5562a99479e5 3979 case 253:
yabahiro 48:5562a99479e5 3980 motor[TIRE_FR].pwm = fast-5;
yabahiro 48:5562a99479e5 3981 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 3982 motor[TIRE_FL].pwm = slow-5;
yabahiro 48:5562a99479e5 3983 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 3984 motor[TIRE_BR].pwm = slow-5;
yabahiro 48:5562a99479e5 3985 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 3986 motor[TIRE_BL].pwm = fast-5;
yabahiro 48:5562a99479e5 3987 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 3988 break;
yabahiro 48:5562a99479e5 3989 case 254:
yabahiro 48:5562a99479e5 3990 motor[TIRE_FR].pwm = fast-5;
yabahiro 48:5562a99479e5 3991 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 3992 motor[TIRE_FL].pwm = normal-5;
yabahiro 48:5562a99479e5 3993 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 3994 motor[TIRE_BR].pwm = normal-5;
yabahiro 48:5562a99479e5 3995 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 3996 motor[TIRE_BL].pwm = fast-5;
yabahiro 48:5562a99479e5 3997 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 3998 break;
yabahiro 48:5562a99479e5 3999 case 1:
yabahiro 48:5562a99479e5 4000 motor[TIRE_FR].pwm = 0;
yabahiro 48:5562a99479e5 4001 motor[TIRE_FR].dir = FREE;
yabahiro 48:5562a99479e5 4002 motor[TIRE_FL].pwm = 0;
yabahiro 48:5562a99479e5 4003 motor[TIRE_FL].dir = FREE;
yabahiro 48:5562a99479e5 4004 motor[TIRE_BR].pwm = 0;
yabahiro 48:5562a99479e5 4005 motor[TIRE_BR].dir = FREE;
yabahiro 48:5562a99479e5 4006 motor[TIRE_BL].pwm = 0;
yabahiro 48:5562a99479e5 4007 motor[TIRE_BL].dir = FREE;
yabahiro 48:5562a99479e5 4008 break;
yabahiro 48:5562a99479e5 4009 case 3:
yabahiro 48:5562a99479e5 4010 motor[TIRE_FR].pwm = slow-5;
yabahiro 48:5562a99479e5 4011 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4012 motor[TIRE_FL].pwm = fast-5;
yabahiro 48:5562a99479e5 4013 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 4014 motor[TIRE_BR].pwm = fast-5;
yabahiro 48:5562a99479e5 4015 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 4016 motor[TIRE_BL].pwm = slow-5;
yabahiro 48:5562a99479e5 4017 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4018 break;
yabahiro 48:5562a99479e5 4019 case 2:
yabahiro 48:5562a99479e5 4020 motor[TIRE_FR].pwm = normal-5;
yabahiro 48:5562a99479e5 4021 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4022 motor[TIRE_FL].pwm = fast-5;
yabahiro 48:5562a99479e5 4023 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 4024 motor[TIRE_BR].pwm = fast-5;
yabahiro 48:5562a99479e5 4025 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 4026 motor[TIRE_BL].pwm = normal-5;
yabahiro 48:5562a99479e5 4027 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4028 break;
yabahiro 48:5562a99479e5 4029 }
yabahiro 48:5562a99479e5 4030 if(g[2]==254&&countss>=100000) {
yabahiro 48:5562a99479e5 4031 mode=24;
yabahiro 48:5562a99479e5 4032 solenoid.solenoid4 = SOLENOID_OFF;
yabahiro 48:5562a99479e5 4033 countss=0;
yabahiro 48:5562a99479e5 4034 fast=60;
yabahiro 48:5562a99479e5 4035 normal=40;
yabahiro 48:5562a99479e5 4036 slow=20;
yabahiro 48:5562a99479e5 4037 }
yabahiro 48:5562a99479e5 4038 } else if(mode==24) {
yabahiro 48:5562a99479e5 4039 motor[TIRE_FR].pwm = 60;
yabahiro 48:5562a99479e5 4040 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4041 motor[TIRE_FL].pwm = 60;
yabahiro 48:5562a99479e5 4042 motor[TIRE_FL].dir = BRAKE;
yabahiro 48:5562a99479e5 4043 motor[TIRE_BR].pwm = 60;
yabahiro 48:5562a99479e5 4044 motor[TIRE_BR].dir = BRAKE;
yabahiro 48:5562a99479e5 4045 motor[TIRE_BL].pwm = 60;
yabahiro 48:5562a99479e5 4046 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4047 if(g[0]==0) {
yabahiro 48:5562a99479e5 4048 mode=25;
yabahiro 48:5562a99479e5 4049 }
yabahiro 48:5562a99479e5 4050 } else if(mode==25) {
yabahiro 48:5562a99479e5 4051 motor[TIRE_FR].pwm = 100;
yabahiro 48:5562a99479e5 4052 motor[TIRE_FR].dir = BRAKE;
yabahiro 48:5562a99479e5 4053 motor[TIRE_FL].pwm = 100;
yabahiro 48:5562a99479e5 4054 motor[TIRE_FL].dir = BRAKE;
yabahiro 48:5562a99479e5 4055 motor[TIRE_BR].pwm = 100;
yabahiro 48:5562a99479e5 4056 motor[TIRE_BR].dir = BRAKE;
yabahiro 48:5562a99479e5 4057 motor[TIRE_BL].pwm = 100;
yabahiro 48:5562a99479e5 4058 motor[TIRE_BL].dir = BRAKE;
yabahiro 48:5562a99479e5 4059 if(DOLS==true||UPLS==true) {
yabahiro 48:5562a99479e5 4060 motor[MOTOR_0].pwm = 200;
yabahiro 48:5562a99479e5 4061 motor[MOTOR_0].dir = BRAKE;
yabahiro 48:5562a99479e5 4062 mode=26;
yabahiro 48:5562a99479e5 4063 countss=0;
yabahiro 48:5562a99479e5 4064 } else {
yabahiro 48:5562a99479e5 4065 motor[MOTOR_0].pwm = 100;
yabahiro 48:5562a99479e5 4066 motor[MOTOR_0].dir = BACK;
yabahiro 48:5562a99479e5 4067 }
yabahiro 48:5562a99479e5 4068 } else if(mode==26) {
yabahiro 48:5562a99479e5 4069 if(g[0]==98&&countss>=40000) {
yabahiro 48:5562a99479e5 4070 mode=31;
yabahiro 48:5562a99479e5 4071 countss=0;
yabahiro 48:5562a99479e5 4072 }
yabahiro 48:5562a99479e5 4073 switch(g[0]) {
yabahiro 48:5562a99479e5 4074 case 98:
yabahiro 48:5562a99479e5 4075 fast=40;
yabahiro 48:5562a99479e5 4076 normal=30;
yabahiro 48:5562a99479e5 4077 slow=25;
yabahiro 48:5562a99479e5 4078 motor[TIRE_FR].pwm = normal;
yabahiro 48:5562a99479e5 4079 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4080 motor[TIRE_FL].pwm = normal;
yabahiro 48:5562a99479e5 4081 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 4082 motor[TIRE_BR].pwm = normal;
yabahiro 48:5562a99479e5 4083 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 4084 motor[TIRE_BL].pwm = normal;
yabahiro 48:5562a99479e5 4085 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4086 break;
yabahiro 48:5562a99479e5 4087 case 0:
yabahiro 48:5562a99479e5 4088 motor[TIRE_FR].pwm = fast;
yabahiro 48:5562a99479e5 4089 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4090 motor[TIRE_FL].pwm = fast;
yabahiro 48:5562a99479e5 4091 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 4092 motor[TIRE_BR].pwm = fast;
yabahiro 48:5562a99479e5 4093 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 4094 motor[TIRE_BL].pwm = fast;
yabahiro 48:5562a99479e5 4095 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4096 mtc=true;
yabahiro 48:5562a99479e5 4097 break;
yabahiro 48:5562a99479e5 4098 case 255:
yabahiro 48:5562a99479e5 4099 motor[TIRE_FR].pwm = fast;
yabahiro 48:5562a99479e5 4100 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4101 motor[TIRE_FL].pwm = slow;
yabahiro 48:5562a99479e5 4102 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 4103 motor[TIRE_BR].pwm = slow;
yabahiro 48:5562a99479e5 4104 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 4105 motor[TIRE_BL].pwm = fast;
yabahiro 48:5562a99479e5 4106 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4107 mtc=true;
yabahiro 48:5562a99479e5 4108 break;
yabahiro 48:5562a99479e5 4109 case 253:
yabahiro 48:5562a99479e5 4110 motor[TIRE_FR].pwm = slow;
yabahiro 48:5562a99479e5 4111 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4112 motor[TIRE_FL].pwm = 0;
yabahiro 48:5562a99479e5 4113 motor[TIRE_FL].dir = FREE;
yabahiro 48:5562a99479e5 4114 motor[TIRE_BR].pwm = 0;
yabahiro 48:5562a99479e5 4115 motor[TIRE_BR].dir = FREE;
yabahiro 48:5562a99479e5 4116 motor[TIRE_BL].pwm = slow;
yabahiro 48:5562a99479e5 4117 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4118 mtc=true;
yabahiro 48:5562a99479e5 4119 break;
yabahiro 48:5562a99479e5 4120 case 254:
yabahiro 48:5562a99479e5 4121 motor[TIRE_FR].pwm = normal;
yabahiro 48:5562a99479e5 4122 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4123 motor[TIRE_FL].pwm = 0;
yabahiro 48:5562a99479e5 4124 motor[TIRE_FL].dir = FREE;
yabahiro 48:5562a99479e5 4125 motor[TIRE_BR].pwm = 0;
yabahiro 48:5562a99479e5 4126 motor[TIRE_BR].dir = FREE;
yabahiro 48:5562a99479e5 4127 motor[TIRE_BL].pwm = normal;
yabahiro 48:5562a99479e5 4128 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4129 mtc=true;
yabahiro 48:5562a99479e5 4130 break;
yabahiro 48:5562a99479e5 4131 case 1:
yabahiro 48:5562a99479e5 4132 motor[TIRE_FR].pwm = slow;
yabahiro 48:5562a99479e5 4133 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4134 motor[TIRE_FL].pwm = fast;
yabahiro 48:5562a99479e5 4135 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 4136 motor[TIRE_BR].pwm = fast;
yabahiro 48:5562a99479e5 4137 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 4138 motor[TIRE_BL].pwm = slow;
yabahiro 48:5562a99479e5 4139 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4140 mtc=true;
yabahiro 48:5562a99479e5 4141 break;
yabahiro 48:5562a99479e5 4142 case 3:
yabahiro 48:5562a99479e5 4143 motor[TIRE_FR].pwm = 0;
yabahiro 48:5562a99479e5 4144 motor[TIRE_FR].dir = FREE;
yabahiro 48:5562a99479e5 4145 motor[TIRE_FL].pwm = slow;
yabahiro 48:5562a99479e5 4146 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 4147 motor[TIRE_BR].pwm = slow;
yabahiro 48:5562a99479e5 4148 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 4149 motor[TIRE_BL].pwm = 0;
yabahiro 48:5562a99479e5 4150 motor[TIRE_BL].dir = FREE;
yabahiro 48:5562a99479e5 4151 mtc=true;
yabahiro 48:5562a99479e5 4152 break;
yabahiro 48:5562a99479e5 4153 case 2:
yabahiro 48:5562a99479e5 4154 motor[TIRE_FR].pwm = 0;
yabahiro 48:5562a99479e5 4155 motor[TIRE_FR].dir = FREE;
yabahiro 48:5562a99479e5 4156 motor[TIRE_FL].pwm = normal;
yabahiro 48:5562a99479e5 4157 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 4158 motor[TIRE_BR].pwm = normal;
yabahiro 48:5562a99479e5 4159 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 4160 motor[TIRE_BL].pwm = 0;
yabahiro 48:5562a99479e5 4161 motor[TIRE_BL].dir = FREE;
yabahiro 48:5562a99479e5 4162 mtc=true;
yabahiro 48:5562a99479e5 4163 break;
yabahiro 48:5562a99479e5 4164 }
yabahiro 48:5562a99479e5 4165 if(g[1]!=98&&mtc==true) {
yabahiro 48:5562a99479e5 4166 switch(g[1]) {
yabahiro 48:5562a99479e5 4167 case 0:
yabahiro 48:5562a99479e5 4168 mtc=false;
yabahiro 48:5562a99479e5 4169 break;
yabahiro 48:5562a99479e5 4170 case 255:
yabahiro 48:5562a99479e5 4171 motor[TIRE_BR].pwm += 5;
yabahiro 48:5562a99479e5 4172 mtc=false;
yabahiro 48:5562a99479e5 4173 break;
yabahiro 48:5562a99479e5 4174 case 253:
yabahiro 48:5562a99479e5 4175 motor[TIRE_BR].pwm += 10;
yabahiro 48:5562a99479e5 4176 mtc=false;
yabahiro 48:5562a99479e5 4177 break;
yabahiro 48:5562a99479e5 4178 case 254:
yabahiro 48:5562a99479e5 4179 motor[TIRE_BR].pwm += 20;
yabahiro 48:5562a99479e5 4180 motor[TIRE_BL].pwm = 0;
yabahiro 48:5562a99479e5 4181 mtc=false;
yabahiro 48:5562a99479e5 4182 break;
yabahiro 48:5562a99479e5 4183 case 1:
yabahiro 48:5562a99479e5 4184 motor[TIRE_BL].pwm += 5;
yabahiro 48:5562a99479e5 4185 mtc=false;
yabahiro 48:5562a99479e5 4186 break;
yabahiro 48:5562a99479e5 4187 case 3:
yabahiro 48:5562a99479e5 4188 motor[TIRE_BL].pwm += 10;
yabahiro 48:5562a99479e5 4189 mtc=false;
yabahiro 48:5562a99479e5 4190 break;
yabahiro 48:5562a99479e5 4191 case 2:
yabahiro 48:5562a99479e5 4192 motor[TIRE_BL].pwm += 20;
yabahiro 48:5562a99479e5 4193 motor[TIRE_BR].pwm = 0;
yabahiro 48:5562a99479e5 4194 mtc=false;
yabahiro 48:5562a99479e5 4195 break;
yabahiro 48:5562a99479e5 4196 }
yabahiro 48:5562a99479e5 4197 }
yabahiro 48:5562a99479e5 4198 }
yabahiro 48:5562a99479e5 4199 } else {
yabahiro 48:5562a99479e5 4200 if(mode==21) {
yabahiro 49:697b4e9ce884 4201 if(g[0]==98&&countss>=40000) {
yabahiro 48:5562a99479e5 4202 fast=60;
yabahiro 48:5562a99479e5 4203 normal=30;
yabahiro 48:5562a99479e5 4204 slow=25;
yabahiro 48:5562a99479e5 4205 mode=31;
yabahiro 48:5562a99479e5 4206 countss=0;
yabahiro 48:5562a99479e5 4207 }
yabahiro 48:5562a99479e5 4208 switch(g[0]) {
yabahiro 48:5562a99479e5 4209 case 98:
yabahiro 48:5562a99479e5 4210 fast=40;
yabahiro 48:5562a99479e5 4211 normal=30;
yabahiro 48:5562a99479e5 4212 slow=25;
yabahiro 48:5562a99479e5 4213 motor[TIRE_FR].pwm = normal;
yabahiro 48:5562a99479e5 4214 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4215 motor[TIRE_FL].pwm = normal;
yabahiro 48:5562a99479e5 4216 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 4217 motor[TIRE_BR].pwm = normal;
yabahiro 48:5562a99479e5 4218 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 4219 motor[TIRE_BL].pwm = normal;
yabahiro 48:5562a99479e5 4220 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4221 break;
yabahiro 48:5562a99479e5 4222 case 0:
yabahiro 48:5562a99479e5 4223 motor[TIRE_FR].pwm = fast;
yabahiro 48:5562a99479e5 4224 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4225 motor[TIRE_FL].pwm = fast;
yabahiro 48:5562a99479e5 4226 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 4227 motor[TIRE_BR].pwm = fast;
yabahiro 48:5562a99479e5 4228 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 4229 motor[TIRE_BL].pwm = fast;
yabahiro 48:5562a99479e5 4230 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4231 mtc=true;
yabahiro 48:5562a99479e5 4232 break;
yabahiro 48:5562a99479e5 4233 case 255:
yabahiro 48:5562a99479e5 4234 motor[TIRE_FR].pwm = fast;
yabahiro 48:5562a99479e5 4235 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4236 motor[TIRE_FL].pwm = slow;
yabahiro 48:5562a99479e5 4237 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 4238 motor[TIRE_BR].pwm = slow;
yabahiro 48:5562a99479e5 4239 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 4240 motor[TIRE_BL].pwm = fast;
yabahiro 48:5562a99479e5 4241 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4242 mtc=true;
yabahiro 48:5562a99479e5 4243 break;
yabahiro 48:5562a99479e5 4244 case 253:
yabahiro 48:5562a99479e5 4245 motor[TIRE_FR].pwm = slow;
yabahiro 48:5562a99479e5 4246 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4247 motor[TIRE_FL].pwm = 0;
yabahiro 48:5562a99479e5 4248 motor[TIRE_FL].dir = FREE;
yabahiro 48:5562a99479e5 4249 motor[TIRE_BR].pwm = 0;
yabahiro 48:5562a99479e5 4250 motor[TIRE_BR].dir = FREE;
yabahiro 48:5562a99479e5 4251 motor[TIRE_BL].pwm = slow;
yabahiro 48:5562a99479e5 4252 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4253 mtc=true;
yabahiro 48:5562a99479e5 4254 break;
yabahiro 48:5562a99479e5 4255 case 254:
yabahiro 48:5562a99479e5 4256 motor[TIRE_FR].pwm = normal;
yabahiro 48:5562a99479e5 4257 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4258 motor[TIRE_FL].pwm = 0;
yabahiro 48:5562a99479e5 4259 motor[TIRE_FL].dir = FREE;
yabahiro 48:5562a99479e5 4260 motor[TIRE_BR].pwm = 0;
yabahiro 48:5562a99479e5 4261 motor[TIRE_BR].dir = FREE;
yabahiro 48:5562a99479e5 4262 motor[TIRE_BL].pwm = normal;
yabahiro 48:5562a99479e5 4263 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4264 mtc=true;
yabahiro 48:5562a99479e5 4265 break;
yabahiro 48:5562a99479e5 4266 case 1:
yabahiro 48:5562a99479e5 4267 motor[TIRE_FR].pwm = slow;
yabahiro 48:5562a99479e5 4268 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4269 motor[TIRE_FL].pwm = fast;
yabahiro 48:5562a99479e5 4270 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 4271 motor[TIRE_BR].pwm = fast;
yabahiro 48:5562a99479e5 4272 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 4273 motor[TIRE_BL].pwm = slow;
yabahiro 48:5562a99479e5 4274 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4275 mtc=true;
yabahiro 48:5562a99479e5 4276 break;
yabahiro 48:5562a99479e5 4277 case 3:
yabahiro 48:5562a99479e5 4278 motor[TIRE_FR].pwm = 0;
yabahiro 48:5562a99479e5 4279 motor[TIRE_FR].dir = FREE;
yabahiro 48:5562a99479e5 4280 motor[TIRE_FL].pwm = slow;
yabahiro 48:5562a99479e5 4281 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 4282 motor[TIRE_BR].pwm = slow;
yabahiro 48:5562a99479e5 4283 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 4284 motor[TIRE_BL].pwm = 0;
yabahiro 48:5562a99479e5 4285 motor[TIRE_BL].dir = FREE;
yabahiro 48:5562a99479e5 4286 mtc=true;
yabahiro 48:5562a99479e5 4287 break;
yabahiro 48:5562a99479e5 4288 case 2:
yabahiro 48:5562a99479e5 4289 motor[TIRE_FR].pwm = 0;
yabahiro 48:5562a99479e5 4290 motor[TIRE_FR].dir = FREE;
yabahiro 48:5562a99479e5 4291 motor[TIRE_FL].pwm = normal;
yabahiro 48:5562a99479e5 4292 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 4293 motor[TIRE_BR].pwm = normal;
yabahiro 48:5562a99479e5 4294 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 4295 motor[TIRE_BL].pwm = 0;
yabahiro 48:5562a99479e5 4296 motor[TIRE_BL].dir = FREE;
yabahiro 48:5562a99479e5 4297 mtc=true;
yabahiro 48:5562a99479e5 4298 break;
yabahiro 48:5562a99479e5 4299 }
yabahiro 48:5562a99479e5 4300 if(g[1]!=98&&mtc==true) {
yabahiro 48:5562a99479e5 4301 switch(g[1]) {
yabahiro 48:5562a99479e5 4302 case 0:
yabahiro 48:5562a99479e5 4303 mtc=false;
yabahiro 48:5562a99479e5 4304 break;
yabahiro 48:5562a99479e5 4305 case 255:
yabahiro 48:5562a99479e5 4306 motor[TIRE_BR].pwm += 5;
yabahiro 48:5562a99479e5 4307 mtc=false;
yabahiro 48:5562a99479e5 4308 break;
yabahiro 48:5562a99479e5 4309 case 253:
yabahiro 48:5562a99479e5 4310 motor[TIRE_BR].pwm += 10;
yabahiro 48:5562a99479e5 4311 mtc=false;
yabahiro 48:5562a99479e5 4312 break;
yabahiro 48:5562a99479e5 4313 case 254:
yabahiro 48:5562a99479e5 4314 motor[TIRE_BR].pwm += 20;
yabahiro 48:5562a99479e5 4315 motor[TIRE_BL].pwm = 0;
yabahiro 48:5562a99479e5 4316 mtc=false;
yabahiro 48:5562a99479e5 4317 break;
yabahiro 48:5562a99479e5 4318 case 1:
yabahiro 48:5562a99479e5 4319 motor[TIRE_BL].pwm += 5;
yabahiro 48:5562a99479e5 4320 mtc=false;
yabahiro 48:5562a99479e5 4321 break;
yabahiro 48:5562a99479e5 4322 case 3:
yabahiro 48:5562a99479e5 4323 motor[TIRE_BL].pwm += 10;
yabahiro 48:5562a99479e5 4324 mtc=false;
yabahiro 48:5562a99479e5 4325 break;
yabahiro 48:5562a99479e5 4326 case 2:
yabahiro 48:5562a99479e5 4327 motor[TIRE_BL].pwm += 20;
yabahiro 48:5562a99479e5 4328 motor[TIRE_BR].pwm = 0;
yabahiro 48:5562a99479e5 4329 mtc=false;
yabahiro 48:5562a99479e5 4330 break;
yabahiro 48:5562a99479e5 4331 }
yabahiro 48:5562a99479e5 4332 }
yabahiro 48:5562a99479e5 4333 }
yabahiro 48:5562a99479e5 4334 }
yabahiro 48:5562a99479e5 4335
yabahiro 48:5562a99479e5 4336 /*
yabahiro 48:5562a99479e5 4337 if(mode==31) {
yabahiro 48:5562a99479e5 4338 motor[TIRE_FR].pwm = 0;
yabahiro 48:5562a99479e5 4339 motor[TIRE_FR].dir = FREE;
yabahiro 48:5562a99479e5 4340 motor[TIRE_FL].pwm = 0;
yabahiro 48:5562a99479e5 4341 motor[TIRE_FL].dir = FREE;
yabahiro 48:5562a99479e5 4342 motor[TIRE_BR].pwm = 0;
yabahiro 48:5562a99479e5 4343 motor[TIRE_BR].dir = FREE;
yabahiro 48:5562a99479e5 4344 motor[TIRE_BL].pwm = 0;
yabahiro 48:5562a99479e5 4345 motor[TIRE_BL].dir = FREE;
yabahiro 48:5562a99479e5 4346 if(countss>=5000) {
yabahiro 48:5562a99479e5 4347 countss=0;
yabahiro 48:5562a99479e5 4348 mode=33;
yabahiro 48:5562a99479e5 4349 }
yabahiro 48:5562a99479e5 4350 } else if(mode==33) {
yabahiro 48:5562a99479e5 4351 motor[TIRE_FR].pwm = 30;
yabahiro 48:5562a99479e5 4352 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4353 motor[TIRE_FL].pwm = 0;
yabahiro 48:5562a99479e5 4354 motor[TIRE_FL].dir = FREE;
yabahiro 48:5562a99479e5 4355 motor[TIRE_BR].pwm = 0;
yabahiro 48:5562a99479e5 4356 motor[TIRE_BR].dir = FREE;
yabahiro 48:5562a99479e5 4357 motor[TIRE_BL].pwm = 30;
yabahiro 48:5562a99479e5 4358 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4359 if(g[3]==0) {
yabahiro 48:5562a99479e5 4360 cross=0;
yabahiro 48:5562a99479e5 4361 countss=0;
yabahiro 48:5562a99479e5 4362 mode=40;
yabahiro 48:5562a99479e5 4363 }
yabahiro 48:5562a99479e5 4364 } else
yabahiro 48:5562a99479e5 4365 */
yabahiro 48:5562a99479e5 4366 if(mode==31) {
yabahiro 48:5562a99479e5 4367 motor[TIRE_FR].pwm = 45;
yabahiro 48:5562a99479e5 4368 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4369 motor[TIRE_FL].pwm = 255;
yabahiro 48:5562a99479e5 4370 motor[TIRE_FL].dir = BRAKE;
yabahiro 48:5562a99479e5 4371 motor[TIRE_BR].pwm = 255;
yabahiro 48:5562a99479e5 4372 motor[TIRE_BR].dir = BRAKE;
yabahiro 48:5562a99479e5 4373 motor[TIRE_BL].pwm = 45;
yabahiro 48:5562a99479e5 4374 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4375 if(g[3]==0) {
yabahiro 48:5562a99479e5 4376 cross=0;
yabahiro 48:5562a99479e5 4377 countss=0;
yabahiro 48:5562a99479e5 4378 mode=40;
yabahiro 48:5562a99479e5 4379 }
yabahiro 48:5562a99479e5 4380 } else if(mode==40) {
yabahiro 48:5562a99479e5 4381 switch(g[3]) {
yabahiro 48:5562a99479e5 4382 case 98:
yabahiro 48:5562a99479e5 4383 motor[TIRE_FR].pwm = normal+15;
yabahiro 48:5562a99479e5 4384 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4385 motor[TIRE_FL].pwm = normal+15;
yabahiro 48:5562a99479e5 4386 motor[TIRE_FL].dir = BACK;
yabahiro 48:5562a99479e5 4387 motor[TIRE_BR].pwm = normal+15;
yabahiro 48:5562a99479e5 4388 motor[TIRE_BR].dir = FOR;
yabahiro 48:5562a99479e5 4389 motor[TIRE_BL].pwm = normal+15;
yabahiro 48:5562a99479e5 4390 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4391 if(countss>10000) {
yabahiro 48:5562a99479e5 4392 cross++;
yabahiro 48:5562a99479e5 4393 countss=0;
yabahiro 48:5562a99479e5 4394 }
yabahiro 48:5562a99479e5 4395 mtc2=true;
yabahiro 48:5562a99479e5 4396 if(cross==1) {
yabahiro 48:5562a99479e5 4397 mode=41;
yabahiro 48:5562a99479e5 4398 countss=0;
yabahiro 48:5562a99479e5 4399 cross=0;
yabahiro 48:5562a99479e5 4400 }
yabahiro 48:5562a99479e5 4401 break;
yabahiro 48:5562a99479e5 4402 case 0:
yabahiro 48:5562a99479e5 4403 motor[TIRE_FR].pwm = fast+15;
yabahiro 48:5562a99479e5 4404 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4405 motor[TIRE_FL].pwm = fast+15;
yabahiro 48:5562a99479e5 4406 motor[TIRE_FL].dir = BACK;
yabahiro 48:5562a99479e5 4407 motor[TIRE_BR].pwm = fast+15;
yabahiro 48:5562a99479e5 4408 motor[TIRE_BR].dir = FOR;
yabahiro 48:5562a99479e5 4409 motor[TIRE_BL].pwm = fast+15;
yabahiro 48:5562a99479e5 4410 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4411 mtc2=true;
yabahiro 48:5562a99479e5 4412 break;
yabahiro 48:5562a99479e5 4413 case 255:
yabahiro 48:5562a99479e5 4414 motor[TIRE_FR].pwm = slow+15;
yabahiro 48:5562a99479e5 4415 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4416 motor[TIRE_FL].pwm = fast+15;
yabahiro 48:5562a99479e5 4417 motor[TIRE_FL].dir = BACK;
yabahiro 48:5562a99479e5 4418 motor[TIRE_BR].pwm = fast+15;
yabahiro 48:5562a99479e5 4419 motor[TIRE_BR].dir = FOR;
yabahiro 48:5562a99479e5 4420 motor[TIRE_BL].pwm = slow+15;
yabahiro 48:5562a99479e5 4421 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4422 mtc2=true;
yabahiro 48:5562a99479e5 4423 break;
yabahiro 48:5562a99479e5 4424 case 253:
yabahiro 48:5562a99479e5 4425 motor[TIRE_FR].pwm = 0;
yabahiro 48:5562a99479e5 4426 motor[TIRE_FR].dir = FREE;
yabahiro 48:5562a99479e5 4427 motor[TIRE_FL].pwm = slow+15;
yabahiro 48:5562a99479e5 4428 motor[TIRE_FL].dir = BACK;
yabahiro 48:5562a99479e5 4429 motor[TIRE_BR].pwm = slow+15;
yabahiro 48:5562a99479e5 4430 motor[TIRE_BR].dir = FOR;
yabahiro 48:5562a99479e5 4431 motor[TIRE_BL].pwm = 0;
yabahiro 48:5562a99479e5 4432 motor[TIRE_BL].dir = FREE;
yabahiro 48:5562a99479e5 4433 mtc2=true;
yabahiro 48:5562a99479e5 4434 break;
yabahiro 48:5562a99479e5 4435 case 254:
yabahiro 48:5562a99479e5 4436 motor[TIRE_FR].pwm = 0;
yabahiro 48:5562a99479e5 4437 motor[TIRE_FR].dir = FREE;
yabahiro 48:5562a99479e5 4438 motor[TIRE_FL].pwm = normal+15;
yabahiro 48:5562a99479e5 4439 motor[TIRE_FL].dir = BACK;
yabahiro 48:5562a99479e5 4440 motor[TIRE_BR].pwm = normal+15;
yabahiro 48:5562a99479e5 4441 motor[TIRE_BR].dir = FOR;
yabahiro 48:5562a99479e5 4442 motor[TIRE_BL].pwm = 0;
yabahiro 48:5562a99479e5 4443 motor[TIRE_BL].dir = FREE;
yabahiro 48:5562a99479e5 4444 mtc2=true;
yabahiro 48:5562a99479e5 4445 break;
yabahiro 48:5562a99479e5 4446 case 1:
yabahiro 48:5562a99479e5 4447 motor[TIRE_FR].pwm = fast+15;
yabahiro 48:5562a99479e5 4448 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4449 motor[TIRE_FL].pwm = slow+15;
yabahiro 48:5562a99479e5 4450 motor[TIRE_FL].dir = BACK;
yabahiro 48:5562a99479e5 4451 motor[TIRE_BR].pwm = slow+15;
yabahiro 48:5562a99479e5 4452 motor[TIRE_BR].dir = FOR;
yabahiro 48:5562a99479e5 4453 motor[TIRE_BL].pwm = fast+15;
yabahiro 48:5562a99479e5 4454 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4455 mtc2=true;
yabahiro 48:5562a99479e5 4456 break;
yabahiro 48:5562a99479e5 4457 case 3:
yabahiro 48:5562a99479e5 4458 motor[TIRE_FR].pwm = slow+15;
yabahiro 48:5562a99479e5 4459 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4460 motor[TIRE_FL].pwm = 0;
yabahiro 48:5562a99479e5 4461 motor[TIRE_FL].dir = FREE;
yabahiro 48:5562a99479e5 4462 motor[TIRE_BR].pwm = 0;
yabahiro 48:5562a99479e5 4463 motor[TIRE_BR].dir = FREE;
yabahiro 48:5562a99479e5 4464 motor[TIRE_BL].pwm = slow+15;
yabahiro 48:5562a99479e5 4465 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4466 mtc2=true;
yabahiro 48:5562a99479e5 4467 break;
yabahiro 48:5562a99479e5 4468 case 2:
yabahiro 48:5562a99479e5 4469 motor[TIRE_FR].pwm = normal+15;
yabahiro 48:5562a99479e5 4470 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4471 motor[TIRE_FL].pwm = 0;
yabahiro 48:5562a99479e5 4472 motor[TIRE_FL].dir = FREE;
yabahiro 48:5562a99479e5 4473 motor[TIRE_BR].pwm = 0;
yabahiro 48:5562a99479e5 4474 motor[TIRE_BR].dir = FREE;
yabahiro 48:5562a99479e5 4475 motor[TIRE_BL].pwm = normal+15;
yabahiro 48:5562a99479e5 4476 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4477 mtc2=true;
yabahiro 48:5562a99479e5 4478 break;
yabahiro 48:5562a99479e5 4479 }
yabahiro 48:5562a99479e5 4480 if(g[2]!=98&&mtc2==true) {
yabahiro 48:5562a99479e5 4481 switch(g[2]) {
yabahiro 48:5562a99479e5 4482 case 0:
yabahiro 48:5562a99479e5 4483 mtc2=false;
yabahiro 48:5562a99479e5 4484 break;
yabahiro 48:5562a99479e5 4485 case 255:
yabahiro 48:5562a99479e5 4486 motor[TIRE_FL].pwm += 5;
yabahiro 48:5562a99479e5 4487 mtc2=false;
yabahiro 48:5562a99479e5 4488 break;
yabahiro 48:5562a99479e5 4489 case 253:
yabahiro 48:5562a99479e5 4490 motor[TIRE_FL].pwm += 10;
yabahiro 48:5562a99479e5 4491 mtc2=false;
yabahiro 48:5562a99479e5 4492 break;
yabahiro 48:5562a99479e5 4493 case 254:
yabahiro 48:5562a99479e5 4494 motor[TIRE_FL].pwm += 20;
yabahiro 48:5562a99479e5 4495 motor[TIRE_BL].pwm = 0;
yabahiro 48:5562a99479e5 4496 mtc2=false;
yabahiro 48:5562a99479e5 4497 break;
yabahiro 48:5562a99479e5 4498 case 1:
yabahiro 48:5562a99479e5 4499 motor[TIRE_BL].pwm += 5;
yabahiro 48:5562a99479e5 4500 mtc2=false;
yabahiro 48:5562a99479e5 4501 break;
yabahiro 48:5562a99479e5 4502 case 3:
yabahiro 48:5562a99479e5 4503 motor[TIRE_BL].pwm += 10;
yabahiro 48:5562a99479e5 4504 mtc2=false;
yabahiro 48:5562a99479e5 4505 break;
yabahiro 48:5562a99479e5 4506 case 2:
yabahiro 48:5562a99479e5 4507 motor[TIRE_BL].pwm += 20;
yabahiro 48:5562a99479e5 4508 motor[TIRE_FL].pwm = 0;
yabahiro 48:5562a99479e5 4509 mtc2=false;
yabahiro 48:5562a99479e5 4510 break;
yabahiro 48:5562a99479e5 4511 }
yabahiro 48:5562a99479e5 4512 }
yabahiro 48:5562a99479e5 4513 } else if(mode==41) {
yabahiro 48:5562a99479e5 4514 if(LIF||LIB) {
yabahiro 48:5562a99479e5 4515 mode=42;
yabahiro 48:5562a99479e5 4516 }
yabahiro 48:5562a99479e5 4517 motor[TIRE_FR].pwm = 30;
yabahiro 48:5562a99479e5 4518 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4519 motor[TIRE_FL].pwm = 0;
yabahiro 48:5562a99479e5 4520 motor[TIRE_FL].dir = FREE;
yabahiro 48:5562a99479e5 4521 motor[TIRE_BR].pwm = 0;
yabahiro 48:5562a99479e5 4522 motor[TIRE_BR].dir = FREE;
yabahiro 48:5562a99479e5 4523 motor[TIRE_BL].pwm = 30;
yabahiro 48:5562a99479e5 4524 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4525 if(g[1]==0) {
yabahiro 48:5562a99479e5 4526 countss=0;
yabahiro 48:5562a99479e5 4527 mode=70;
yabahiro 48:5562a99479e5 4528 normal=60;
yabahiro 48:5562a99479e5 4529 fast=70;
yabahiro 48:5562a99479e5 4530 slow=40;
yabahiro 48:5562a99479e5 4531 }
yabahiro 48:5562a99479e5 4532 } else if(mode==42) {
yabahiro 48:5562a99479e5 4533 motor[TIRE_FR].pwm = 40;
yabahiro 48:5562a99479e5 4534 motor[TIRE_FR].dir = FOR;
yabahiro 48:5562a99479e5 4535 motor[TIRE_FL].pwm = 0;
yabahiro 48:5562a99479e5 4536 motor[TIRE_FL].dir = FREE;
yabahiro 48:5562a99479e5 4537 motor[TIRE_BR].pwm = 0;
yabahiro 48:5562a99479e5 4538 motor[TIRE_BR].dir = FREE;
yabahiro 48:5562a99479e5 4539 motor[TIRE_BL].pwm = 40;
yabahiro 48:5562a99479e5 4540 motor[TIRE_BL].dir = BACK;
yabahiro 48:5562a99479e5 4541 if(g[1]==0) {
yabahiro 48:5562a99479e5 4542 countss=0;
yabahiro 48:5562a99479e5 4543 mode=70;
yabahiro 48:5562a99479e5 4544 }
yabahiro 48:5562a99479e5 4545 } else if(mode==70) {
yabahiro 48:5562a99479e5 4546 switch(g[0]) {
yabahiro 48:5562a99479e5 4547 case 99:
yabahiro 48:5562a99479e5 4548 if(countss>=100000) {
yabahiro 48:5562a99479e5 4549 mode=100;
yabahiro 48:5562a99479e5 4550 }
yabahiro 48:5562a99479e5 4551 break;
yabahiro 48:5562a99479e5 4552 case 98:
yabahiro 48:5562a99479e5 4553 motor[TIRE_FR].pwm = normal;
yabahiro 48:5562a99479e5 4554 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4555 motor[TIRE_FL].pwm = normal;
yabahiro 48:5562a99479e5 4556 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 4557 motor[TIRE_BR].pwm = normal;
yabahiro 48:5562a99479e5 4558 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 4559 motor[TIRE_BL].pwm = normal;
yabahiro 48:5562a99479e5 4560 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4561 break;
yabahiro 48:5562a99479e5 4562 case 0:
yabahiro 48:5562a99479e5 4563 motor[TIRE_FR].pwm = 80;
yabahiro 48:5562a99479e5 4564 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4565 motor[TIRE_FL].pwm = 80;
yabahiro 48:5562a99479e5 4566 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 4567 motor[TIRE_BR].pwm = 80;
yabahiro 48:5562a99479e5 4568 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 4569 motor[TIRE_BL].pwm = 80;
yabahiro 48:5562a99479e5 4570 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4571 mtc=true;
yabahiro 48:5562a99479e5 4572 break;
yabahiro 48:5562a99479e5 4573 case 255:
yabahiro 48:5562a99479e5 4574 motor[TIRE_FR].pwm = fast;
yabahiro 48:5562a99479e5 4575 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4576 motor[TIRE_FL].pwm = slow;
yabahiro 48:5562a99479e5 4577 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 4578 motor[TIRE_BR].pwm = slow;
yabahiro 48:5562a99479e5 4579 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 4580 motor[TIRE_BL].pwm = fast;
yabahiro 48:5562a99479e5 4581 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4582 mtc=true;
yabahiro 48:5562a99479e5 4583 break;
yabahiro 48:5562a99479e5 4584 case 253:
yabahiro 48:5562a99479e5 4585 motor[TIRE_FR].pwm = slow;
yabahiro 48:5562a99479e5 4586 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4587 motor[TIRE_FL].pwm = 0;
yabahiro 48:5562a99479e5 4588 motor[TIRE_FL].dir = FREE;
yabahiro 48:5562a99479e5 4589 motor[TIRE_BR].pwm = 0;
yabahiro 48:5562a99479e5 4590 motor[TIRE_BR].dir = FREE;
yabahiro 48:5562a99479e5 4591 motor[TIRE_BL].pwm = slow;
yabahiro 48:5562a99479e5 4592 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4593 mtc=true;
yabahiro 48:5562a99479e5 4594 break;
yabahiro 48:5562a99479e5 4595 case 254:
yabahiro 48:5562a99479e5 4596 motor[TIRE_FR].pwm = normal;
yabahiro 48:5562a99479e5 4597 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4598 motor[TIRE_FL].pwm = 0;
yabahiro 48:5562a99479e5 4599 motor[TIRE_FL].dir = FREE;
yabahiro 48:5562a99479e5 4600 motor[TIRE_BR].pwm = 0;
yabahiro 48:5562a99479e5 4601 motor[TIRE_BR].dir = FREE;
yabahiro 48:5562a99479e5 4602 motor[TIRE_BL].pwm = normal;
yabahiro 48:5562a99479e5 4603 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4604 mtc=true;
yabahiro 48:5562a99479e5 4605 break;
yabahiro 48:5562a99479e5 4606 case 1:
yabahiro 48:5562a99479e5 4607 motor[TIRE_FR].pwm = slow;
yabahiro 48:5562a99479e5 4608 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4609 motor[TIRE_FL].pwm = fast;
yabahiro 48:5562a99479e5 4610 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 4611 motor[TIRE_BR].pwm = fast;
yabahiro 48:5562a99479e5 4612 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 4613 motor[TIRE_BL].pwm = slow;
yabahiro 48:5562a99479e5 4614 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4615 mtc=true;
yabahiro 48:5562a99479e5 4616 break;
yabahiro 48:5562a99479e5 4617 case 3:
yabahiro 48:5562a99479e5 4618 motor[TIRE_FR].pwm = 0;
yabahiro 48:5562a99479e5 4619 motor[TIRE_FR].dir = FREE;
yabahiro 48:5562a99479e5 4620 motor[TIRE_FL].pwm = slow;
yabahiro 48:5562a99479e5 4621 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 4622 motor[TIRE_BR].pwm = slow;
yabahiro 48:5562a99479e5 4623 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 4624 motor[TIRE_BL].pwm = 0;
yabahiro 48:5562a99479e5 4625 motor[TIRE_BL].dir = FREE;
yabahiro 48:5562a99479e5 4626 mtc=true;
yabahiro 48:5562a99479e5 4627 break;
yabahiro 48:5562a99479e5 4628 case 2:
yabahiro 48:5562a99479e5 4629 motor[TIRE_FR].pwm = 0;
yabahiro 48:5562a99479e5 4630 motor[TIRE_FR].dir = FREE;
yabahiro 48:5562a99479e5 4631 motor[TIRE_FL].pwm = normal;
yabahiro 48:5562a99479e5 4632 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 4633 motor[TIRE_BR].pwm = normal;
yabahiro 48:5562a99479e5 4634 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 4635 motor[TIRE_BL].pwm = 0;
yabahiro 48:5562a99479e5 4636 motor[TIRE_BL].dir = FREE;
yabahiro 48:5562a99479e5 4637 mtc=true;
yabahiro 48:5562a99479e5 4638 break;
yabahiro 48:5562a99479e5 4639 }
yabahiro 48:5562a99479e5 4640 if(g[1]!=98&&mtc==true) {
yabahiro 48:5562a99479e5 4641 switch(g[1]) {
yabahiro 48:5562a99479e5 4642 case 0:
yabahiro 48:5562a99479e5 4643 mtc=false;
yabahiro 48:5562a99479e5 4644 break;
yabahiro 48:5562a99479e5 4645 case 255:
yabahiro 48:5562a99479e5 4646 motor[TIRE_BR].pwm += 5;
yabahiro 48:5562a99479e5 4647 mtc=false;
yabahiro 48:5562a99479e5 4648 break;
yabahiro 48:5562a99479e5 4649 case 253:
yabahiro 48:5562a99479e5 4650 motor[TIRE_BR].pwm += 10;
yabahiro 48:5562a99479e5 4651 mtc=false;
yabahiro 48:5562a99479e5 4652 break;
yabahiro 48:5562a99479e5 4653 case 254:
yabahiro 48:5562a99479e5 4654 motor[TIRE_BR].pwm += 20;
yabahiro 48:5562a99479e5 4655 motor[TIRE_BL].pwm = 0;
yabahiro 48:5562a99479e5 4656 mtc=false;
yabahiro 48:5562a99479e5 4657 break;
yabahiro 48:5562a99479e5 4658 case 1:
yabahiro 48:5562a99479e5 4659 motor[TIRE_BL].pwm += 5;
yabahiro 48:5562a99479e5 4660 mtc=false;
yabahiro 48:5562a99479e5 4661 break;
yabahiro 48:5562a99479e5 4662 case 3:
yabahiro 48:5562a99479e5 4663 motor[TIRE_BL].pwm += 10;
yabahiro 48:5562a99479e5 4664 mtc=false;
yabahiro 48:5562a99479e5 4665 break;
yabahiro 48:5562a99479e5 4666 case 2:
yabahiro 48:5562a99479e5 4667 motor[TIRE_BL].pwm += 20;
yabahiro 48:5562a99479e5 4668 motor[TIRE_BR].pwm = 0;
yabahiro 48:5562a99479e5 4669 mtc=false;
yabahiro 48:5562a99479e5 4670 break;
yabahiro 48:5562a99479e5 4671 }
yabahiro 48:5562a99479e5 4672 }
yabahiro 48:5562a99479e5 4673 } else if(mode==100) {
yabahiro 48:5562a99479e5 4674 motor[TIRE_FR].pwm = 50;
yabahiro 48:5562a99479e5 4675 motor[TIRE_FR].dir = BACK;
yabahiro 48:5562a99479e5 4676 motor[TIRE_FL].pwm = 50;
yabahiro 48:5562a99479e5 4677 motor[TIRE_FL].dir = FOR;
yabahiro 48:5562a99479e5 4678 motor[TIRE_BR].pwm = 50;
yabahiro 48:5562a99479e5 4679 motor[TIRE_BR].dir = BACK;
yabahiro 48:5562a99479e5 4680 motor[TIRE_BL].pwm = 50;
yabahiro 48:5562a99479e5 4681 motor[TIRE_BL].dir = FOR;
yabahiro 48:5562a99479e5 4682 } else {
yabahiro 48:5562a99479e5 4683 }
yabahiro 33:dd598bb23ad1 4684
kishibekairohan 13:b6e02d6261d7 4685 }
kishibekairohan 13:b6e02d6261d7 4686 #endif
kishibekairohan 13:b6e02d6261d7 4687
kishibekairohan 13:b6e02d6261d7 4688 #if USE_PROCESS_NUM>5
Ryosei 27:dd9f27fce7d1 4689 static void Process5()
Ryosei 27:dd9f27fce7d1 4690 {
yabahiro 46:68296caae1af 4691
kishibekairohan 13:b6e02d6261d7 4692 }
kishibekairohan 13:b6e02d6261d7 4693 #endif
kishibekairohan 13:b6e02d6261d7 4694
kishibekairohan 13:b6e02d6261d7 4695 #if USE_PROCESS_NUM>6
Ryosei 27:dd9f27fce7d1 4696 static void Process6()
kishibekairohan 13:b6e02d6261d7 4697 {
Ryosei 27:dd9f27fce7d1 4698
kishibekairohan 13:b6e02d6261d7 4699 }
kishibekairohan 13:b6e02d6261d7 4700 #endif
kishibekairohan 13:b6e02d6261d7 4701
kishibekairohan 13:b6e02d6261d7 4702 #if USE_PROCESS_NUM>7
kishibekairohan 13:b6e02d6261d7 4703 static void Process7()
kishibekairohan 13:b6e02d6261d7 4704 {
yabahiro 33:dd598bb23ad1 4705
kishibekairohan 12:c09b3e08a316 4706 }
kishibekairohan 12:c09b3e08a316 4707 #endif
kishibekairohan 12:c09b3e08a316 4708
Ryosei 27:dd9f27fce7d1 4709 #if USE_PROCESS_NUM>8
kishibekairohan 13:b6e02d6261d7 4710 static void Process8()
kishibekairohan 12:c09b3e08a316 4711 {
yabahiro 33:dd598bb23ad1 4712
kishibekairohan 12:c09b3e08a316 4713 }
kishibekairohan 12:c09b3e08a316 4714 #endif
kishibekairohan 12:c09b3e08a316 4715
kishibekairohan 13:b6e02d6261d7 4716 #if USE_PROCESS_NUM>9
kishibekairohan 13:b6e02d6261d7 4717 static void Process9()
kishibekairohan 12:c09b3e08a316 4718 {
Ryosei 27:dd9f27fce7d1 4719
t_yamamoto 0:669ef71cba68 4720 }
t_yamamoto 0:669ef71cba68 4721 #endif
t_yamamoto 0:669ef71cba68 4722 #endif
t_yamamoto 0:669ef71cba68 4723 #pragma endregion PROCESS
t_yamamoto 0:669ef71cba68 4724
t_yamamoto 0:669ef71cba68 4725 static void AllActuatorReset()
t_yamamoto 0:669ef71cba68 4726 {
yabahiro 33:dd598bb23ad1 4727 #ifdef USE_SOLENOID
yabahiro 33:dd598bb23ad1 4728 solenoid.all = ALL_SOLENOID_OFF;
yabahiro 33:dd598bb23ad1 4729 #endif
yabahiro 33:dd598bb23ad1 4730
yabahiro 33:dd598bb23ad1 4731 #ifdef USE_MOTOR
yabahiro 33:dd598bb23ad1 4732 for (uint8_t i = 0; i < MOUNTING_MOTOR_NUM; i++) {
yabahiro 33:dd598bb23ad1 4733 motor[i].dir = FREE;
yabahiro 33:dd598bb23ad1 4734 motor[i].pwm = 0;
yabahiro 33:dd598bb23ad1 4735 }
yabahiro 33:dd598bb23ad1 4736 #endif
t_yamamoto 0:669ef71cba68 4737 }
t_yamamoto 0:669ef71cba68 4738
kishibekairohan 16:3f2c2d89372b 4739 #pragma region USER-DEFINED-FUNCTIONS
M_souta 29:44d5454ce8fa 4740
M_souta 29:44d5454ce8fa 4741 uint8_t SetStatus(int pwmVal)
Ryosei 27:dd9f27fce7d1 4742 {
M_souta 29:44d5454ce8fa 4743 if (pwmVal < 0) return BACK;
M_souta 29:44d5454ce8fa 4744 else if (pwmVal > 0) return FOR;
M_souta 29:44d5454ce8fa 4745 else if (pwmVal == 0) return BRAKE;
M_souta 29:44d5454ce8fa 4746 else return BRAKE;
M_souta 22:7d93f79a3686 4747 }
kishibekairohan 16:3f2c2d89372b 4748
M_souta 29:44d5454ce8fa 4749 uint8_t SetPWM(int pwmVal)
Ryosei 27:dd9f27fce7d1 4750 {
M_souta 29:44d5454ce8fa 4751 if (pwmVal == 0 || pwmVal > 255 || pwmVal < -255) return 255;
M_souta 29:44d5454ce8fa 4752 else return abs(pwmVal);
M_souta 22:7d93f79a3686 4753 }
yabahiro 55:844ac0974740 4754 /*
yabahiro 55:844ac0974740 4755 void Count(){
yabahiro 55:844ac0974740 4756 num++;
yabahiro 55:844ac0974740 4757 }
yabahiro 55:844ac0974740 4758 */
t_yamamoto 0:669ef71cba68 4759 #pragma endregion