aa

Dependencies:   mbed

Revision:
29:44d5454ce8fa
Parent:
28:479631c2de29
Child:
30:8f092276b2ba
diff -r 479631c2de29 -r 44d5454ce8fa System/Process/Process.cpp
--- a/System/Process/Process.cpp	Thu Oct 03 05:33:48 2019 +0000
+++ b/System/Process/Process.cpp	Fri Oct 18 22:33:25 2019 +0000
@@ -6,9 +6,7 @@
 #include "../../Communication/RS485/ActuatorHub/ActuatorHub.h"
 #include "../../Communication/RS485/LineHub/LineHub.h"
 #include "../../Communication/Controller/Controller.h"
-#include "../../Input/ExternalInt/ExternalInt.h"
 #include "../../Input/Switch/Switch.h"
-#include "../../Input/Encoder/Encoder.h"
 
 #include "../../LED/LED.h"
 #include "../../Safty/Safty.h"
@@ -16,7 +14,6 @@
 
 using namespace SWITCH;
 using namespace PID_SPACE;
-using namespace ENCODER;
 
 using namespace LINEHUB;
 
@@ -58,173 +55,6 @@
 Ticker tapeLedTimer;
 //************TapaLed*****************
 
-//*************** lift ***************
-#define LOWER   1
-#define MIDDLRE 2
-#define UPPER   3
-uint8_t  liftState = LOWER;
-bool moving = false;
-bool switchFlag_LB = false;
-bool switchFlag_RB = false;
-
-//*************** lift ***************
-
-//*****************Air********************
-DigitalOut air[]= {
-    DigitalOut(ECD_A_0),
-    DigitalOut(ECD_B_0),
-    DigitalOut(ECD_A_1),
-    DigitalOut(ECD_B_1),
-};
-
-bool Air[4];
-void AirUpdate()
-{
-    for(int i=0; i<=3; i++) {
-        air[i]=Air[i];
-    }
-}
-//*****************Air********************
-
-//*************tire*************
-PID rotaconPID[] = {
-    PID(0.0001,-1,1,0.05,0,0),  //LF
-    PID(0.0001,-1,1,0.05,0,0),  //LB
-    PID(0.0001,-1,1,0.05,0,0),  //RB
-    PID(0.0001,-1,1,0.05,0,0),  //RF
-};
-
-#define FL 0
-#define BL 1
-#define BR 2
-#define FR 3
-
-#define PI 3.141592
-
-const float tireR = 101.6;  //タイヤの半径
-const float ucR = 420.0;    //中心からのタイヤの距離
-
-typedef struct {
-    float Vx;  //X方向の速度
-    float Vy;  //Y方向の速度
-    float Va;  //角速度
-} Vvector;
-
-Vvector move;           //進む速度
-Vvector correction_LT;  //ライントレースの補正速度
-Vvector synthetic;      //合成速度
-
-float sita = 0;
-
-bool PIDflag = false;
-
-int linePara[8];
-int linePara_U;
-int linePara_B;
-int linePara_L;
-int linePara_R;
-
-#define FL 0
-#define BL 1
-#define BR 2
-#define FR 3
-
-float tireProcessRPM[4];
-float tireTargetMaxRPM[4];
-float tireTargetRPM[4];
-
-float tirePWM[4];
-
-float timePV[4];
-float timeCV[4];
-float pulsePV[4];
-float pulseCV[4];
-
-void tirePID();
-int lineCast(char k);
-
-Timer  rotaconSampling;
-Ticker rotaconPIDtimer;
-
-bool countFlag;
-//*************tire**************//
-
-// ************* Ultra ************** //
-//double temp=(  Temp.read()* 3.3 - 0.6) / 0.01;
-PulseInOut Echo0(ECHO_0);
-PulseInOut Echo1(ECHO_1);
-PulseInOut Trig0(TRIG_0);
-PulseInOut Trig1(TRIG_1);
-double UltraRead(int num)
-{
-    double Distance=0;
-    double Duration=0;
-    double temp=28;////////////////////////////////////////////////温度
-    if(num==0) {
-        Trig0.write_us(1,10);
-        Duration=Echo0.read_high_us(5000);
-    } else if(num==1) {
-        Trig1.write_us(1,10);
-        Duration=Echo1.read_high_us(5000);
-    }
-    if(Duration>0) {
-        Duration=Duration/2;
-        double sspead=331.5+0.6*temp;
-        Distance=Duration*sspead*100/1000000;
-    } else {
-        return 0;
-    }
-    return Distance;
-}
-//*********Ultra***************
-
-//*********Tape LED**************************
-DigitalOut select1(SELECT_1);
-DigitalOut select2(SELECT_2);
-DigitalOut select3(SELECT_3);
-void LedOut(int num)
-{
-    int selectnum[8][3]= {
-        {0,0,0},
-        {0,0,1},
-        {0,1,0},
-        {0,1,1},
-        {1,0,0},
-        {1,0,1},
-        {1,1,0},
-        {1,1,1}
-    };
-    select1=selectnum[num][0];
-    select2=selectnum[num][1];
-    select3=selectnum[num][2];
-}
-//*********Tape LED**************************
-
-// ************* Line ************** //
-
-Timer tow_stop;
-
-float pw = 0;
-int lineFase = 0;
-bool lineCheck = false;
-bool lineFlag  = false;
-bool adjAnable = false;
-int adj = 0;
-
-int countW = 0;
-int lineCount = 0;
-int targetCount = 0;
-
-bool startFlag = true;
-
-int linePWM;
-int adj_F;
-int adj_B;
-
-int mode = 0;
-
-// ************* Line ************** //
-
 const int omni[15][15] = {
     {    0,     5,    21,     47,     83,    130,    187,    255,    255,    255,    255,    255,    255,    255,    255 },
     {   -5,     0,     5,     21,     47,     83,    130,    187,    193,    208,    234,    255,    255,    255,    255 },
@@ -245,20 +75,9 @@
 
 const int curve[15] = { -204, -150, -104, -66, -38, -17, -4, 0, 4, 17, 38, 66, 104, 150, 204 };
 
+
 uint8_t SetStatus(int);
-uint8_t SetStatus(int pwmVal)
-{
-    if (pwmVal < 0) return BACK;
-    else if (pwmVal > 0) return FOR;
-    else if (pwmVal == 0) return BRAKE;
-    else return BRAKE;
-}
 uint8_t SetPWM(int);
-uint8_t SetPWM(int pwmVal)
-{
-    if (pwmVal == 0 || pwmVal >  255 || pwmVal < -255) return 255;
-    else return abs(pwmVal);
-}
 
 #pragma endregion USER-DEFINED_VARIABLES_AND_PROTOTYPE
 
@@ -299,12 +118,6 @@
 {
     #pragma region USER-DEFINED_VARIABLE_INIT
     /*Replace here with the initialization code of your variables.*/
-    //rotaconPIDtimer.attach(tirePID,0.1);
-
-    //DigitalOut  Air_16(LS_16);
-    //DigitalOut  Air_17(LS_17);
-    //DigitalOut  Air_18(LS_18);
-    //DigitalOut  Air_19(LS_19);
 
     #pragma endregion USER-DEFINED_VARIABLE_INIT
 
@@ -378,54 +191,11 @@
 }
 
 
-double Ult_left=UltraRead(0);///////////////////////////////////////////left sensor
-double Ult_right=UltraRead(1);//////////////////////////////////////////right sensor
-static int Limitphase=0;
 void SystemProcess()
 {
     SystemProcessInitialize();
     while(1) {
-        AirUpdate();
-        int g[8];
-        for(int i = 0; i < 8; i++) {
-            g[i] = lineCast(LineHub::GetPara(i));
-        }
-        Ult_left=UltraRead(0);//////////////////////////////////////////left sensor
-        Ult_right=UltraRead(1);//////////////////////////////////////////right sensor
-        pc.printf("%lf,%lf",UltraRead(0),UltraRead(1));
-//        pc.printf("1:%d 2:%d 3:%d 4:%d 5:%d 6:%d 7:%d 8:%d\n\r",g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7]);
-
-        pc.printf("%d\n\r",current);
-        /*上
-        	motor[LIFT_LB].dir = FOR;
-        	motor[LIFT_LB].pwm = 180;
-        	motor[LIFT_RB].dir = BACK;
-        	motor[LIFT_RB].pwm = 200;
-        	*/
-        if(!(LimitSw::IsPressed(UNFOLD_ZYOUGE_SW))&&startFlag==true) {
-            startFlag=false;
-            lock=false;
-            current=7;
-        } else {
-            motor[LIFT_LB].dir = BRAKE;
-            motor[LIFT_LB].pwm = 180;
-            motor[LIFT_RB].dir = BRAKE;
-            motor[LIFT_RB].pwm = 200;
-        }
-        if(LimitSw::IsPressed(START_SW) && startFlag == true) {
-            LedOut(6);
-            startFlag = false;
-            lock = false;
-            lineFase = 0;
-            lineCount = 0;
-            lineCheck = false;
-            countW = 0;
-            if(LimitSw::IsPressed(REDBLUE_SW)) {
-                current = 4;
-            } else {
-                current = 5;
-            }
-        }
+        
         buzzer.period(1.0/800);
 
 #ifdef USE_MU
@@ -433,7 +203,7 @@
 #endif
 
 #ifdef USE_ERRORCHECK
-        if(SAFTY::ErrorCheck::Check() & SAFTY::Error::ControllerLost & startFlag) {
+        if(SAFTY::ErrorCheck::Check() & SAFTY::Error::ControllerLost) {
             CONTROLLER::Controller::DataReset();
             AllActuatorReset();
             lock = true;
@@ -486,71 +256,6 @@
 static void Process1()
 {
 
-    PIDflag = false;
-	LedOut(0);
-    if(controller->Button.UP) {
-        motor[LIFT_LB].dir = FOR;
-        motor[LIFT_LB].pwm = 180;
-        motor[LIFT_RB].dir = BACK;
-        motor[LIFT_RB].pwm = 200;
-    } else if(controller->Button.DOWN) {
-        motor[LIFT_LB].dir = BACK;
-        motor[LIFT_LB].pwm = 180;
-        motor[LIFT_RB].dir = FOR;
-        motor[LIFT_RB].pwm = 200;
-    } else if(controller->Button.LEFT) {
-        motor[LIFT_LB].dir = FOR;
-        motor[LIFT_LB].pwm = 180;
-    } else if(controller->Button.RIGHT) {
-        motor[LIFT_RB].dir = BACK;
-        motor[LIFT_RB].pwm = 180;
-    } else {
-        motor[LIFT_LB].dir = BRAKE;
-        motor[LIFT_LB].pwm = 255;
-        motor[LIFT_RB].dir = BRAKE;
-        motor[LIFT_RB].pwm = 255;
-    }
-
-
-    if(controller->Button.X) {
-        motor[LIFT_U].dir = FOR;
-        motor[LIFT_U].pwm = 180;
-    } else if(controller->Button.Y) {
-        motor[LIFT_U].dir = BACK;
-        motor[LIFT_U].pwm = 230;
-    } else {
-        motor[LIFT_U].dir = BRAKE;
-        motor[LIFT_U].pwm = 255;
-    }
-
-    if(!(controller->AnalogL.Y == 7) || !(controller->AnalogL.X == 7)) {
-        motor[TIRE_FR].dir = SetStatus(-omni[controller->AnalogL.Y][14-controller->AnalogL.X]     );
-        motor[TIRE_FL].dir = SetStatus(omni[controller->AnalogL.Y][controller->AnalogL.X]         );
-        motor[TIRE_BR].dir = SetStatus(-omni[14-controller->AnalogL.X][14-controller->AnalogL.Y]  );
-        motor[TIRE_BL].dir = SetStatus(omni[controller->AnalogL.X][14-controller->AnalogL.Y]      );
-
-        motor[TIRE_FR].pwm = SetPWM(-omni[controller->AnalogL.Y][14-controller->AnalogL.X] * 0.2) ;
-        motor[TIRE_FL].pwm = SetPWM(omni[controller->AnalogL.Y][controller->AnalogL.X] * 0.2)    ;
-        motor[TIRE_BR].pwm = SetPWM(omni[14-controller->AnalogL.X][14-controller->AnalogL.Y] * 0.2) ;
-        motor[TIRE_BL].pwm = SetPWM(-omni[controller->AnalogL.X][14-controller->AnalogL.Y] * 0.2)   ;
-    } else {
-        motor[TIRE_FR].dir = SetStatus(curve[controller->AnalogR.X]);
-        motor[TIRE_FL].dir = SetStatus(curve[controller->AnalogR.X]);
-        motor[TIRE_BR].dir = SetStatus(curve[controller->AnalogR.X]);
-        motor[TIRE_BL].dir = SetStatus(curve[controller->AnalogR.X]);
-
-        motor[TIRE_FR].pwm = SetPWM(curve[controller->AnalogR.X]);
-        motor[TIRE_FL].pwm = SetPWM(curve[controller->AnalogR.X]);
-        motor[TIRE_BR].pwm = SetPWM(curve[controller->AnalogR.X]);
-        motor[TIRE_BL].pwm = SetPWM(curve[controller->AnalogR.X]);
-    }
-
-    if(controller->Button.ZR) {
-        Air[CLOTHESPIN] = SOLENOID_ON;
-    }
-    if(controller->Button.ZL) {
-        Air[CLOTHESPIN] = SOLENOID_OFF;
-    }
 }
 #endif
 
@@ -564,1953 +269,14 @@
 #if USE_PROCESS_NUM>3
 static void Process3()
 {
-    startFlag = true;
-    AllActuatorReset();
-    lineFase = 0;
-    lineCheck = false;
-    lineCount = 0;
-    countW = 0;
+    
 }
 #endif
 
 #if USE_PROCESS_NUM>4
 static void Process4()
 {
-    LED_DEBUG0 = LED_ON;
-
-    /* ************************************** //
-
-    	  赤ゾーン	  赤ゾーン	  赤ゾーン
-
-    // ************************************** */
-
-
-    for(int i = 0; i < 8; i++) {
-        linePara[i] = lineCast(LineHub::GetPara(i));
-    }
-
-    if(lineFase == 0) {
-        LedOut(2);
-        motor[TIRE_FL].dir = FOR;
-        motor[TIRE_BL].dir = FOR;
-        motor[TIRE_BR].dir = BACK;
-        motor[TIRE_FR].dir = BACK;
-        if(linePara[0] != 'N' && linePara[0] != 'A') {
-            lineFase = 1;
-        }
-        motor[TIRE_FL].pwm = 30;
-        motor[TIRE_BL].pwm = 30;
-        motor[TIRE_BR].pwm = 30;
-        motor[TIRE_FR].pwm = 30;
-
-    } else if(lineFase == 1) {  // 前 ライントレース
-        switch(linePara[0]) {
-            case -2:
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case -3:
-                tirePWM[TIRE_FL] = 10;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = -10;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case -1:
-                tirePWM[TIRE_FL] = 20;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = -20;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 0:
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 1:
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = 20;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = -20;
-                adjAnable = true;
-                break;
-            case 3:
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = 10;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = -10;
-                adjAnable = true;
-                break;
-            case 2:
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = true;
-                break;
-            case 'A':
-                if(lineCheck == false) {
-                    lineCheck = true;
-                    lineCount = 0;
-                    countW++;
-                }
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 'N':
-                tirePWM[TIRE_FL] = tirePWM[TIRE_FL];
-                tirePWM[TIRE_BL] = tirePWM[TIRE_BL];
-                tirePWM[TIRE_BR] = tirePWM[TIRE_BR];
-                tirePWM[TIRE_FR] = tirePWM[TIRE_FR];
-                adjAnable = false;
-                break;
-            default:
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-        }
-
-        if(adjAnable) {
-            if(linePara[2] != 'A' && linePara[2] != 'N') adj = linePara[2];
-        } else {
-            adj = 0;
-        }
-
-        motor[TIRE_FL].dir = SetStatus(tirePWM[TIRE_FL]);
-        motor[TIRE_BL].dir = SetStatus(tirePWM[TIRE_BL] + adj);
-        motor[TIRE_BR].dir = SetStatus(tirePWM[TIRE_BR] + adj);
-        motor[TIRE_FR].dir = SetStatus(tirePWM[TIRE_FR]);
-        motor[TIRE_FL].pwm = SetPWM(tirePWM[TIRE_FL]);
-        motor[TIRE_BL].pwm = SetPWM(tirePWM[TIRE_BL] + adj);
-        motor[TIRE_BR].pwm = SetPWM(tirePWM[TIRE_BR] + adj);
-        motor[TIRE_FR].pwm = SetPWM(tirePWM[TIRE_FR]);
-
-        if(lineCheck == true)  {
-            lineCount++;
-            if(lineCount > 20) lineCheck = false;
-        }
-        if(countW == 3) {
-            countW = 0;
-            lineFase = 2;
-            lineCount = 0;
-            lineCheck = false;
-        }
-    } else if(lineFase == 2) {  // 前 低速
-        motor[TIRE_FL].dir = FOR;
-        motor[TIRE_BL].dir = FOR;
-        motor[TIRE_BR].dir = BACK;
-        motor[TIRE_FR].dir = BACK;
-        if(linePara[4] >= -1 && linePara[4] <= 1) {
-            lineFase = 3;
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_FR].dir = BRAKE;
-        }
-        motor[TIRE_FL].pwm = 20;
-        motor[TIRE_BL].pwm = 20;
-        motor[TIRE_BR].pwm = 20;
-        motor[TIRE_FR].pwm = 20;
-    } else if(lineFase == 3) {  // 右 ライントレース
-        switch(linePara[4]) {
-            case -2:
-            LedOut(2);
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = true;
-                break;
-            case -3:
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = -10;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = 10;
-                adjAnable = true;
-                break;
-            case -1:
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = -20;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = 20;
-                adjAnable = true;
-                break;
-            case 0:
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = -30;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = 30;
-                adjAnable = true;
-                break;
-            case 1:
-                tirePWM[TIRE_FL] = 20;
-                tirePWM[TIRE_BL] = -30;
-                tirePWM[TIRE_BR] = -20;
-                tirePWM[TIRE_FR] = 30;
-                adjAnable = true;
-                break;
-            case 3:
-                tirePWM[TIRE_FL] = 10;
-                tirePWM[TIRE_BL] = -30;
-                tirePWM[TIRE_BR] = -10;
-                tirePWM[TIRE_FR] = 30;
-                adjAnable = true;
-                break;
-            case 2:
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = -30;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 30;
-                adjAnable = true;
-                break;
-            case 'A':
-                if(lineCheck == false) {
-                    lineCheck = true;
-                    lineCount = 0;
-                    countW++;
-                }
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = -30;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = 30;
-                adjAnable = true;
-                break;
-            case 'N':
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-                break;
-            default:
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-        }
-
-        if(adjAnable) {
-            if(linePara[3] != 'A' && linePara[3] != 'N') adj = linePara[3];
-        } else {
-            adj = 0;
-        }
-
-        motor[TIRE_FL].dir = SetStatus(tirePWM[TIRE_FL] + adj);
-        motor[TIRE_BL].dir = SetStatus(tirePWM[TIRE_BL] + adj);
-        motor[TIRE_BR].dir = SetStatus(tirePWM[TIRE_BR]);
-        motor[TIRE_FR].dir = SetStatus(tirePWM[TIRE_FR]);
-        motor[TIRE_FL].pwm = SetPWM(tirePWM[TIRE_FL] + adj);
-        motor[TIRE_BL].pwm = SetPWM(tirePWM[TIRE_BL] + adj);
-        motor[TIRE_BR].pwm = SetPWM(tirePWM[TIRE_BR]);
-        motor[TIRE_FR].pwm = SetPWM(tirePWM[TIRE_FR]);
-
-        if(lineCheck == true)  {
-            lineCount++;
-            if(lineCount > 20) lineCheck = false;
-        }
-
-        targetCount = 1;
-
-        if(countW == targetCount) {
-            countW = 0;
-            lineFase = 4;
-            lineCount = 0;
-            lineCheck = false;
-        }
-    } else if(lineFase == 4) { // 右 低速
-        motor[TIRE_FL].dir = FOR;
-        motor[TIRE_BL].dir = BACK;
-        motor[TIRE_BR].dir = BACK;
-        motor[TIRE_FR].dir = FOR;
-        if (linePara[LINE_TOW_2] == 0) {  // 1と2逆になります。
-            lineFase = 6;
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_FR].dir = BRAKE;
-        }
-        if(linePara[LINE_TOW_1] == 0) {
-            if(!LimitSw::IsPressed(SHEETS_SW)) {
-                lineFase=100;
-            } else {
-                lineFase = 6;
-            }
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_FR].dir = BRAKE;
-        }
-        motor[TIRE_FL].pwm = 16;
-        motor[TIRE_BL].pwm = 16;
-        motor[TIRE_BR].pwm = 16;
-        motor[TIRE_FR].pwm = 16;
-    } else if (lineFase == 5) {
-        lineFase = 6;
-        motor[TIRE_FL].dir = BRAKE;
-        motor[TIRE_BL].dir = BRAKE;
-        motor[TIRE_BR].dir = BRAKE;
-        motor[TIRE_FR].dir = BRAKE;
-    } else if(lineFase == 6) {  // タオル1 検知
-    LedOut(4);
-        if(LimitSw::IsPressed(TOW_1L) && LimitSw::IsPressed(TOW_1R)) {
-            lineFase = 7;
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_FL].pwm = 50;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BL].pwm = 50;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_BR].pwm = 50;
-            motor[TIRE_FR].dir = BRAKE;
-            motor[TIRE_FR].pwm = 50;
-        } else if(LimitSw::IsPressed(TOW_1L)) {
-            motor[TIRE_FL].dir = FOR;
-            motor[TIRE_FL].pwm = 16;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BL].pwm = 50;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_BR].pwm = 50;
-            motor[TIRE_FR].dir = FOR;
-            motor[TIRE_FR].pwm = 16;
-        } else if(LimitSw::IsPressed(TOW_1R)) {
-            motor[TIRE_FL].dir = BACK;
-            motor[TIRE_FL].pwm = 16;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BL].pwm = 50;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_BR].pwm = 50;
-            motor[TIRE_FR].dir = BACK;
-            motor[TIRE_FR].pwm = 16;
-        } else {
-           if(LimitSw::IsPressed(QF_SW)) {
-				switch(linePara[LINE_TOW_2]) {
-					case -2:
-						tirePWM[TIRE_FL] = -10;
-						tirePWM[TIRE_BL] = -20;
-						tirePWM[TIRE_BR] = 10;
-						tirePWM[TIRE_FR] = 20;
-						adjAnable = true;
-						break;
-					case -3:
-						tirePWM[TIRE_FL] = -14;
-						tirePWM[TIRE_BL] = -20;
-						tirePWM[TIRE_BR] = 14;
-						tirePWM[TIRE_FR] = 20;
-						adjAnable = true;
-						break;
-					case -1:
-						tirePWM[TIRE_FL] = -17;
-						tirePWM[TIRE_BL] = -20;
-						tirePWM[TIRE_BR] = 17;
-						tirePWM[TIRE_FR] = 20;
-						adjAnable = true;
-						break;
-					case 0:
-						tirePWM[TIRE_FL] = -20;
-						tirePWM[TIRE_BL] = -20;
-						tirePWM[TIRE_BR] = 20;
-						tirePWM[TIRE_FR] = 20;
-						adjAnable = true;
-						break;
-					case 1:
-						tirePWM[TIRE_FL] = -20;
-						tirePWM[TIRE_BL] = -17;
-						tirePWM[TIRE_BR] = 20;
-						tirePWM[TIRE_FR] = 17;
-						adjAnable = true;
-						break;
-					case 3:
-						tirePWM[TIRE_FL] = -20;
-						tirePWM[TIRE_BL] = -14;
-						tirePWM[TIRE_BR] = 20;
-						tirePWM[TIRE_FR] = 14;
-						adjAnable = true;
-						break;
-					case 2:
-						tirePWM[TIRE_FL] = -20;
-						tirePWM[TIRE_BL] = -10;
-						tirePWM[TIRE_BR] = 20;
-						tirePWM[TIRE_FR] = 10;
-						adjAnable = true;
-						break;
-					case 'A':
-						tirePWM[TIRE_FL] = -20;
-						tirePWM[TIRE_BL] = -20;
-						tirePWM[TIRE_BR] = 20;
-						tirePWM[TIRE_FR] = 20;
-						adjAnable = true;
-						break;
-					case 'N':
-						tirePWM[TIRE_FL] = tirePWM[TIRE_FL];
-						tirePWM[TIRE_BL] = tirePWM[TIRE_BL];
-						tirePWM[TIRE_BR] = tirePWM[TIRE_BR];
-						tirePWM[TIRE_FR] = tirePWM[TIRE_FR];
-						adjAnable = false;
-						break;
-					default:
-						tirePWM[TIRE_FL] = 0;
-						tirePWM[TIRE_BL] = 0;
-						tirePWM[TIRE_BR] = 0;
-						tirePWM[TIRE_FR] = 0;
-						adjAnable = false;
-				}
-			} else {
-				switch(linePara[LINE_TOW_2]) {
-					case 2:
-						tirePWM[TIRE_FL] = -10;
-						tirePWM[TIRE_BL] = -20;
-						tirePWM[TIRE_BR] = 10;
-						tirePWM[TIRE_FR] = 20;
-						adjAnable = true;
-						break;
-					case 3:
-						tirePWM[TIRE_FL] = -14;
-						tirePWM[TIRE_BL] = -20;
-						tirePWM[TIRE_BR] = 14;
-						tirePWM[TIRE_FR] = 20;
-						adjAnable = true;
-						break;
-					case 1:
-						tirePWM[TIRE_FL] = -17;
-						tirePWM[TIRE_BL] = -20;
-						tirePWM[TIRE_BR] = 17;
-						tirePWM[TIRE_FR] = 20;
-						adjAnable = true;
-						break;
-					case 0:
-						tirePWM[TIRE_FL] = -20;
-						tirePWM[TIRE_BL] = -20;
-						tirePWM[TIRE_BR] = 20;
-						tirePWM[TIRE_FR] = 20;
-						adjAnable = true;
-						break;
-					case -1:
-						tirePWM[TIRE_FL] = -20;
-						tirePWM[TIRE_BL] = -17;
-						tirePWM[TIRE_BR] = 20;
-						tirePWM[TIRE_FR] = 17;
-						adjAnable = true;
-						break;
-					case -3:
-						tirePWM[TIRE_FL] = -20;
-						tirePWM[TIRE_BL] = -14;
-						tirePWM[TIRE_BR] = 20;
-						tirePWM[TIRE_FR] = 14;
-						adjAnable = true;
-						break;
-					case -2:
-						tirePWM[TIRE_FL] = -20;
-						tirePWM[TIRE_BL] = -10;
-						tirePWM[TIRE_BR] = 20;
-						tirePWM[TIRE_FR] = 10;
-						adjAnable = true;
-						break;
-					case 'A':
-						tirePWM[TIRE_FL] = -20;
-						tirePWM[TIRE_BL] = -20;
-						tirePWM[TIRE_BR] = 20;
-						tirePWM[TIRE_FR] = 20;
-						adjAnable = true;
-						break;
-					case 'N':
-						tirePWM[TIRE_FL] = tirePWM[TIRE_FL];
-						tirePWM[TIRE_BL] = tirePWM[TIRE_BL];
-						tirePWM[TIRE_BR] = tirePWM[TIRE_BR];
-						tirePWM[TIRE_FR] = tirePWM[TIRE_FR];
-						adjAnable = false;
-						break;
-					default:
-						tirePWM[TIRE_FL] = 0;
-						tirePWM[TIRE_BL] = 0;
-						tirePWM[TIRE_BR] = 0;
-						tirePWM[TIRE_FR] = 0;
-						adjAnable = false;
-				}
-			}
-				
-			motor[TIRE_FL].dir = SetStatus(tirePWM[TIRE_FL]);
-			motor[TIRE_BL].dir = SetStatus(tirePWM[TIRE_BL]);
-			motor[TIRE_BR].dir = SetStatus(tirePWM[TIRE_BR]);
-			motor[TIRE_FR].dir = SetStatus(tirePWM[TIRE_FR]);
-			motor[TIRE_FL].pwm = SetPWM(tirePWM[TIRE_FL]);
-			motor[TIRE_BL].pwm = SetPWM(tirePWM[TIRE_BL]);
-			motor[TIRE_BR].pwm = SetPWM(tirePWM[TIRE_BR]);
-			motor[TIRE_FR].pwm = SetPWM(tirePWM[TIRE_FR]);
-		}
-	} else if(lineFase == 7) {  // ライン 修正
-		if(linePara[LINE_TOW_2] == 'A' || linePara[LINE_TOW_2] == 'N') {
-			motor[TIRE_FL].dir = BRAKE;
-			motor[TIRE_FL].pwm = 50;
-			motor[TIRE_BL].dir = BRAKE;
-			motor[TIRE_BL].pwm = 50;
-			motor[TIRE_BR].dir = BRAKE;
-			motor[TIRE_BR].pwm = 50;
-			motor[TIRE_FR].dir = BRAKE;
-			motor[TIRE_FR].pwm = 50;
-		} else if(linePara[LINE_TOW_2] > 0) {
-			motor[TIRE_FL].dir = BACK;
-			motor[TIRE_FL].pwm = 16;
-			motor[TIRE_BL].dir = FOR;
-			motor[TIRE_BL].pwm = 16;
-			motor[TIRE_BR].dir = FOR;
-			motor[TIRE_BR].pwm = 16;
-			motor[TIRE_FR].dir = BACK;
-			motor[TIRE_FR].pwm = 16;
-		} else if(linePara[LINE_TOW_2] < 0) {
-			motor[TIRE_FL].dir = FOR;
-			motor[TIRE_FL].pwm = 16;
-			motor[TIRE_BL].dir = BACK;
-			motor[TIRE_BL].pwm = 16;
-			motor[TIRE_BR].dir = BACK;
-			motor[TIRE_BR].pwm = 16;
-			motor[TIRE_FR].dir = FOR;
-			motor[TIRE_FR].pwm = 16;
-		} else if(linePara[LINE_TOW_2] == 0) {
-			lineFase = 8;
-			motor[TIRE_FL].dir = BRAKE;
-			motor[TIRE_FL].pwm = 50;
-			motor[TIRE_BL].dir = BRAKE;
-			motor[TIRE_BL].pwm = 50;
-			motor[TIRE_BR].dir = BRAKE;
-			motor[TIRE_BR].pwm = 50;
-			motor[TIRE_FR].dir = BRAKE;
-			motor[TIRE_FR].pwm = 50;
-		} else {
-			motor[TIRE_FL].dir = BRAKE;
-			motor[TIRE_FL].pwm = 50;
-			motor[TIRE_BL].dir = BRAKE;
-			motor[TIRE_BL].pwm = 50;
-			motor[TIRE_BR].dir = BRAKE;
-			motor[TIRE_BR].pwm = 50;
-			motor[TIRE_FR].dir = BRAKE;
-			motor[TIRE_FR].pwm = 50;
-		}
-	} else if(lineFase == 8) { // タオル1 解放
-		Air[0] = SOLENOID_ON;
-		motor[TIRE_FL].dir = BRAKE;
-		motor[TIRE_BL].dir = BRAKE;
-		motor[TIRE_BR].dir = BRAKE;
-		motor[TIRE_FR].dir = BRAKE;
-		lineFase = 9;
-	} else if(lineFase == 9) {  // 前 ライントレース
-	LedOut(2);
-		if(LimitSw::IsPressed(QF_SW)) {
-			switch(linePara[LINE_TOW_2]) {
-				case -2:
-					tirePWM[TIRE_FL] = 10;
-					tirePWM[TIRE_BL] = 20;
-					tirePWM[TIRE_BR] = -10;
-					tirePWM[TIRE_FR] = -20;
-					adjAnable = true;
-					break;
-				case -3:
-					tirePWM[TIRE_FL] = 14;
-					tirePWM[TIRE_BL] = 20;
-					tirePWM[TIRE_BR] = -14;
-					tirePWM[TIRE_FR] = -20;
-					adjAnable = true;
-					break;
-				case -1:
-					tirePWM[TIRE_FL] = 17;
-					tirePWM[TIRE_BL] = 20;
-					tirePWM[TIRE_BR] = -17;
-					tirePWM[TIRE_FR] = -20;
-					adjAnable = true;
-					break;
-				case 0:
-					tirePWM[TIRE_FL] = 20;
-					tirePWM[TIRE_BL] = 20;
-					tirePWM[TIRE_BR] = -20;
-					tirePWM[TIRE_FR] = -20;
-					adjAnable = true;
-					break;
-				case 1:
-					tirePWM[TIRE_FL] = 20;
-					tirePWM[TIRE_BL] = 17;
-					tirePWM[TIRE_BR] = -20;
-					tirePWM[TIRE_FR] = -17;
-					adjAnable = true;
-					break;
-				case 3:
-					tirePWM[TIRE_FL] = 20;
-					tirePWM[TIRE_BL] = 14;
-					tirePWM[TIRE_BR] = -20;
-					tirePWM[TIRE_FR] = -14;
-					adjAnable = true;
-					break;
-				case 2:
-					tirePWM[TIRE_FL] = 20;
-					tirePWM[TIRE_BL] = 10;
-					tirePWM[TIRE_BR] = -20;
-					tirePWM[TIRE_FR] = -10;
-					adjAnable = true;
-					break;
-				case 'A':
-					if(lineCheck == false) {
-						lineCheck = true;
-						lineCount = 0;
-						countW++;
-					}
-					tirePWM[TIRE_FL] = 20;
-					tirePWM[TIRE_BL] = 20;
-					tirePWM[TIRE_BR] = -20;
-					tirePWM[TIRE_FR] = -20;
-					adjAnable = true;
-					break;
-				case 'N':
-					tirePWM[TIRE_FL] = 0;
-					tirePWM[TIRE_BL] = 0;
-					tirePWM[TIRE_BR] = 0;
-					tirePWM[TIRE_FR] = 0;
-					adjAnable = false;
-					break;
-				default:
-					tirePWM[TIRE_FL] = 0;
-					tirePWM[TIRE_BL] = 0;
-					tirePWM[TIRE_BR] = 0;
-					tirePWM[TIRE_FR] = 0;
-					adjAnable = false;
-			}
-		} else {
-			switch(linePara[LINE_TOW_2]) {
-				case 2:
-					tirePWM[TIRE_FL] = 10;
-					tirePWM[TIRE_BL] = 20;
-					tirePWM[TIRE_BR] = -10;
-					tirePWM[TIRE_FR] = -20;
-					adjAnable = true;
-					break;
-				case 3:
-					tirePWM[TIRE_FL] = 14;
-					tirePWM[TIRE_BL] = 20;
-					tirePWM[TIRE_BR] = -14;
-					tirePWM[TIRE_FR] = -20;
-					adjAnable = true;
-					break;
-				case 1:
-					tirePWM[TIRE_FL] = 17;
-					tirePWM[TIRE_BL] = 20;
-					tirePWM[TIRE_BR] = -17;
-					tirePWM[TIRE_FR] = -20;
-					adjAnable = true;
-					break;
-				case 0:
-					tirePWM[TIRE_FL] = 20;
-					tirePWM[TIRE_BL] = 20;
-					tirePWM[TIRE_BR] = -20;
-					tirePWM[TIRE_FR] = -20;
-					adjAnable = true;
-					break;
-				case -1:
-					tirePWM[TIRE_FL] = 20;
-					tirePWM[TIRE_BL] = 17;
-					tirePWM[TIRE_BR] = -20;
-					tirePWM[TIRE_FR] = -17;
-					adjAnable = true;
-					break;
-				case -3:
-					tirePWM[TIRE_FL] = 20;
-					tirePWM[TIRE_BL] = 14;
-					tirePWM[TIRE_BR] = -20;
-					tirePWM[TIRE_FR] = -14;
-					adjAnable = true;
-					break;
-				case -2:
-					tirePWM[TIRE_FL] = 20;
-					tirePWM[TIRE_BL] = 10;
-					tirePWM[TIRE_BR] = -20;
-					tirePWM[TIRE_FR] = -10;
-					adjAnable = true;
-					break;
-				case 'A':
-					if(lineCheck == false) {
-						lineCheck = true;
-						lineCount = 0;
-						countW++;
-					}
-					tirePWM[TIRE_FL] = 20;
-					tirePWM[TIRE_BL] = 20;
-					tirePWM[TIRE_BR] = -20;
-					tirePWM[TIRE_FR] = -20;
-					adjAnable = true;
-					break;
-				case 'N':
-					tirePWM[TIRE_FL] = 0;
-					tirePWM[TIRE_BL] = 0;
-					tirePWM[TIRE_BR] = 0;
-					tirePWM[TIRE_FR] = 0;
-					adjAnable = false;
-					break;
-				default:
-					tirePWM[TIRE_FL] = 0;
-					tirePWM[TIRE_BL] = 0;
-					tirePWM[TIRE_BR] = 0;
-					tirePWM[TIRE_FR] = 0;
-					adjAnable = false;
-			}
-		}
-		
-		motor[TIRE_FL].dir = SetStatus(tirePWM[TIRE_FL]);
-		motor[TIRE_BL].dir = SetStatus(tirePWM[TIRE_BL]);
-		motor[TIRE_BR].dir = SetStatus(tirePWM[TIRE_BR]);
-		motor[TIRE_FR].dir = SetStatus(tirePWM[TIRE_FR]);
-		motor[TIRE_FL].pwm = SetPWM(tirePWM[TIRE_FL]);
-		motor[TIRE_BL].pwm = SetPWM(tirePWM[TIRE_BL]);
-		motor[TIRE_BR].pwm = SetPWM(tirePWM[TIRE_BR]);
-		motor[TIRE_FR].pwm = SetPWM(tirePWM[TIRE_FR]);	
-		
-		if(lineCheck == true)  {
-			lineCount++;
-			if(lineCount > 20) lineCheck = false;
-		}
-		if(countW == 1) {
-			countW = 0;
-			lineFase = 10;
-			lineCount = 0;
-			lineCheck = false;
-		}
-	} else if(lineFase == 10) {  // 前 低速
-		motor[TIRE_FL].dir = FOR;
-		motor[TIRE_BL].dir = FOR;
-		motor[TIRE_BR].dir = BACK;
-		motor[TIRE_FR].dir = BACK;
-		if(linePara[4] == 0) {
-			lineFase = 11;
-			motor[TIRE_FL].dir = BRAKE;
-			motor[TIRE_BL].dir = BRAKE;
-			motor[TIRE_BR].dir = BRAKE;
-			motor[TIRE_FR].dir = BRAKE;
-		}
-		motor[TIRE_FL].pwm = 16;
-		motor[TIRE_BL].pwm = 16;
-		motor[TIRE_BR].pwm = 16;
-		motor[TIRE_FR].pwm = 16; 
-	} else if(lineFase == 11) {  
-		switch(linePara[4]) {  // 右 ライントレース
-			case -2:
-				tirePWM[TIRE_FL] = 30;
-				tirePWM[TIRE_BL] = 0;
-				tirePWM[TIRE_BR] = -30;
-				tirePWM[TIRE_FR] = 0;
-				adjAnable = true;
-				break;
-			case -3:
-				tirePWM[TIRE_FL] = 30;
-				tirePWM[TIRE_BL] = -10;
-				tirePWM[TIRE_BR] = -30;
-				tirePWM[TIRE_FR] = 10;
-				adjAnable = true;
-				break;
-			case -1:
-				tirePWM[TIRE_FL] = 30;
-				tirePWM[TIRE_BL] = -20;
-				tirePWM[TIRE_BR] = -30;
-				tirePWM[TIRE_FR] = 20;
-				adjAnable = true;
-				break;
-			case 0:
-				tirePWM[TIRE_FL] = 30;
-				tirePWM[TIRE_BL] = -30;
-				tirePWM[TIRE_BR] = -30;
-				tirePWM[TIRE_FR] = 30;
-				adjAnable = true;
-				break;
-			case 1:
-				tirePWM[TIRE_FL] = 20;
-				tirePWM[TIRE_BL] = -30;
-				tirePWM[TIRE_BR] = -20;
-				tirePWM[TIRE_FR] = 30;
-				adjAnable = true;
-				break;
-			case 3:
-				tirePWM[TIRE_FL] = 10;
-				tirePWM[TIRE_BL] = -30;
-				tirePWM[TIRE_BR] = -10;
-				tirePWM[TIRE_FR] = 30;
-				adjAnable = true;
-				break;
-			case 2:
-				tirePWM[TIRE_FL] = 0;
-				tirePWM[TIRE_BL] = -30;
-				tirePWM[TIRE_BR] = 0;
-				tirePWM[TIRE_FR] = 30;
-				adjAnable = true;
-				break;
-			case 'A':
-				if(lineCheck == false) {
-					lineCheck = true;
-					lineCount = 0;
-					countW++;
-				}
-				tirePWM[TIRE_FL] = 30;
-				tirePWM[TIRE_BL] = -30;
-				tirePWM[TIRE_BR] = -30;
-				tirePWM[TIRE_FR] = 30;
-				adjAnable = true;
-				break;
-			case 'N':
-				tirePWM[TIRE_FL] = 0;
-				tirePWM[TIRE_BL] = 0;
-				tirePWM[TIRE_BR] = 0;
-				tirePWM[TIRE_FR] = 0;
-				adjAnable = false;
-				break;
-			default:
-				tirePWM[TIRE_FL] = 0;
-				tirePWM[TIRE_BL] = 0;
-				tirePWM[TIRE_BR] = 0;
-				tirePWM[TIRE_FR] = 0;
-				adjAnable = false;
-		}
-		
-		if(adjAnable){
-			if(linePara[3] != 'A' && linePara[3] != 'N') adj = linePara[3];
-		} else {
-			adj = 0;
-		}
-		
-		motor[TIRE_FL].dir = SetStatus(tirePWM[TIRE_FL] + adj);
-		motor[TIRE_BL].dir = SetStatus(tirePWM[TIRE_BL] + adj);
-		motor[TIRE_BR].dir = SetStatus(tirePWM[TIRE_BR]);
-		motor[TIRE_FR].dir = SetStatus(tirePWM[TIRE_FR]);
-		motor[TIRE_FL].pwm = SetPWM(tirePWM[TIRE_FL] + adj);
-		motor[TIRE_BL].pwm = SetPWM(tirePWM[TIRE_BL] + adj);
-		motor[TIRE_BR].pwm = SetPWM(tirePWM[TIRE_BR]);
-		motor[TIRE_FR].pwm = SetPWM(tirePWM[TIRE_FR]);	
-		
-		if(lineCheck == true)  {
-			lineCount++;
-			if(lineCount > 20) lineCheck = false;
-		}
-		if(countW == 2) {
-			countW = 0;
-			lineFase = 12;
-			lineCount = 0;
-			lineCheck = false;
-		}
-	} else if(lineFase == 12) { // 右 低速
-		motor[TIRE_FL].dir = FOR;
-		motor[TIRE_BL].dir = BACK;
-		motor[TIRE_BR].dir = BACK;
-		motor[TIRE_FR].dir = FOR;
-		if(linePara[LINE_TOW_1] == 0) {
-			lineFase = 13;
-			motor[TIRE_FL].dir = BRAKE;
-			motor[TIRE_BL].dir = BRAKE;
-			motor[TIRE_BR].dir = BRAKE;
-			motor[TIRE_FR].dir = BRAKE;
-		}
-		motor[TIRE_FL].pwm = 16;
-		motor[TIRE_BL].pwm = 16;
-		motor[TIRE_BR].pwm = 16;
-		motor[TIRE_FR].pwm = 16;
-	} else if (lineFase == 13) {
-		lineFase = 14;
-		motor[TIRE_FL].dir = BRAKE;
-		motor[TIRE_BL].dir = BRAKE;
-		motor[TIRE_BR].dir = BRAKE;
-		motor[TIRE_FR].dir = BRAKE;
-	} else if(lineFase == 14) {  // タオル2 竿検知
-	LedOut(4);
-		if(LimitSw::IsPressed(TOW_2L) && LimitSw::IsPressed(TOW_2R)) {
-			lineFase = 15;
-			motor[TIRE_FL].dir = BRAKE;
-			motor[TIRE_FL].pwm = 50;
-			motor[TIRE_BL].dir = BRAKE;
-			motor[TIRE_BL].pwm = 50;
-			motor[TIRE_BR].dir = BRAKE;
-			motor[TIRE_BR].pwm = 50;
-			motor[TIRE_FR].dir = BRAKE;
-			motor[TIRE_FR].pwm = 50;
-		} else if(LimitSw::IsPressed(TOW_2L)) { 
-			motor[TIRE_FL].dir = FOR;
-			motor[TIRE_FL].pwm = 20;
-			motor[TIRE_BL].dir = FOR;
-			motor[TIRE_BL].pwm = 20;
-			motor[TIRE_BR].dir = FOR;
-			motor[TIRE_BR].pwm = 20;
-			motor[TIRE_FR].dir = FOR;
-			motor[TIRE_FR].pwm = 20;
-		} else if(LimitSw::IsPressed(TOW_2R)) { 
-			motor[TIRE_FL].dir = BACK;
-			motor[TIRE_FL].pwm = 20;
-			motor[TIRE_BL].dir = BACK;
-			motor[TIRE_BL].pwm = 20;
-			motor[TIRE_BR].dir = BACK;
-			motor[TIRE_BR].pwm = 20;
-			motor[TIRE_FR].dir = BACK;
-			motor[TIRE_FR].pwm = 20;
-		} else {
-			if(LimitSw::IsPressed(QF_SW)) {
-				switch(linePara[LINE_TOW_1]) {
-					case -2:
-						tirePWM[TIRE_FL] = -10;
-						tirePWM[TIRE_BL] = -20;
-						tirePWM[TIRE_BR] = 10;
-						tirePWM[TIRE_FR] = 20;
-						adjAnable = true;
-						break;
-					case -3:
-						tirePWM[TIRE_FL] = -14;
-						tirePWM[TIRE_BL] = -20;
-						tirePWM[TIRE_BR] = 14;
-						tirePWM[TIRE_FR] = 20;
-						adjAnable = true;
-						break;
-					case -1:
-						tirePWM[TIRE_FL] = -17;
-						tirePWM[TIRE_BL] = -20;
-						tirePWM[TIRE_BR] = 17;
-						tirePWM[TIRE_FR] = 20;
-						adjAnable = true;
-						break;
-					case 0:
-						tirePWM[TIRE_FL] = -20;
-						tirePWM[TIRE_BL] = -20;
-						tirePWM[TIRE_BR] = 20;
-						tirePWM[TIRE_FR] = 20;
-						adjAnable = true;
-						break;
-					case 1:
-						tirePWM[TIRE_FL] = -20;
-						tirePWM[TIRE_BL] = -17;
-						tirePWM[TIRE_BR] = 20;
-						tirePWM[TIRE_FR] = 17;
-						adjAnable = true;
-						break;
-					case 3:
-						tirePWM[TIRE_FL] = -20;
-						tirePWM[TIRE_BL] = -14;
-						tirePWM[TIRE_BR] = 20;
-						tirePWM[TIRE_FR] = 14;
-						adjAnable = true;
-						break;
-					case 2:
-						tirePWM[TIRE_FL] = -20;
-						tirePWM[TIRE_BL] = -10;
-						tirePWM[TIRE_BR] = 20;
-						tirePWM[TIRE_FR] = 10;
-						adjAnable = true;
-						break;
-					case 'A':
-						tirePWM[TIRE_FL] = -20;
-						tirePWM[TIRE_BL] = -20;
-						tirePWM[TIRE_BR] = 20;
-						tirePWM[TIRE_FR] = 20;
-						adjAnable = true;
-						break;
-					case 'N':
-						tirePWM[TIRE_FL] = tirePWM[TIRE_FL];
-						tirePWM[TIRE_BL] = tirePWM[TIRE_BL];
-						tirePWM[TIRE_BR] = tirePWM[TIRE_BR];
-						tirePWM[TIRE_FR] = tirePWM[TIRE_FR];
-						adjAnable = false;
-						break;
-					default:
-						tirePWM[TIRE_FL] = 0;
-						tirePWM[TIRE_BL] = 0;
-						tirePWM[TIRE_BR] = 0;
-						tirePWM[TIRE_FR] = 0;
-						adjAnable = false;
-				}
-			} else {
-				switch(linePara[LINE_TOW_1]) {
-					case 2:
-						tirePWM[TIRE_FL] = -10;
-						tirePWM[TIRE_BL] = -20;
-						tirePWM[TIRE_BR] = 10;
-						tirePWM[TIRE_FR] = 20;
-						adjAnable = true;
-						break;
-					case 3:
-						tirePWM[TIRE_FL] = -14;
-						tirePWM[TIRE_BL] = -20;
-						tirePWM[TIRE_BR] = 14;
-						tirePWM[TIRE_FR] = 20;
-						adjAnable = true;
-						break;
-					case 1:
-						tirePWM[TIRE_FL] = -17;
-						tirePWM[TIRE_BL] = -20;
-						tirePWM[TIRE_BR] = 17;
-						tirePWM[TIRE_FR] = 20;
-						adjAnable = true;
-						break;
-					case 0:
-						tirePWM[TIRE_FL] = -20;
-						tirePWM[TIRE_BL] = -20;
-						tirePWM[TIRE_BR] = 20;
-						tirePWM[TIRE_FR] = 20;
-						adjAnable = true;
-						break;
-					case -1:
-						tirePWM[TIRE_FL] = -20;
-						tirePWM[TIRE_BL] = -17;
-						tirePWM[TIRE_BR] = 20;
-						tirePWM[TIRE_FR] = 17;
-						adjAnable = true;
-						break;
-					case -3:
-						tirePWM[TIRE_FL] = -20;
-						tirePWM[TIRE_BL] = -14;
-						tirePWM[TIRE_BR] = 20;
-						tirePWM[TIRE_FR] = 14;
-						adjAnable = true;
-						break;
-					case -2:
-						tirePWM[TIRE_FL] = -20;
-						tirePWM[TIRE_BL] = -10;
-						tirePWM[TIRE_BR] = 20;
-						tirePWM[TIRE_FR] = 10;
-						adjAnable = true;
-						break;
-					case 'A':
-						tirePWM[TIRE_FL] = -20;
-						tirePWM[TIRE_BL] = -20;
-						tirePWM[TIRE_BR] = 20;
-						tirePWM[TIRE_FR] = 20;
-						adjAnable = true;
-						break;
-					case 'N':
-						tirePWM[TIRE_FL] = tirePWM[TIRE_FL];
-						tirePWM[TIRE_BL] = tirePWM[TIRE_BL];
-						tirePWM[TIRE_BR] = tirePWM[TIRE_BR];
-						tirePWM[TIRE_FR] = tirePWM[TIRE_FR];
-						adjAnable = false;
-						break;
-					default:
-						tirePWM[TIRE_FL] = 0;
-						tirePWM[TIRE_BL] = 0;
-						tirePWM[TIRE_BR] = 0;
-						tirePWM[TIRE_FR] = 0;
-						adjAnable = false;
-				}
-			}
-				
-			motor[TIRE_FL].dir = SetStatus(tirePWM[TIRE_FL]);
-			motor[TIRE_BL].dir = SetStatus(tirePWM[TIRE_BL]);
-			motor[TIRE_BR].dir = SetStatus(tirePWM[TIRE_BR]);
-			motor[TIRE_FR].dir = SetStatus(tirePWM[TIRE_FR]);
-			motor[TIRE_FL].pwm = SetPWM(tirePWM[TIRE_FL]);
-			motor[TIRE_BL].pwm = SetPWM(tirePWM[TIRE_BL]);
-			motor[TIRE_BR].pwm = SetPWM(tirePWM[TIRE_BR]);
-			motor[TIRE_FR].pwm = SetPWM(tirePWM[TIRE_FR]);
-		}
-	} else if(lineFase == 15 ){  // ライン 修正
-		if(linePara[LINE_TOW_1] == 'A' || linePara[LINE_TOW_1] == 'N') {
-			motor[TIRE_FL].dir = BRAKE;
-			motor[TIRE_FL].pwm = 50;
-			motor[TIRE_BL].dir = BRAKE;
-			motor[TIRE_BL].pwm = 50;
-			motor[TIRE_BR].dir = BRAKE;
-			motor[TIRE_BR].pwm = 50;
-			motor[TIRE_FR].dir = BRAKE;
-			motor[TIRE_FR].pwm = 50;
-		} else if(linePara[LINE_TOW_1] > 0) {
-			motor[TIRE_FL].dir = BACK;
-			motor[TIRE_FL].pwm = 16;
-			motor[TIRE_BL].dir = FOR;
-			motor[TIRE_BL].pwm = 16;
-			motor[TIRE_BR].dir = FOR;
-			motor[TIRE_BR].pwm = 16;
-			motor[TIRE_FR].dir = BACK;
-			motor[TIRE_FR].pwm = 16;
-		} else if(linePara[LINE_TOW_1] < 0) {
-			motor[TIRE_FL].dir = FOR;
-			motor[TIRE_FL].pwm = 16;
-			motor[TIRE_BL].dir = BACK;
-			motor[TIRE_BL].pwm = 16;
-			motor[TIRE_BR].dir = BACK;
-			motor[TIRE_BR].pwm = 16;
-			motor[TIRE_FR].dir = FOR;
-			motor[TIRE_FR].pwm = 16;
-		} else if(linePara[LINE_TOW_1] == 0) {
-			lineFase = 16;
-			motor[TIRE_FL].dir = BRAKE;
-			motor[TIRE_FL].pwm = 50;
-			motor[TIRE_BL].dir = BRAKE;
-			motor[TIRE_BL].pwm = 50;
-			motor[TIRE_BR].dir = BRAKE;
-			motor[TIRE_BR].pwm = 50;
-			motor[TIRE_FR].dir = BRAKE;
-			motor[TIRE_FR].pwm = 50;
-		} else {
-			motor[TIRE_FL].dir = BRAKE;
-			motor[TIRE_FL].pwm = 50;
-			motor[TIRE_BL].dir = BRAKE;
-			motor[TIRE_BL].pwm = 50;
-			motor[TIRE_BR].dir = BRAKE;
-			motor[TIRE_BR].pwm = 50;
-			motor[TIRE_FR].dir = BRAKE;
-			motor[TIRE_FR].pwm = 50;
-		}
-	} else if(lineFase == 16) { // タオル2 解放
-		Air[1] = SOLENOID_ON;
-		motor[TIRE_FL].dir = BRAKE;
-		motor[TIRE_BL].dir = BRAKE;
-		motor[TIRE_BR].dir = BRAKE;
-		motor[TIRE_FR].dir = BRAKE;
-		lineFase = 17;
-	} else if(lineFase == 17) { // 前
-        if(LimitSw::IsPressed(LSW_UU)) {
-            motor[LIFT_U].dir=BRAKE;
-            motor[LIFT_U].pwm=100;
-        } else {
-            motor[LIFT_U].dir=BACK;
-            motor[LIFT_U].pwm=180;
-        }
-        switch(linePara[LINE_TOW_2]) {
-            case 2:
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 3:
-                tirePWM[TIRE_FL] = 10;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = -10;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 1:
-                tirePWM[TIRE_FL] = 20;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = -20;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 0:
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case -1:
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = 20;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = -20;
-                adjAnable = true;
-                break;
-            case -3:
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = 10;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = -10;
-                adjAnable = true;
-                break;
-            case -2:
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = true;
-                break;
-            case 'A':
-                if(lineCheck == false) {
-                    lineCheck = true;
-                    lineCount = 0;
-                    countW++;
-                }
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 'N':
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-                break;
-            default:
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-        }
-
-        if(adjAnable) {
-            adj = 0;
-        } else {
-            adj = 0;
-        }
-
-        motor[TIRE_FL].dir = SetStatus(tirePWM[TIRE_FL]);
-        motor[TIRE_BL].dir = SetStatus(tirePWM[TIRE_BL] + adj);
-        motor[TIRE_BR].dir = SetStatus(tirePWM[TIRE_BR] + adj);
-        motor[TIRE_FR].dir = SetStatus(tirePWM[TIRE_FR]);
-        motor[TIRE_FL].pwm = SetPWM(tirePWM[TIRE_FL]);
-        motor[TIRE_BL].pwm = SetPWM(tirePWM[TIRE_BL] + adj);
-        motor[TIRE_BR].pwm = SetPWM(tirePWM[TIRE_BR] + adj);
-        motor[TIRE_FR].pwm = SetPWM(tirePWM[TIRE_FR]);
-
-        if(lineCheck == true)  {
-            lineCount++;
-            if(lineCount > 20) lineCheck = false;
-        }
-        if(countW == 1) {
-            countW = 0;
-            lineFase = 100;
-            lineCount = 0;
-            lineCheck = false;
-        }
-    } else if(lineFase==100) {
-        LedOut(6);
-        motor[TIRE_FL].dir = FOR;
-        motor[TIRE_BL].dir = FOR;
-        motor[TIRE_BR].dir = BACK;
-        motor[TIRE_FR].dir = BACK;
-        motor[TIRE_FL].pwm=15;
-        motor[TIRE_FR].pwm=15;
-        motor[TIRE_BL].pwm=15;
-        motor[TIRE_BR].pwm=15;
-        if(LimitSw::IsPressed(LSW_UU)) {
-            motor[LIFT_U].dir=BRAKE;
-            motor[LIFT_U].pwm=100;
-        } else {
-            motor[LIFT_U].dir=BACK;
-            motor[LIFT_U].pwm=150;
-        }
-        if((Ult_left>0)&&(Ult_right>0)&&(Ult_left<30)&&(Ult_right<30)) {
-            lineFase=101;
-        }
-    } else if(lineFase==101) {
-        //位置調整
-        //(P制御)
-        if((Ult_left>0)&&(Ult_right>0)) {//データを受け取っているとき
-            if((Ult_left<16)&&(Ult_left>14)&&(Ult_right<16)&&(Ult_right>14)) { //合った場合
-                motor[TIRE_FL].dir=BRAKE;
-                motor[TIRE_FR].dir=BRAKE;
-                motor[TIRE_BL].dir=BRAKE;
-                motor[TIRE_BR].dir=BRAKE;
-                motor[TIRE_FL].pwm=100;
-                motor[TIRE_FR].pwm=100;
-                motor[TIRE_BL].pwm=100;
-                motor[TIRE_BR].pwm=100;
-                lineFase=102;//system lineFase increasing
-            } else if((Ult_left<16)&&(Ult_left>14)) { //Ult_leftのみあった場合
-                if(Ult_right>16) { //Ult_rightが遠い場合
-                    motor[TIRE_FL].dir=FOR;
-                    motor[TIRE_FR].dir=BACK;
-                    motor[TIRE_BL].dir=FOR;
-                    motor[TIRE_BR].dir=BACK;
-                    motor[TIRE_FL].pwm=0;
-                    motor[TIRE_FR].pwm=15;
-                    motor[TIRE_BL].pwm=0;
-                    motor[TIRE_BR].pwm=15;
-                } else if(Ult_right<14) { //Ult_rightが近い場合
-                    motor[TIRE_FL].dir=BACK;
-                    motor[TIRE_FR].dir=FOR;
-                    motor[TIRE_BL].dir=BACK;
-                    motor[TIRE_BR].dir=FOR;
-                    motor[TIRE_FL].pwm=0;
-                    motor[TIRE_FR].pwm=15;
-                    motor[TIRE_BL].pwm=0;
-                    motor[TIRE_BR].pwm=15;
-                }
-            } else if((Ult_right<16)&&(Ult_right>14)) { //Ult_rightのみあった場合
-                if(Ult_left>16) { //Ult_leftが遠い場合
-                    motor[TIRE_FL].dir=FOR;
-                    motor[TIRE_FR].dir=BACK;
-                    motor[TIRE_BL].dir=FOR;
-                    motor[TIRE_BR].dir=BACK;
-                    motor[TIRE_FL].pwm=15;
-                    motor[TIRE_FR].pwm=0;
-                    motor[TIRE_BL].pwm=15;
-                    motor[TIRE_BR].pwm=0;
-                } else if(Ult_left<14) { //Ult_leftが近い場合
-                    motor[TIRE_FL].dir=BACK;
-                    motor[TIRE_FR].dir=FOR;
-                    motor[TIRE_BL].dir=BACK;
-                    motor[TIRE_BR].dir=FOR;
-                    motor[TIRE_FL].pwm=15;
-                    motor[TIRE_FR].pwm=0;
-                    motor[TIRE_BL].pwm=15;
-                    motor[TIRE_BR].pwm=0;
-                }
-            } else { //どっちもあってない場合
-                if( (Ult_left+Ult_right)<=25||(Ult_left+Ult_right)>=35) {//離れすぎているor近すぎるとき
-                    if((Ult_left-Ult_right)>10||((Ult_left-Ult_right)<-10) ) { //傾きが大きいとき
-                        if((Ult_left-Ult_right)>0) { //Ult_leftの方が後ろに来ているとき
-                            motor[TIRE_FL].dir=FOR;
-                            motor[TIRE_FR].dir=FOR;
-                            motor[TIRE_BL].dir=FOR;
-                            motor[TIRE_BR].dir=FOR;
-                            motor[TIRE_FL].pwm=15;
-                            motor[TIRE_FR].pwm=15;
-                            motor[TIRE_BL].pwm=15;
-                            motor[TIRE_BR].pwm=15;
-                        } else if((Ult_left-Ult_right)<=0) { //Ult_rightの方が後ろに来ているとき
-                            motor[TIRE_FL].dir=BACK;
-                            motor[TIRE_FR].dir=BACK;
-                            motor[TIRE_BL].dir=BACK;
-                            motor[TIRE_BR].dir=BACK;
-                            motor[TIRE_FL].pwm=15;
-                            motor[TIRE_FR].pwm=15;
-                            motor[TIRE_BL].pwm=15;
-                            motor[TIRE_BR].pwm=15;
-                        }
-                    } else { //傾きが大きくなくて離れているとき
-                        if((Ult_right+Ult_left)<=25) { //近すぎるとき
-                            motor[TIRE_FL].dir=BACK;
-                            motor[TIRE_FR].dir=FOR;
-                            motor[TIRE_BL].dir=BACK;
-                            motor[TIRE_BR].dir=FOR;
-                            motor[TIRE_FL].pwm=20;
-                            motor[TIRE_FR].pwm=20;
-                            motor[TIRE_BL].pwm=20;
-                            motor[TIRE_BR].pwm=20;
-                        } else if((Ult_right+Ult_left)>=35) { //離れているとき
-                            motor[TIRE_FL].dir=FOR;
-                            motor[TIRE_FR].dir=BACK;
-                            motor[TIRE_BL].dir=FOR;
-                            motor[TIRE_BR].dir=BACK;
-                            motor[TIRE_FL].pwm=20;
-                            motor[TIRE_FR].pwm=20;
-                            motor[TIRE_BL].pwm=20;
-                            motor[TIRE_BR].pwm=20;
-                        }
-                    }
-
-                } else { //さほど離れてはいないが傾きが大きいとき
-                    if((Ult_left-Ult_right)>0) { //Ult_leftの方が後ろに来ているとき
-                        motor[TIRE_FL].dir=FOR;
-                        motor[TIRE_FR].dir=FOR;
-                        motor[TIRE_BL].dir=FOR;
-                        motor[TIRE_BR].dir=FOR;
-                        motor[TIRE_FL].pwm=15;
-                        motor[TIRE_FR].pwm=15;
-                        motor[TIRE_BL].pwm=15;
-                        motor[TIRE_BR].pwm=15;
-                    } else if((Ult_left-Ult_right)<=0) { //Ult_rightの方が後ろに来ているとき
-                        motor[TIRE_FL].dir=BACK;
-                        motor[TIRE_FR].dir=BACK;
-                        motor[TIRE_BL].dir=BACK;
-                        motor[TIRE_BR].dir=BACK;
-                        motor[TIRE_FL].pwm=15;
-                        motor[TIRE_FR].pwm=15;
-                        motor[TIRE_BL].pwm=15;
-                        motor[TIRE_BR].pwm=15;
-                    }
-                }
-            }
-
-        } else {//データを受け取ってないとき
-            motor[TIRE_FL].dir=BRAKE;
-            motor[TIRE_FR].dir=BRAKE;
-            motor[TIRE_BL].dir=BRAKE;
-            motor[TIRE_BR].dir=BRAKE;
-            motor[TIRE_FL].pwm=100;
-            motor[TIRE_FR].pwm=100;
-            motor[TIRE_BL].pwm=100;
-            motor[TIRE_BR].pwm=100;
-        }
-
-    } else if(lineFase==102) {
-        Air[CLOTHESPIN]=SOLENOID_OFF;
-        LedOut(1);
-        //リミットスイッチに当てる
-        static int count2=0;
-        if(count2==0) {
-            if(LimitSw::IsPressed(RIGHTlim)) {
-                count2=1;
-            } else if((Ult_left>0)&&(Ult_right>0)) {//データを受け取っているとき
-                if( ((Ult_left+Ult_right)<=25)||((Ult_left+Ult_right)>=35) ) {
-                    if(((Ult_left-Ult_right)>=5)||((Ult_left-Ult_right)<=-5)) {
-                        if(Ult_left-Ult_right<=0) {
-                            //右
-                            motor[TIRE_FL].dir=FOR;
-                            motor[TIRE_FR].dir=FOR;
-                            motor[TIRE_BL].dir=BACK;
-                            motor[TIRE_BR].dir=BACK;
-
-                            motor[TIRE_FL].pwm=25;
-                            motor[TIRE_FR].pwm=25;
-
-                            motor[TIRE_BL].pwm=25+(-1*(Ult_left-Ult_right));
-                            motor[TIRE_BR].pwm=25+(-1*(Ult_left-Ult_right));
-                        } else if(Ult_left-Ult_right>0) {
-                            motor[TIRE_FL].dir=FOR;
-                            motor[TIRE_FR].dir=FOR;
-                            motor[TIRE_BL].dir=BACK;
-                            motor[TIRE_BR].dir=BACK;
-
-                            motor[TIRE_BL].pwm=25;
-                            motor[TIRE_BR].pwm=25;
-                            motor[TIRE_FL].pwm=25+(1*(Ult_left-Ult_right));
-                            motor[TIRE_FR].pwm=25+(1*(Ult_left-Ult_right));
-                        }
-                    } else if((Ult_left+Ult_right)<=25) {
-                        motor[TIRE_FL].dir=FOR;
-                        motor[TIRE_FR].dir=FOR;
-                        motor[TIRE_BL].dir=BACK;
-                        motor[TIRE_BR].dir=BACK;
-
-                        motor[TIRE_FL].pwm=0;
-                        motor[TIRE_FR].pwm=25;
-                        motor[TIRE_BL].pwm=25;
-                        motor[TIRE_BR].pwm=0;
-                    } else if((Ult_left+Ult_right)>=35) {
-                        motor[TIRE_FL].dir=FOR;
-                        motor[TIRE_FR].dir=FOR;
-                        motor[TIRE_BL].dir=BACK;
-                        motor[TIRE_BR].dir=BACK;
-
-                        motor[TIRE_FL].pwm=25;
-                        motor[TIRE_FR].pwm=0;
-                        motor[TIRE_BL].pwm=0;
-                        motor[TIRE_BR].pwm=25;
-                    }
-                } else {
-                    if(Ult_left-Ult_right<=0) {
-                        motor[TIRE_FL].dir=FOR;
-                        motor[TIRE_FR].dir=FOR;
-                        motor[TIRE_BL].dir=BACK;
-                        motor[TIRE_BR].dir=BACK;
-
-                        motor[TIRE_FL].pwm=25;
-                        motor[TIRE_FR].pwm=25;
-
-                        motor[TIRE_BL].pwm=25+(-1*(Ult_left-Ult_right));
-                        motor[TIRE_BR].pwm=25+(-1*(Ult_left-Ult_right));
-                    } else if(Ult_left-Ult_right>0) {
-                        motor[TIRE_FL].dir=FOR;
-                        motor[TIRE_FR].dir=FOR;
-                        motor[TIRE_BL].dir=BACK;
-                        motor[TIRE_BR].dir=BACK;
-
-                        motor[TIRE_BL].pwm=25;
-                        motor[TIRE_BR].pwm=25;
-                        motor[TIRE_FL].pwm=25+(1*(Ult_left-Ult_right));
-                        motor[TIRE_FR].pwm=25+(1*(Ult_left-Ult_right));
-                    }
-                }
-
-            } else {
-                motor[TIRE_FL].dir=BRAKE;
-                motor[TIRE_FR].dir=BRAKE;
-                motor[TIRE_BL].dir=BRAKE;
-                motor[TIRE_BR].dir=BRAKE;
-                motor[TIRE_FL].pwm=100;
-                motor[TIRE_FR].pwm=100;
-                motor[TIRE_BL].pwm=100;
-                motor[TIRE_BR].pwm=100;
-
-            }
-        } else if(count2==1) {
-            motor[TIRE_FL].dir=BRAKE;
-            motor[TIRE_FR].dir=BRAKE;
-            motor[TIRE_BL].dir=BRAKE;
-            motor[TIRE_BR].dir=BRAKE;
-            motor[TIRE_FL].pwm=255;
-            motor[TIRE_FR].pwm=255;
-            motor[TIRE_BL].pwm=255;
-            motor[TIRE_BR].pwm=255;
-            lineFase=103;
-        }
-    } else if(lineFase==103) {
-        if((Ult_left>0)&&(Ult_right>0)) {//データを受け取っているとき
-            if((Ult_left<16)&&(Ult_left>14)&&(Ult_right<16)&&(Ult_right>14)) { //合った場合
-                motor[TIRE_FL].dir=BRAKE;
-                motor[TIRE_FR].dir=BRAKE;
-                motor[TIRE_BL].dir=BRAKE;
-                motor[TIRE_BR].dir=BRAKE;
-                motor[TIRE_FL].pwm=255;
-                motor[TIRE_FR].pwm=255;
-                motor[TIRE_BL].pwm=255;
-                motor[TIRE_BR].pwm=255;
-                lineFase=104;//system lineFase increasing
-            } else if((Ult_left<16)&&(Ult_left>14)) { //Ult_leftのみあった場合
-                if(Ult_right>16) { //Ult_rightが遠い場合
-                    motor[TIRE_FL].dir=FOR;
-                    motor[TIRE_FR].dir=BACK;
-                    motor[TIRE_BL].dir=FOR;
-                    motor[TIRE_BR].dir=BACK;
-                    motor[TIRE_FL].pwm=0;
-                    motor[TIRE_FR].pwm=13;
-                    motor[TIRE_BL].pwm=0;
-                    motor[TIRE_BR].pwm=13;
-                } else if(Ult_right<14) { //Ult_rightが近い場合
-                    motor[TIRE_FL].dir=BACK;
-                    motor[TIRE_FR].dir=FOR;
-                    motor[TIRE_BL].dir=BACK;
-                    motor[TIRE_BR].dir=FOR;
-                    motor[TIRE_FL].pwm=0;
-                    motor[TIRE_FR].pwm=13;
-                    motor[TIRE_BL].pwm=0;
-                    motor[TIRE_BR].pwm=13;
-                }
-            } else if((Ult_right<16)&&(Ult_right>14)) { //Ult_rightのみあった場合
-                if(Ult_left>16) { //Ult_leftが遠い場合
-                    motor[TIRE_FL].dir=FOR;
-                    motor[TIRE_FR].dir=BACK;
-                    motor[TIRE_BL].dir=FOR;
-                    motor[TIRE_BR].dir=BACK;
-                    motor[TIRE_FL].pwm=13;
-                    motor[TIRE_FR].pwm=0;
-                    motor[TIRE_BL].pwm=13;
-                    motor[TIRE_BR].pwm=0;
-                } else if(Ult_left<14) { //Ult_leftが近い場合
-                    motor[TIRE_FL].dir=BACK;
-                    motor[TIRE_FR].dir=FOR;
-                    motor[TIRE_BL].dir=BACK;
-                    motor[TIRE_BR].dir=FOR;
-                    motor[TIRE_FL].pwm=13;
-                    motor[TIRE_FR].pwm=0;
-                    motor[TIRE_BL].pwm=13;
-                    motor[TIRE_BR].pwm=0;
-                }
-            } else { //どっちもあってない場合
-                if( (Ult_left+Ult_right)<=25||(Ult_left+Ult_right)>=35) {//離れすぎているor近すぎるとき
-                    if((Ult_left-Ult_right)>0||((Ult_left-Ult_right)<0) ) { //傾きが大きいとき
-                        if((Ult_left-Ult_right)>0) { //Ult_leftの方が後ろに来ているとき
-                            motor[TIRE_FL].dir=FOR;
-                            motor[TIRE_FR].dir=FOR;
-                            motor[TIRE_BL].dir=FOR;
-                            motor[TIRE_BR].dir=FOR;
-                            motor[TIRE_FL].pwm=15;
-                            motor[TIRE_FR].pwm=15;
-                            motor[TIRE_BL].pwm=15;
-                            motor[TIRE_BR].pwm=15;
-                        } else if((Ult_left-Ult_right)<=0) { //Ult_rightの方が後ろに来ているとき
-                            motor[TIRE_FL].dir=BACK;
-                            motor[TIRE_FR].dir=BACK;
-                            motor[TIRE_BL].dir=BACK;
-                            motor[TIRE_BR].dir=BACK;
-                            motor[TIRE_FL].pwm=15;
-                            motor[TIRE_FR].pwm=15;
-                            motor[TIRE_BL].pwm=15;
-                            motor[TIRE_BR].pwm=15;
-                        }
-                    }
-                } else { //さほど離れてはいないが傾きが大きいとき
-                    if((Ult_left-Ult_right)>0) { //Ult_leftの方が後ろに来ているとき
-                        motor[TIRE_FL].dir=FOR;
-                        motor[TIRE_FR].dir=FOR;
-                        motor[TIRE_BL].dir=FOR;
-                        motor[TIRE_BR].dir=FOR;
-                        motor[TIRE_FL].pwm=15;
-                        motor[TIRE_FR].pwm=15;
-                        motor[TIRE_BL].pwm=15;
-                        motor[TIRE_BR].pwm=15;
-                    } else if((Ult_left-Ult_right)<=0) { //Ult_rightの方が後ろに来ているとき
-                        motor[TIRE_FL].dir=BACK;
-                        motor[TIRE_FR].dir=BACK;
-                        motor[TIRE_BL].dir=BACK;
-                        motor[TIRE_BR].dir=BACK;
-                        motor[TIRE_FL].pwm=15;
-                        motor[TIRE_FR].pwm=15;
-                        motor[TIRE_BL].pwm=15;
-                        motor[TIRE_BR].pwm=15;
-                    }
-                }
-            }
-
-        } else {//データを受け取ってないとき
-            motor[TIRE_FL].dir=BRAKE;
-            motor[TIRE_FR].dir=BRAKE;
-            motor[TIRE_BL].dir=BRAKE;
-            motor[TIRE_BR].dir=BRAKE;
-            motor[TIRE_FL].pwm=100;
-            motor[TIRE_FR].pwm=100;
-            motor[TIRE_BL].pwm=100;
-            motor[TIRE_BR].pwm=100;
-        }
-    } else if(lineFase==104) {
-        static int count3=0;
-        static int loop=0;
-        pc.printf("%d\r\n",loop);
-        Air[CLOTHESPIN]=1;
-        if(count3==0) {
-            loop++;
-            if(loop==60) {
-                count3=1;
-            }
-        } else if(count3==1) {
-            Air[CLOTHESPIN]=0;
-            lineFase=105;
-
-        }
-    } else if(lineFase==105) {
-        LedOut(6);
-        Air[CLOTHESPIN]=0;
-        if(!(LimitSw::IsPressed(LEFTlim))) {
-
-            //超音波
-            if(Ult_right>0) {
-                if(Ult_right<15) {
-                    motor[TIRE_FL].dir=BACK;
-                    motor[TIRE_FR].dir=BACK;
-                    motor[TIRE_BL].dir=FOR;
-                    motor[TIRE_BR].dir=FOR;
-                    motor[TIRE_FL].pwm=25+(15-Ult_left);
-                    motor[TIRE_FR].pwm=25;
-                    motor[TIRE_BL].pwm=25;
-                    motor[TIRE_BR].pwm=25+(15-Ult_left);
-                } else if(Ult_right>=15) {
-                    motor[TIRE_FL].dir=BACK;
-                    motor[TIRE_FR].dir=BACK;
-                    motor[TIRE_BL].dir=FOR;
-                    motor[TIRE_BR].dir=FOR;
-                    motor[TIRE_FL].pwm=25;
-                    motor[TIRE_FR].pwm=25+(15-Ult_left);
-                    motor[TIRE_BL].pwm=25+(15-Ult_left);
-                    motor[TIRE_BR].pwm=25;
-                }
-            } else {
-                motor[TIRE_FL].dir=BACK;
-                motor[TIRE_FR].dir=BACK;
-                motor[TIRE_BL].dir=FOR;
-                motor[TIRE_BR].dir=FOR;
-                motor[TIRE_FL].pwm=25;
-                motor[TIRE_FR].pwm=25;
-                motor[TIRE_BL].pwm=25;
-                motor[TIRE_BR].pwm=25;
-            }
-
-
-        } else {
-            motor[TIRE_FL].dir=BRAKE;
-            motor[TIRE_FR].dir=BRAKE;
-            motor[TIRE_BL].dir=BRAKE;
-            motor[TIRE_BR].dir=BRAKE;
-            motor[TIRE_FL].pwm=100;
-            motor[TIRE_FR].pwm=100;
-            motor[TIRE_BL].pwm=100;
-            motor[TIRE_BR].pwm=100;
-            lineFase=106;
-        }
-
-    } else if(lineFase==106) {
-        motor[TIRE_FL].dir=BACK;
-        motor[TIRE_FR].dir=FOR;
-        motor[TIRE_BL].dir=BACK;
-        motor[TIRE_BR].dir=FOR;
-        motor[TIRE_FL].pwm=15;
-        motor[TIRE_FR].pwm=15;
-        motor[TIRE_BL].pwm=15;
-        motor[TIRE_BR].pwm=15;
-        if(linePara[4]!='N') {
-            lineFase=19;
-        }
-    } else if(lineFase == 18) {  // 前 低速
-        motor[TIRE_FL].dir = FOR;
-        motor[TIRE_BL].dir = FOR;
-        motor[TIRE_BR].dir = BACK;
-        motor[TIRE_FR].dir = BACK;
-        if(linePara[4] != 'N') {
-            lineFase = 19;
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_FR].dir = BRAKE;
-        }
-        motor[TIRE_FL].pwm = 16;
-        motor[TIRE_BL].pwm = 16;
-        motor[TIRE_BR].pwm = 16;
-        motor[TIRE_FR].pwm = 16;
-    } else if(lineFase == 19) {  // 左
-        if(!(LimitSw::IsPressed(LSW_UB))) {
-            motor[LIFT_U].dir=FOR;
-            motor[LIFT_U].pwm=150;
-        } else {
-            motor[LIFT_U].dir=FOR;
-            motor[LIFT_U].pwm=150;
-        }
-        switch(linePara[3]) {
-            case -2:
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = true;
-                break;
-            case -3:
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = 10;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = -10;
-                adjAnable = true;
-                break;
-            case -1:
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = 20;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = -20;
-                adjAnable = true;
-                break;
-            case 0:
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 1:
-                tirePWM[TIRE_FL] = -20;
-                tirePWM[TIRE_BL] = 40;
-                tirePWM[TIRE_BR] = 20;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 3:
-                tirePWM[TIRE_FL] = -10;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = 10;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 2:
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 'A':
-                if(lineCheck == false) {
-                    lineCheck = true;
-                    lineCount = 0;
-                    countW++;
-                }
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 'N':
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-                break;
-            default:
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-        }
-
-        if(adjAnable) {
-            if(linePara[4] != 'A' && linePara[4] != 'N') adj = linePara[4];
-        } else {
-            adj = 0;
-        }
-
-        motor[TIRE_FL].dir = SetStatus(tirePWM[TIRE_FL]);
-        motor[TIRE_BL].dir = SetStatus(tirePWM[TIRE_BL]);
-        motor[TIRE_BR].dir = SetStatus(tirePWM[TIRE_BR] + adj);
-        motor[TIRE_FR].dir = SetStatus(tirePWM[TIRE_FR] + adj);
-        motor[TIRE_FL].pwm = SetPWM(tirePWM[TIRE_FL]);
-        motor[TIRE_BL].pwm = SetPWM(tirePWM[TIRE_BL]);
-        motor[TIRE_BR].pwm = SetPWM(tirePWM[TIRE_BR] + adj);
-        motor[TIRE_FR].pwm = SetPWM(tirePWM[TIRE_FR] + adj);
-
-        if(lineCheck == true)  {
-            lineCount++;
-            if(lineCount > 20) lineCheck = false;
-        }
-
-        /*
-        if(LimitSw::IsPressed(TOWEL1_SW) && LimitSw::IsPressed(TOWEL2_SW)) {
-        	targetCount = 3;
-        } else if(LimitSw::IsPressed(TOWEL1_SW)) {
-        	targetCount = 3;
-        } else {
-        	targetCount = 2;
-        }
-        */
-
-        targetCount = 3;
-
-        if(countW == targetCount) {
-            countW = 0;
-            lineFase = 20;
-            lineCount = 0;
-            lineCheck = false;
-        }
-    } else if(lineFase == 20) { // 左 低速
-        if(!(LimitSw::IsPressed(LSW_UB))) {
-            motor[LIFT_U].dir=FOR;
-            motor[LIFT_U].pwm=150;
-        } else {
-            motor[LIFT_U].dir=FOR;
-            motor[LIFT_U].pwm=150;
-        }
-        motor[TIRE_FL].dir = BACK;
-        motor[TIRE_BL].dir = FOR;
-        motor[TIRE_BR].dir = FOR;
-        motor[TIRE_FR].dir = BACK;
-        if (linePara[2] == 'N') {
-            //(!!LimitSw::Ispressed(SHEETS_SW)) {
-            //ineFase = 20;
-            //else if(LimitSw::IsPressed(TOWEL2_SW) {
-            //ineFase = 14;
-            //else {
-            lineFase = 21;
-            //
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_FR].dir = BRAKE;
-        }
-        motor[TIRE_FL].pwm = 16;
-        motor[TIRE_BL].pwm = 16;
-        motor[TIRE_BR].pwm = 16;
-        motor[TIRE_FR].pwm = 16;
-    } else if(lineFase == 21) {
-        if(!(LimitSw::IsPressed(LSW_UB))) {
-            motor[LIFT_U].dir=FOR;
-            motor[LIFT_U].pwm=150;
-        } else {
-            motor[LIFT_U].dir=FOR;
-            motor[LIFT_U].pwm=150;
-        }
-        switch(linePara[2]) {
-            case -2:
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = -30;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 30;
-                adjAnable = true;
-                break;
-            case -3:
-                tirePWM[TIRE_FL] = -10;
-                tirePWM[TIRE_BL] = -30;
-                tirePWM[TIRE_BR] = 10;
-                tirePWM[TIRE_FR] = 30;
-                adjAnable = true;
-                break;
-            case -1:
-                tirePWM[TIRE_FL] = -20;
-                tirePWM[TIRE_BL] = -30;
-                tirePWM[TIRE_BR] = 20;
-                tirePWM[TIRE_FR] = 30;
-                adjAnable = true;
-                break;
-            case 0:
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = -30;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = 30;
-                adjAnable = true;
-                break;
-            case 1:
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = -20;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = 20;
-                adjAnable = true;
-                break;
-            case 3:
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = -10;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = 10;
-                adjAnable = true;
-                break;
-            case 2:
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = true;
-                break;
-            case 'A':
-                if(lineCheck == false) {
-                    lineCheck = true;
-                    lineCount = 0;
-                    countW++;
-                }
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = -30;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = 30;
-                adjAnable = true;
-                break;
-            case 'N':
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-                break;
-            default:
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-        }
-
-        if(adjAnable) {
-            if(linePara[0] != 'A' && linePara[0] != 'N') adj = linePara[0];
-        } else {
-            adj = 0;
-        }
-
-        motor[TIRE_FL].dir = SetStatus(tirePWM[TIRE_FL] + adj);
-        motor[TIRE_BL].dir = SetStatus(tirePWM[TIRE_BL]);
-        motor[TIRE_BR].dir = SetStatus(tirePWM[TIRE_BR]);
-        motor[TIRE_FR].dir = SetStatus(tirePWM[TIRE_FR] + adj);
-        motor[TIRE_FL].pwm = SetPWM(tirePWM[TIRE_FL] + adj);
-        motor[TIRE_BL].pwm = SetPWM(tirePWM[TIRE_BL]);
-        motor[TIRE_BR].pwm = SetPWM(tirePWM[TIRE_BR]);
-        motor[TIRE_FR].pwm = SetPWM(tirePWM[TIRE_FR] + adj);
-
-        if(lineCheck == true)  {
-            lineCount++;
-            if(lineCount > 20) lineCheck = false;
-        }
-        if(countW == 3) {
-            countW = 0;
-            lineFase = 22;
-            lineCount = 0;
-            lineCheck = false;
-        }
-    } else if(lineFase == 22) {
-        motor[TIRE_FL].dir = BACK;
-        motor[TIRE_BL].dir = FOR;
-        motor[TIRE_BR].dir = FOR;
-        motor[TIRE_FR].dir = BACK;
-        if (linePara[2] == 'N') {
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_FR].dir = BRAKE;
-        }
-        motor[TIRE_FL].pwm = 30;
-        motor[TIRE_BL].pwm = 30;
-        motor[TIRE_BR].pwm = 30;
-        motor[TIRE_FR].pwm = 30;
-    } else {
-        motor[TIRE_FL].dir = BRAKE;
-        motor[TIRE_BL].dir = BRAKE;
-        motor[TIRE_BR].dir = BRAKE;
-        motor[TIRE_FR].dir = BRAKE;
-    }
-
+    
 }
 #endif
 
@@ -2518,1662 +284,6 @@
 static void Process5()
 {
 
-    /* ************************************** //
-
-    	  青ゾーン	  青ゾーン	  青ゾーン
-
-    // ************************************** */
-
-    for(int i = 0; i < 8; i++) {
-        linePara[i] = lineCast(LineHub::GetPara(i));
-    }
-
-    if(lineFase == 0) {
-        LedOut(1);
-        motor[TIRE_FL].dir = FOR;
-        motor[TIRE_BL].dir = FOR;
-        motor[TIRE_BR].dir = BACK;
-        motor[TIRE_FR].dir = BACK;
-        if(linePara[0] != 'N' && linePara[0] != 'A') {
-            lineFase = 1;
-        }
-        motor[TIRE_FL].pwm = 30;
-        motor[TIRE_BL].pwm = 30;
-        motor[TIRE_BR].pwm = 30;
-        motor[TIRE_FR].pwm = 30;
-    } else if(lineFase == 1) {  // 前 ライントレース
-        switch(linePara[0]) {
-            case -2:
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case -3:
-                tirePWM[TIRE_FL] = 10;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = -10;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case -1:
-                tirePWM[TIRE_FL] = 20;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = -20;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 0:
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 1:
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = 20;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = -20;
-                adjAnable = true;
-                break;
-            case 3:
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = 10;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = -10;
-                adjAnable = true;
-                break;
-            case 2:
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = true;
-                break;
-            case 'A':
-                if(lineCheck == false) {
-                    lineCheck = true;
-                    lineCount = 0;
-                    countW++;
-                }
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 'N':
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-                break;
-            default:
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-        }
-
-        if(adjAnable) {
-            if(linePara[2] != 'A' && linePara[2] != 'N') adj = linePara[2];
-        } else {
-            adj = 0;
-        }
-
-        motor[TIRE_FL].dir = SetStatus(tirePWM[TIRE_FL]);
-        motor[TIRE_BL].dir = SetStatus(tirePWM[TIRE_BL] + adj);
-        motor[TIRE_BR].dir = SetStatus(tirePWM[TIRE_BR] + adj);
-        motor[TIRE_FR].dir = SetStatus(tirePWM[TIRE_FR]);
-        motor[TIRE_FL].pwm = SetPWM(tirePWM[TIRE_FL]);
-        motor[TIRE_BL].pwm = SetPWM(tirePWM[TIRE_BL] + adj);
-        motor[TIRE_BR].pwm = SetPWM(tirePWM[TIRE_BR] + adj);
-        motor[TIRE_FR].pwm = SetPWM(tirePWM[TIRE_FR]);
-
-        if(lineCheck == true)  {
-            lineCount++;
-            if(lineCount > 20) lineCheck = false;
-        }
-        if(countW == 3) {
-            countW = 0;
-            lineFase = 2;
-            lineCount = 0;
-            lineCheck = false;
-        }
-    } else if(lineFase == 2) {  // 前 低速
-        motor[TIRE_FL].dir = FOR;
-        motor[TIRE_BL].dir = FOR;
-        motor[TIRE_BR].dir = BACK;
-        motor[TIRE_FR].dir = BACK;
-        if(linePara[3] == 0) {
-            lineFase = 3;
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_FR].dir = BRAKE;
-        }
-        motor[TIRE_FL].pwm = 16;
-        motor[TIRE_BL].pwm = 16;
-        motor[TIRE_BR].pwm = 16;
-        motor[TIRE_FR].pwm = 16;
-    } else if(lineFase == 3) {  // 左 ライントレース
-        switch(linePara[3]) {
-            case -2:
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = true;
-                break;
-            case -3:
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = 10;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = -10;
-                adjAnable = true;
-                break;
-            case -1:
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = 20;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = -20;
-                adjAnable = true;
-                break;
-            case 0:
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 1:
-                tirePWM[TIRE_FL] = -20;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = 20;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 3:
-                tirePWM[TIRE_FL] = -10;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = 10;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 2:
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 'A':
-                if(lineCheck == false) {
-                    lineCheck = true;
-                    lineCount = 0;
-                    countW++;
-                }
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 'N':
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-                break;
-            default:
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-        }
-
-        if(adjAnable) {
-            if(linePara[4] != 'A' && linePara[4] != 'N') adj = linePara[4];
-        } else {
-            adj = 0;
-        }
-
-        motor[TIRE_FL].dir = SetStatus(tirePWM[TIRE_FL]);
-        motor[TIRE_BL].dir = SetStatus(tirePWM[TIRE_BL]);
-        motor[TIRE_BR].dir = SetStatus(tirePWM[TIRE_BR] + adj);
-        motor[TIRE_FR].dir = SetStatus(tirePWM[TIRE_FR] + adj);
-        motor[TIRE_FL].pwm = SetPWM(tirePWM[TIRE_FL]);
-        motor[TIRE_BL].pwm = SetPWM(tirePWM[TIRE_BL]);
-        motor[TIRE_BR].pwm = SetPWM(tirePWM[TIRE_BR] + adj);
-        motor[TIRE_FR].pwm = SetPWM(tirePWM[TIRE_FR] + adj);
-
-        if(lineCheck == true)  {
-            lineCount++;
-            if(lineCount > 20) lineCheck = false;
-        }
-        if(countW == 1) {
-            countW = 0;
-            lineFase = 4;
-            lineCount = 0;
-            lineCheck = false;
-        }
-    } else if(lineFase == 4) { // 右 低速
-        motor[TIRE_FL].dir = BACK;
-        motor[TIRE_BL].dir = FOR;
-        motor[TIRE_BR].dir = FOR;
-        motor[TIRE_FR].dir = BACK;
-        if(linePara[LINE_TOW_1] == 0) {
-            if(!LimitSw::IsPressed(SHEETS_SW)) {
-                lineFase=100;
-            } else {
-                lineFase = 6;
-            }
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_FR].dir = BRAKE;
-        }
-        motor[TIRE_FL].pwm = 16;
-        motor[TIRE_BL].pwm = 16;
-        motor[TIRE_BR].pwm = 16;
-        motor[TIRE_FR].pwm = 16;
-    } else if (lineFase == 5) {
-        lineFase = 6;
-        motor[TIRE_FL].dir = BRAKE;
-        motor[TIRE_BL].dir = BRAKE;
-        motor[TIRE_BR].dir = BRAKE;
-        motor[TIRE_FR].dir = BRAKE;
-    } else if(lineFase == 6) {  // タオル1 竿検知
-    LedOut(4);
-        if(LimitSw::IsPressed(TOW_1L) && LimitSw::IsPressed(TOW_1R)) {
-            lineFase = 7;
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_FL].pwm = 50;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BL].pwm = 50;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_BR].pwm = 50;
-            motor[TIRE_FR].dir = BRAKE;
-            motor[TIRE_FR].pwm = 50;
-        } else if(LimitSw::IsPressed(TOW_1L)) {
-            motor[TIRE_FL].dir = FOR;
-            motor[TIRE_FL].pwm = 20;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BL].pwm = 50;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_BR].pwm = 50;
-            motor[TIRE_FR].dir = FOR;
-            motor[TIRE_FR].pwm = 20;
-        } else if(LimitSw::IsPressed(TOW_1R)) {
-            motor[TIRE_FL].dir = BACK;
-            motor[TIRE_FL].pwm = 20;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BL].pwm = 50;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_BR].pwm = 50;
-            motor[TIRE_FR].dir = BACK;
-            motor[TIRE_FR].pwm = 20;
-        } else {
-            switch(linePara[LINE_TOW_1]) {
-                case -2:
-                    tirePWM[TIRE_FL] = -10;
-                    tirePWM[TIRE_BL] = -20;
-                    tirePWM[TIRE_BR] = 10;
-                    tirePWM[TIRE_FR] = 20;
-                    adjAnable = true;
-                    break;
-                case -3:
-                    tirePWM[TIRE_FL] = -14;
-                    tirePWM[TIRE_BL] = -20;
-                    tirePWM[TIRE_BR] = 14;
-                    tirePWM[TIRE_FR] = 20;
-                    adjAnable = true;
-                    break;
-                case -1:
-                    tirePWM[TIRE_FL] = -17;
-                    tirePWM[TIRE_BL] = -20;
-                    tirePWM[TIRE_BR] = 17;
-                    tirePWM[TIRE_FR] = 20;
-                    adjAnable = true;
-                    break;
-                case 0:
-                    tirePWM[TIRE_FL] = -20;
-                    tirePWM[TIRE_BL] = -20;
-                    tirePWM[TIRE_BR] = 20;
-                    tirePWM[TIRE_FR] = 20;
-                    adjAnable = true;
-                    break;
-                case 1:
-                    tirePWM[TIRE_FL] = -20;
-                    tirePWM[TIRE_BL] = -17;
-                    tirePWM[TIRE_BR] = 20;
-                    tirePWM[TIRE_FR] = 17;
-                    adjAnable = true;
-                    break;
-                case 3:
-                    tirePWM[TIRE_FL] = -20;
-                    tirePWM[TIRE_BL] = -14;
-                    tirePWM[TIRE_BR] = 20;
-                    tirePWM[TIRE_FR] = 14;
-                    adjAnable = true;
-                    break;
-                case 2:
-                    tirePWM[TIRE_FL] = -20;
-                    tirePWM[TIRE_BL] = -10;
-                    tirePWM[TIRE_BR] = 20;
-                    tirePWM[TIRE_FR] = 10;
-                    adjAnable = true;
-                    break;
-                case 'A':
-                    tirePWM[TIRE_FL] = -20;
-                    tirePWM[TIRE_BL] = -20;
-                    tirePWM[TIRE_BR] = 20;
-                    tirePWM[TIRE_FR] = 20;
-                    adjAnable = true;
-                    break;
-                case 'N':
-                    tirePWM[TIRE_FL] = 0;
-                    tirePWM[TIRE_BL] = 0;
-                    tirePWM[TIRE_BR] = 0;
-                    tirePWM[TIRE_FR] = 0;
-                    adjAnable = false;
-                    break;
-                default:
-                    tirePWM[TIRE_FL] = 0;
-                    tirePWM[TIRE_BL] = 0;
-                    tirePWM[TIRE_BR] = 0;
-                    tirePWM[TIRE_FR] = 0;
-                    adjAnable = false;
-            }
-
-            motor[TIRE_FL].dir = SetStatus(tirePWM[TIRE_FL]);
-            motor[TIRE_BL].dir = SetStatus(tirePWM[TIRE_BL]);
-            motor[TIRE_BR].dir = SetStatus(tirePWM[TIRE_BR]);
-            motor[TIRE_FR].dir = SetStatus(tirePWM[TIRE_FR]);
-            motor[TIRE_FL].pwm = SetPWM(tirePWM[TIRE_FL]);
-            motor[TIRE_BL].pwm = SetPWM(tirePWM[TIRE_BL]);
-            motor[TIRE_BR].pwm = SetPWM(tirePWM[TIRE_BR]);
-            motor[TIRE_FR].pwm = SetPWM(tirePWM[TIRE_FR]);
-        }
-    } else if(lineFase == 7) {  // ライン 修正
-        if(linePara[LINE_TOW_1] == 'A' || linePara[LINE_TOW_1] == 'N') {
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_FL].pwm = 50;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BL].pwm = 50;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_BR].pwm = 50;
-            motor[TIRE_FR].dir = BRAKE;
-            motor[TIRE_FR].pwm = 50;
-        } else if(linePara[LINE_TOW_1] > 0) {
-            motor[TIRE_FL].dir = BACK;
-            motor[TIRE_FL].pwm = 16;
-            motor[TIRE_BL].dir = FOR;
-            motor[TIRE_BL].pwm = 16;
-            motor[TIRE_BR].dir = FOR;
-            motor[TIRE_BR].pwm = 16;
-            motor[TIRE_FR].dir = BACK;
-            motor[TIRE_FR].pwm = 16;
-        } else if(linePara[LINE_TOW_1] < 0) {
-            motor[TIRE_FL].dir = FOR;
-            motor[TIRE_FL].pwm = 16;
-            motor[TIRE_BL].dir = BACK;
-            motor[TIRE_BL].pwm = 16;
-            motor[TIRE_BR].dir = BACK;
-            motor[TIRE_BR].pwm = 16;
-            motor[TIRE_FR].dir = FOR;
-            motor[TIRE_FR].pwm = 16;
-        } else if(linePara[LINE_TOW_1] == 0) {
-            //tow_stop.reset();
-            //tow_stop.start();
-            lineFase = 8;
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_FL].pwm = 50;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BL].pwm = 50;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_BR].pwm = 50;
-            motor[TIRE_FR].dir = BRAKE;
-            motor[TIRE_FR].pwm = 50;
-        } else {
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_FL].pwm = 50;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BL].pwm = 50;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_BR].pwm = 50;
-            motor[TIRE_FR].dir = BRAKE;
-            motor[TIRE_FR].pwm = 50;
-        }
-    } else if(lineFase == 8) { // タオル1 解放
-        Air[TOWEL1] = SOLENOID_ON;
-        motor[TIRE_FL].dir = BRAKE;
-        motor[TIRE_BL].dir = BRAKE;
-        motor[TIRE_BR].dir = BRAKE;
-        motor[TIRE_FR].dir = BRAKE;
-        lineFase = 9;
-    } else if(lineFase == 9) {  // 前
-    LedOut(2);
-        switch(linePara[LINE_TOW_1]) {
-            case 2:
-                tirePWM[TIRE_FL] = 10;
-                tirePWM[TIRE_BL] = 20;
-                tirePWM[TIRE_BR] = -10;
-                tirePWM[TIRE_FR] = -20;
-                adjAnable = true;
-                break;
-            case 3:
-                tirePWM[TIRE_FL] = 14;
-                tirePWM[TIRE_BL] = 20;
-                tirePWM[TIRE_BR] = -14;
-                tirePWM[TIRE_FR] = -20;
-                adjAnable = true;
-                break;
-            case 1:
-                tirePWM[TIRE_FL] = 17;
-                tirePWM[TIRE_BL] = 20;
-                tirePWM[TIRE_BR] = -17;
-                tirePWM[TIRE_FR] = -20;
-                adjAnable = true;
-                break;
-            case 0:
-                tirePWM[TIRE_FL] = 20;
-                tirePWM[TIRE_BL] = 20;
-                tirePWM[TIRE_BR] = -20;
-                tirePWM[TIRE_FR] = -20;
-                adjAnable = true;
-                break;
-            case -1:
-                tirePWM[TIRE_FL] = 20;
-                tirePWM[TIRE_BL] = 17;
-                tirePWM[TIRE_BR] = -20;
-                tirePWM[TIRE_FR] = -17;
-                adjAnable = true;
-                break;
-            case -3:
-                tirePWM[TIRE_FL] = 20;
-                tirePWM[TIRE_BL] = 14;
-                tirePWM[TIRE_BR] = -20;
-                tirePWM[TIRE_FR] = -14;
-                adjAnable = true;
-                break;
-            case -2:
-                tirePWM[TIRE_FL] = 20;
-                tirePWM[TIRE_BL] = 10;
-                tirePWM[TIRE_BR] = -20;
-                tirePWM[TIRE_FR] = -10;
-                adjAnable = true;
-                break;
-            case 'A':
-                if(lineCheck == false) {
-                    lineCheck = true;
-                    lineCount = 0;
-                    countW++;
-                }
-                tirePWM[TIRE_FL] = 20;
-                tirePWM[TIRE_BL] = 20;
-                tirePWM[TIRE_BR] = -20;
-                tirePWM[TIRE_FR] = -20;
-                adjAnable = true;
-                break;
-            case 'N':
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-                break;
-            default:
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-        }
-
-        if(adjAnable) {
-            adj = 0;
-        } else {
-            adj = 0;
-        }
-
-        motor[TIRE_FL].dir = SetStatus(tirePWM[TIRE_FL]);
-        motor[TIRE_BL].dir = SetStatus(tirePWM[TIRE_BL] + adj);
-        motor[TIRE_BR].dir = SetStatus(tirePWM[TIRE_BR] + adj);
-        motor[TIRE_FR].dir = SetStatus(tirePWM[TIRE_FR]);
-        motor[TIRE_FL].pwm = SetPWM(tirePWM[TIRE_FL]);
-        motor[TIRE_BL].pwm = SetPWM(tirePWM[TIRE_BL] + adj);
-        motor[TIRE_BR].pwm = SetPWM(tirePWM[TIRE_BR] + adj);
-        motor[TIRE_FR].pwm = SetPWM(tirePWM[TIRE_FR]);
-
-        if(lineCheck == true)  {
-            lineCount++;
-            if(lineCount > 20) lineCheck = false;
-        }
-        if(countW == 1) {
-            countW = 0;
-            lineFase = 10;
-            lineCount = 0;
-            lineCheck = false;
-        }
-    } else if(lineFase == 10) {  // 前 低速
-        motor[TIRE_FL].dir = FOR;
-        motor[TIRE_BL].dir = FOR;
-        motor[TIRE_BR].dir = BACK;
-        motor[TIRE_FR].dir = BACK;
-        if(linePara[3] == 0) {
-            lineFase = 11;
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_FR].dir = BRAKE;
-        }
-        motor[TIRE_FL].pwm = 16;
-        motor[TIRE_BL].pwm = 16;
-        motor[TIRE_BR].pwm = 16;
-        motor[TIRE_FR].pwm = 16;
-    } else if(lineFase == 11) {  // 左
-        switch(linePara[3]) {
-            case -2:
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = true;
-                break;
-            case -3:
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = 10;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = -10;
-                adjAnable = true;
-                break;
-            case -1:
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = 20;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = -20;
-                adjAnable = true;
-                break;
-            case 0:
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 1:
-                tirePWM[TIRE_FL] = -20;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = 20;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 3:
-                tirePWM[TIRE_FL] = -10;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = 10;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 2:
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 'A':
-                if(lineCheck == false) {
-                    lineCheck = true;
-                    lineCount = 0;
-                    countW++;
-                }
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = 30;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = -30;
-                adjAnable = true;
-                break;
-            case 'N':
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-                break;
-            default:
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-        }
-
-        if(adjAnable) {
-            if(linePara[4] != 'A' && linePara[4] != 'N') adj = linePara[4];
-        } else {
-            adj = 0;
-        }
-
-        motor[TIRE_FL].dir = SetStatus(tirePWM[TIRE_FL]);
-        motor[TIRE_BL].dir = SetStatus(tirePWM[TIRE_BL]);
-        motor[TIRE_BR].dir = SetStatus(tirePWM[TIRE_BR] + adj);
-        motor[TIRE_FR].dir = SetStatus(tirePWM[TIRE_FR] + adj);
-        motor[TIRE_FL].pwm = SetPWM(tirePWM[TIRE_FL]);
-        motor[TIRE_BL].pwm = SetPWM(tirePWM[TIRE_BL]);
-        motor[TIRE_BR].pwm = SetPWM(tirePWM[TIRE_BR] + adj);
-        motor[TIRE_FR].pwm = SetPWM(tirePWM[TIRE_FR] + adj);
-        if(lineCheck == true)  {
-            lineCount++;
-            if(lineCount > 20) lineCheck = false;
-        }
-        if(countW == 2) {
-            countW = 0;
-            lineFase = 12;
-            lineCount = 0;
-            lineCheck = false;
-        }
-    } else if(lineFase == 12) { // 左 低速
-        motor[TIRE_FL].dir = BACK;
-        motor[TIRE_BL].dir = FOR;
-        motor[TIRE_BR].dir = FOR;
-        motor[TIRE_FR].dir = BACK;
-        if(linePara[LINE_TOW_2] == 0) {
-            lineFase = 13;
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_FR].dir = BRAKE;
-        }
-        motor[TIRE_FL].pwm = 16;
-        motor[TIRE_BL].pwm = 16;
-        motor[TIRE_BR].pwm = 16;
-        motor[TIRE_FR].pwm = 16;
-    } else if (lineFase == 13) {
-        lineFase = 14;
-        motor[TIRE_FL].dir = BRAKE;
-        motor[TIRE_BL].dir = BRAKE;
-        motor[TIRE_BR].dir = BRAKE;
-        motor[TIRE_FR].dir = BRAKE;
-    } else if(lineFase == 14) {  // タオル2 竿検知
-    LedOut(4);
-        if(LimitSw::IsPressed(TOW_2L) && LimitSw::IsPressed(TOW_2R)) {
-            lineFase = 15;
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_FL].pwm = 50;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BL].pwm = 50;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_BR].pwm = 50;
-            motor[TIRE_FR].dir = BRAKE;
-            motor[TIRE_FR].pwm = 50;
-        } else if(LimitSw::IsPressed(TOW_2L)) {
-            motor[TIRE_FL].dir = FOR;
-            motor[TIRE_FL].pwm = 20;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BL].pwm = 50;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_BR].pwm = 50;
-            motor[TIRE_FR].dir = FOR;
-            motor[TIRE_FR].pwm = 20;
-        } else if(LimitSw::IsPressed(TOW_2R)) {
-            motor[TIRE_FL].dir = BACK;
-            motor[TIRE_FL].pwm = 20;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BL].pwm = 50;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_BR].pwm = 50;
-            motor[TIRE_FR].dir = BACK;
-            motor[TIRE_FR].pwm = 20;
-        } else {
-            switch(linePara[LINE_TOW_2]) {
-                case -2:
-                    tirePWM[TIRE_FL] = -10;
-                    tirePWM[TIRE_BL] = -20;
-                    tirePWM[TIRE_BR] = 10;
-                    tirePWM[TIRE_FR] = 20;
-                    break;
-                case -3:
-                    tirePWM[TIRE_FL] = -14;
-                    tirePWM[TIRE_BL] = -20;
-                    tirePWM[TIRE_BR] = 14;
-                    tirePWM[TIRE_FR] = 20;
-                    break;
-                case -1:
-                    tirePWM[TIRE_FL] = -17;
-                    tirePWM[TIRE_BL] = -20;
-                    tirePWM[TIRE_BR] = 17;
-                    tirePWM[TIRE_FR] = 20;
-                    break;
-                case 0:
-                    tirePWM[TIRE_FL] = -20;
-                    tirePWM[TIRE_BL] = -20;
-                    tirePWM[TIRE_BR] = 20;
-                    tirePWM[TIRE_FR] = 20;
-                    break;
-                case 1:
-                    tirePWM[TIRE_FL] = -20;
-                    tirePWM[TIRE_BL] = -17;
-                    tirePWM[TIRE_BR] = 20;
-                    tirePWM[TIRE_FR] = 17;
-                    break;
-                case 3:
-                    tirePWM[TIRE_FL] = -20;
-                    tirePWM[TIRE_BL] = -14;
-                    tirePWM[TIRE_BR] = 20;
-                    tirePWM[TIRE_FR] = 14;
-                    break;
-                case 2:
-                    tirePWM[TIRE_FL] = -20;
-                    tirePWM[TIRE_BL] = -10;
-                    tirePWM[TIRE_BR] = 20;
-                    tirePWM[TIRE_FR] = 10;
-                    break;
-                case 'A':
-
-                    tirePWM[TIRE_FL] = -20;
-                    tirePWM[TIRE_BL] = -20;
-                    tirePWM[TIRE_BR] = 20;
-                    tirePWM[TIRE_FR] = 20;
-                    break;
-                case 'N':
-                    tirePWM[TIRE_FL] = 0;
-                    tirePWM[TIRE_BL] = 0;
-                    tirePWM[TIRE_BR] = 0;
-                    tirePWM[TIRE_FR] = 0;
-                    break;
-                default:
-                    tirePWM[TIRE_FL] = 0;
-                    tirePWM[TIRE_BL] = 0;
-                    tirePWM[TIRE_BR] = 0;
-                    tirePWM[TIRE_FR] = 0;
-            }
-
-            motor[TIRE_FL].dir = SetStatus(tirePWM[TIRE_FL]);
-            motor[TIRE_BL].dir = SetStatus(tirePWM[TIRE_BL]);
-            motor[TIRE_BR].dir = SetStatus(tirePWM[TIRE_BR]);
-            motor[TIRE_FR].dir = SetStatus(tirePWM[TIRE_FR]);
-            motor[TIRE_FL].pwm = SetPWM(tirePWM[TIRE_FL]);
-            motor[TIRE_BL].pwm = SetPWM(tirePWM[TIRE_BL]);
-            motor[TIRE_BR].pwm = SetPWM(tirePWM[TIRE_BR]);
-            motor[TIRE_FR].pwm = SetPWM(tirePWM[TIRE_FR]);
-        }
-    } else if(lineFase == 15 ) { // ライン 修正
-        if(linePara[LINE_TOW_2] == 'A' || linePara[LINE_TOW_2] == 'N') {
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_FL].pwm = 50;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BL].pwm = 50;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_BR].pwm = 50;
-            motor[TIRE_FR].dir = BRAKE;
-            motor[TIRE_FR].pwm = 50;
-        } else if(linePara[LINE_TOW_2] > 0) {
-            motor[TIRE_FL].dir = BACK;
-            motor[TIRE_FL].pwm = 16;
-            motor[TIRE_BL].dir = FOR;
-            motor[TIRE_BL].pwm = 16;
-            motor[TIRE_BR].dir = FOR;
-            motor[TIRE_BR].pwm = 16;
-            motor[TIRE_FR].dir = BACK;
-            motor[TIRE_FR].pwm = 16;
-        } else if(linePara[LINE_TOW_2] < 0) {
-            motor[TIRE_FL].dir = FOR;
-            motor[TIRE_FL].pwm = 16;
-            motor[TIRE_BL].dir = BACK;
-            motor[TIRE_BL].pwm = 16;
-            motor[TIRE_BR].dir = BACK;
-            motor[TIRE_BR].pwm = 16;
-            motor[TIRE_FR].dir = FOR;
-            motor[TIRE_FR].pwm = 16;
-        } else if(linePara[LINE_TOW_2] == 0) {
-            lineFase = 16;
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_FL].pwm = 50;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BL].pwm = 50;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_BR].pwm = 50;
-            motor[TIRE_FR].dir = BRAKE;
-            motor[TIRE_FR].pwm = 50;
-        } else {
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_FL].pwm = 50;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BL].pwm = 50;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_BR].pwm = 50;
-            motor[TIRE_FR].dir = BRAKE;
-            motor[TIRE_FR].pwm = 50;
-        }
-    } else if(lineFase == 16) { // タオル2 解放
-        Air[TOWEL2] = SOLENOID_ON;
-        motor[TIRE_FL].dir = BRAKE;
-        motor[TIRE_BL].dir = BRAKE;
-        motor[TIRE_BR].dir = BRAKE;
-        motor[TIRE_FR].dir = BRAKE;
-        lineFase = 17;
-    } else if(lineFase == 17) { // 前
-        switch(linePara[LINE_TOW_2]) {
-            case 2:
-                tirePWM[TIRE_FL] = 10;
-                tirePWM[TIRE_BL] = 20;
-                tirePWM[TIRE_BR] = -10;
-                tirePWM[TIRE_FR] = -20;
-                adjAnable = true;
-                break;
-            case 3:
-                tirePWM[TIRE_FL] = 14;
-                tirePWM[TIRE_BL] = 20;
-                tirePWM[TIRE_BR] = -14;
-                tirePWM[TIRE_FR] = -20;
-                adjAnable = true;
-                break;
-            case 1:
-                tirePWM[TIRE_FL] = 17;
-                tirePWM[TIRE_BL] = 20;
-                tirePWM[TIRE_BR] = -17;
-                tirePWM[TIRE_FR] = -20;
-                adjAnable = true;
-                break;
-            case 0:
-                tirePWM[TIRE_FL] = 20;
-                tirePWM[TIRE_BL] = 20;
-                tirePWM[TIRE_BR] = -20;
-                tirePWM[TIRE_FR] = -20;
-                adjAnable = true;
-                break;
-            case -1:
-                tirePWM[TIRE_FL] = 20;
-                tirePWM[TIRE_BL] = 17;
-                tirePWM[TIRE_BR] = -20;
-                tirePWM[TIRE_FR] = -17;
-                adjAnable = true;
-                break;
-            case -3:
-                tirePWM[TIRE_FL] = 20;
-                tirePWM[TIRE_BL] = 14;
-                tirePWM[TIRE_BR] = -20;
-                tirePWM[TIRE_FR] = -14;
-                adjAnable = true;
-                break;
-            case -2:
-                tirePWM[TIRE_FL] = 20;
-                tirePWM[TIRE_BL] = 10;
-                tirePWM[TIRE_BR] = -20;
-                tirePWM[TIRE_FR] = 10;
-                adjAnable = true;
-                break;
-            case 'A':
-                if(lineCheck == false) {
-                    lineCheck = true;
-                    lineCount = 0;
-                    countW++;
-                }
-                tirePWM[TIRE_FL] = 20;
-                tirePWM[TIRE_BL] = 20;
-                tirePWM[TIRE_BR] = -20;
-                tirePWM[TIRE_FR] = -20;
-                adjAnable = true;
-                break;
-            case 'N':
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-                break;
-            default:
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-        }
-
-        if(adjAnable) {
-            adj = 0;
-        } else {
-            adj = 0;
-        }
-
-        motor[TIRE_FL].dir = SetStatus(tirePWM[TIRE_FL]);
-        motor[TIRE_BL].dir = SetStatus(tirePWM[TIRE_BL] + adj);
-        motor[TIRE_BR].dir = SetStatus(tirePWM[TIRE_BR] + adj);
-        motor[TIRE_FR].dir = SetStatus(tirePWM[TIRE_FR]);
-        motor[TIRE_FL].pwm = SetPWM(tirePWM[TIRE_FL]);
-        motor[TIRE_BL].pwm = SetPWM(tirePWM[TIRE_BL] + adj);
-        motor[TIRE_BR].pwm = SetPWM(tirePWM[TIRE_BR] + adj);
-        motor[TIRE_FR].pwm = SetPWM(tirePWM[TIRE_FR]);
-
-        if(lineCheck == true)  {
-            lineCount++;
-            if(lineCount > 20) lineCheck = false;
-        }
-        if(countW == 1) {
-            countW = 0;
-            lineFase = 100;
-            lineCount = 0;
-            lineCheck = false;
-        }
-    } else if(lineFase==100) {
-        LedOut(6);
-        motor[TIRE_FL].dir = FOR;
-        motor[TIRE_BL].dir = FOR;
-        motor[TIRE_BR].dir = BACK;
-        motor[TIRE_FR].dir = BACK;
-        if(LimitSw::IsPressed(LSW_UU)) {
-            motor[LIFT_U].dir=BRAKE;
-            motor[LIFT_U].pwm=100;
-        } else {
-            motor[LIFT_U].dir=BACK;
-            motor[LIFT_U].pwm=150;
-        }
-        if((Ult_left>0)&&(Ult_right>0)&&(Ult_left<30)&&(Ult_right<30)) {
-            lineFase=101;
-        }
-    } else if(lineFase==101) {
-        //位置調整
-        //(P制御)
-        if((Ult_left>0)&&(Ult_right>0)) {//データを受け取っているとき
-            if((Ult_left<16)&&(Ult_left>14)&&(Ult_right<16)&&(Ult_right>14)) { //合った場合
-                motor[TIRE_FL].dir=BRAKE;
-                motor[TIRE_FR].dir=BRAKE;
-                motor[TIRE_BL].dir=BRAKE;
-                motor[TIRE_BR].dir=BRAKE;
-                motor[TIRE_FL].pwm=100;
-                motor[TIRE_FR].pwm=100;
-                motor[TIRE_BL].pwm=100;
-                motor[TIRE_BR].pwm=100;
-                lineFase=102;//system lineFase increasing
-            } else if((Ult_left<16)&&(Ult_left>14)) { //Ult_leftのみあった場合
-                if(Ult_right>16) { //Ult_rightが遠い場合
-                    motor[TIRE_FL].dir=FOR;
-                    motor[TIRE_FR].dir=BACK;
-                    motor[TIRE_BL].dir=FOR;
-                    motor[TIRE_BR].dir=BACK;
-                    motor[TIRE_FL].pwm=0;
-                    motor[TIRE_FR].pwm=15;
-                    motor[TIRE_BL].pwm=0;
-                    motor[TIRE_BR].pwm=15;
-                } else if(Ult_right<14) { //Ult_rightが近い場合
-                    motor[TIRE_FL].dir=BACK;
-                    motor[TIRE_FR].dir=FOR;
-                    motor[TIRE_BL].dir=BACK;
-                    motor[TIRE_BR].dir=FOR;
-                    motor[TIRE_FL].pwm=0;
-                    motor[TIRE_FR].pwm=15;
-                    motor[TIRE_BL].pwm=0;
-                    motor[TIRE_BR].pwm=15;
-                }
-            } else if((Ult_right<16)&&(Ult_right>14)) { //Ult_rightのみあった場合
-                if(Ult_left>16) { //Ult_leftが遠い場合
-                    motor[TIRE_FL].dir=FOR;
-                    motor[TIRE_FR].dir=BACK;
-                    motor[TIRE_BL].dir=FOR;
-                    motor[TIRE_BR].dir=BACK;
-                    motor[TIRE_FL].pwm=15;
-                    motor[TIRE_FR].pwm=0;
-                    motor[TIRE_BL].pwm=15;
-                    motor[TIRE_BR].pwm=0;
-                } else if(Ult_left<14) { //Ult_leftが近い場合
-                    motor[TIRE_FL].dir=BACK;
-                    motor[TIRE_FR].dir=FOR;
-                    motor[TIRE_BL].dir=BACK;
-                    motor[TIRE_BR].dir=FOR;
-                    motor[TIRE_FL].pwm=15;
-                    motor[TIRE_FR].pwm=0;
-                    motor[TIRE_BL].pwm=15;
-                    motor[TIRE_BR].pwm=0;
-                }
-            } else { //どっちもあってない場合
-                if( (Ult_left+Ult_right)<=25||(Ult_left+Ult_right)>=35) {//離れすぎているor近すぎるとき
-                    if((Ult_left-Ult_right)>10||((Ult_left-Ult_right)<-10) ) { //傾きが大きいとき
-                        if((Ult_left-Ult_right)>0) { //Ult_leftの方が後ろに来ているとき
-                            motor[TIRE_FL].dir=FOR;
-                            motor[TIRE_FR].dir=FOR;
-                            motor[TIRE_BL].dir=FOR;
-                            motor[TIRE_BR].dir=FOR;
-                            motor[TIRE_FL].pwm=15;
-                            motor[TIRE_FR].pwm=15;
-                            motor[TIRE_BL].pwm=15;
-                            motor[TIRE_BR].pwm=15;
-                        } else if((Ult_left-Ult_right)<=0) { //Ult_rightの方が後ろに来ているとき
-                            motor[TIRE_FL].dir=BACK;
-                            motor[TIRE_FR].dir=BACK;
-                            motor[TIRE_BL].dir=BACK;
-                            motor[TIRE_BR].dir=BACK;
-                            motor[TIRE_FL].pwm=15;
-                            motor[TIRE_FR].pwm=15;
-                            motor[TIRE_BL].pwm=15;
-                            motor[TIRE_BR].pwm=15;
-                        }
-                    } else { //傾きが大きくなくて離れているとき
-                        if((Ult_right+Ult_left)<=25) { //近すぎるとき
-                            motor[TIRE_FL].dir=BACK;
-                            motor[TIRE_FR].dir=FOR;
-                            motor[TIRE_BL].dir=BACK;
-                            motor[TIRE_BR].dir=FOR;
-                            motor[TIRE_FL].pwm=20;
-                            motor[TIRE_FR].pwm=20;
-                            motor[TIRE_BL].pwm=20;
-                            motor[TIRE_BR].pwm=20;
-                        } else if((Ult_right+Ult_left)>=35) { //離れているとき
-                            motor[TIRE_FL].dir=FOR;
-                            motor[TIRE_FR].dir=BACK;
-                            motor[TIRE_BL].dir=FOR;
-                            motor[TIRE_BR].dir=BACK;
-                            motor[TIRE_FL].pwm=20;
-                            motor[TIRE_FR].pwm=20;
-                            motor[TIRE_BL].pwm=20;
-                            motor[TIRE_BR].pwm=20;
-                        }
-                    }
-
-                } else { //さほど離れてはいないが傾きが大きいとき
-                    if((Ult_left-Ult_right)>0) { //Ult_leftの方が後ろに来ているとき
-                        motor[TIRE_FL].dir=FOR;
-                        motor[TIRE_FR].dir=FOR;
-                        motor[TIRE_BL].dir=FOR;
-                        motor[TIRE_BR].dir=FOR;
-                        motor[TIRE_FL].pwm=15;
-                        motor[TIRE_FR].pwm=15;
-                        motor[TIRE_BL].pwm=15;
-                        motor[TIRE_BR].pwm=15;
-                    } else if((Ult_left-Ult_right)<=0) { //Ult_rightの方が後ろに来ているとき
-                        motor[TIRE_FL].dir=BACK;
-                        motor[TIRE_FR].dir=BACK;
-                        motor[TIRE_BL].dir=BACK;
-                        motor[TIRE_BR].dir=BACK;
-                        motor[TIRE_FL].pwm=15;
-                        motor[TIRE_FR].pwm=15;
-                        motor[TIRE_BL].pwm=15;
-                        motor[TIRE_BR].pwm=15;
-                    }
-                }
-            }
-
-        } else {//データを受け取ってないとき
-            motor[TIRE_FL].dir=BRAKE;
-            motor[TIRE_FR].dir=BRAKE;
-            motor[TIRE_BL].dir=BRAKE;
-            motor[TIRE_BR].dir=BRAKE;
-            motor[TIRE_FL].pwm=100;
-            motor[TIRE_FR].pwm=100;
-            motor[TIRE_BL].pwm=100;
-            motor[TIRE_BR].pwm=100;
-        }
-
-    } else if(lineFase==102) {
-        Air[CLOTHESPIN]=SOLENOID_OFF;
-        LedOut(1);
-        //リミットスイッチに当てる
-        static int count2=0;
-        if(count2==0) {
-            if((Ult_left>0)&&(Ult_right>0)) {//データを受け取っているとき
-                if( (Ult_left+Ult_right)<=25||(Ult_left+Ult_right)>=35) {
-                    if(((Ult_left-Ult_right)>=5)||((Ult_left-Ult_right)<=-5)) {
-                        if(Ult_left-Ult_right<=0) {
-                            motor[TIRE_FL].dir=BACK;
-                            motor[TIRE_FR].dir=BACK;
-                            motor[TIRE_BL].dir=FOR;
-                            motor[TIRE_BR].dir=FOR;
-
-                            motor[TIRE_FL].pwm=25+(-1*(Ult_left-Ult_right));
-                            motor[TIRE_FR].pwm=25+(-1*(Ult_left-Ult_right));
-
-                            motor[TIRE_BL].pwm=25;
-                            motor[TIRE_BR].pwm=25;
-                        } else if(Ult_left-Ult_right>0) {
-                            motor[TIRE_FL].dir=BACK;
-                            motor[TIRE_FR].dir=BACK;
-                            motor[TIRE_BL].dir=FOR;
-                            motor[TIRE_BR].dir=FOR;
-                            motor[TIRE_BL].pwm=25+(1*(Ult_left-Ult_right));
-                            motor[TIRE_BR].pwm=25+(1*(Ult_left-Ult_right));
-                            motor[TIRE_FL].pwm=25;
-                            motor[TIRE_FR].pwm=25;
-                        }
-                    } else if((Ult_left+Ult_right)<=25) {
-                        motor[TIRE_FL].dir=BACK;
-                        motor[TIRE_FR].dir=BACK;
-                        motor[TIRE_BL].dir=FOR;
-                        motor[TIRE_BR].dir=FOR;
-                        motor[TIRE_FL].pwm=25;
-                        motor[TIRE_FR].pwm=0;
-                        motor[TIRE_BL].pwm=0;
-                        motor[TIRE_BR].pwm=25;
-                    } else if((Ult_left+Ult_right)>=35) {
-                        motor[TIRE_FL].dir=BACK;
-                        motor[TIRE_FR].dir=BACK;
-                        motor[TIRE_BL].dir=FOR;
-                        motor[TIRE_BR].dir=FOR;
-                        motor[TIRE_FL].pwm=0;
-                        motor[TIRE_FR].pwm=25;
-                        motor[TIRE_BL].pwm=25;
-                        motor[TIRE_BR].pwm=0;
-                    }
-                } else {
-                    if(Ult_left-Ult_right<=0) {
-                        motor[TIRE_FL].dir=BACK;
-                        motor[TIRE_FR].dir=BACK;
-                        motor[TIRE_BL].dir=FOR;
-                        motor[TIRE_BR].dir=FOR;
-
-                        motor[TIRE_FL].pwm=25+(-1*(Ult_left-Ult_right));
-                        motor[TIRE_FR].pwm=25+(-1*(Ult_left-Ult_right));
-
-                        motor[TIRE_BL].pwm=25;
-                        motor[TIRE_BR].pwm=25;
-                    } else if(Ult_left-Ult_right>0) {
-                        motor[TIRE_FL].dir=BACK;
-                        motor[TIRE_FR].dir=BACK;
-                        motor[TIRE_BL].dir=FOR;
-                        motor[TIRE_BR].dir=FOR;
-                        motor[TIRE_BL].pwm=25+(1*(Ult_left-Ult_right));
-                        motor[TIRE_BR].pwm=25+(1*(Ult_left-Ult_right));
-                        motor[TIRE_FL].pwm=25;
-                        motor[TIRE_FR].pwm=25;
-                    }
-                }
-
-            } else {
-                motor[TIRE_FL].dir=BRAKE;
-                motor[TIRE_FR].dir=BRAKE;
-                motor[TIRE_BL].dir=BRAKE;
-                motor[TIRE_BR].dir=BRAKE;
-                motor[TIRE_FL].pwm=100;
-                motor[TIRE_FR].pwm=100;
-                motor[TIRE_BL].pwm=100;
-                motor[TIRE_BR].pwm=100;
-
-            }
-            if(LimitSw::IsPressed(LEFTlim)) {
-                count2=1;
-            }
-
-        } else if(count2==1) {
-            motor[TIRE_FL].dir=BRAKE;
-            motor[TIRE_FR].dir=BRAKE;
-            motor[TIRE_BL].dir=BRAKE;
-            motor[TIRE_BR].dir=BRAKE;
-            motor[TIRE_FL].pwm=255;
-            motor[TIRE_FR].pwm=255;
-            motor[TIRE_BL].pwm=255;
-            motor[TIRE_BR].pwm=255;
-            lineFase=103;
-        }
-    } else if(lineFase==103) {
-        if((Ult_left>0)&&(Ult_right>0)) {//データを受け取っているとき
-            if((Ult_left<16)&&(Ult_left>14)&&(Ult_right<16)&&(Ult_right>14)) { //合った場合
-                motor[TIRE_FL].dir=BRAKE;
-                motor[TIRE_FR].dir=BRAKE;
-                motor[TIRE_BL].dir=BRAKE;
-                motor[TIRE_BR].dir=BRAKE;
-                motor[TIRE_FL].pwm=255;
-                motor[TIRE_FR].pwm=255;
-                motor[TIRE_BL].pwm=255;
-                motor[TIRE_BR].pwm=255;
-                lineFase=104;//system lineFase increasing
-            } else if((Ult_left<16)&&(Ult_left>14)) { //Ult_leftのみあった場合
-                if(Ult_right>16) { //Ult_rightが遠い場合
-                    motor[TIRE_FL].dir=FOR;
-                    motor[TIRE_FR].dir=BACK;
-                    motor[TIRE_BL].dir=FOR;
-                    motor[TIRE_BR].dir=BACK;
-                    motor[TIRE_FL].pwm=0;
-                    motor[TIRE_FR].pwm=13;
-                    motor[TIRE_BL].pwm=0;
-                    motor[TIRE_BR].pwm=13;
-                } else if(Ult_right<14) { //Ult_rightが近い場合
-                    motor[TIRE_FL].dir=BACK;
-                    motor[TIRE_FR].dir=FOR;
-                    motor[TIRE_BL].dir=BACK;
-                    motor[TIRE_BR].dir=FOR;
-                    motor[TIRE_FL].pwm=0;
-                    motor[TIRE_FR].pwm=13;
-                    motor[TIRE_BL].pwm=0;
-                    motor[TIRE_BR].pwm=13;
-                }
-            } else if((Ult_right<16)&&(Ult_right>14)) { //Ult_rightのみあった場合
-                if(Ult_left>16) { //Ult_leftが遠い場合
-                    motor[TIRE_FL].dir=FOR;
-                    motor[TIRE_FR].dir=BACK;
-                    motor[TIRE_BL].dir=FOR;
-                    motor[TIRE_BR].dir=BACK;
-                    motor[TIRE_FL].pwm=13;
-                    motor[TIRE_FR].pwm=0;
-                    motor[TIRE_BL].pwm=13;
-                    motor[TIRE_BR].pwm=0;
-                } else if(Ult_left<14) { //Ult_leftが近い場合
-                    motor[TIRE_FL].dir=BACK;
-                    motor[TIRE_FR].dir=FOR;
-                    motor[TIRE_BL].dir=BACK;
-                    motor[TIRE_BR].dir=FOR;
-                    motor[TIRE_FL].pwm=13;
-                    motor[TIRE_FR].pwm=0;
-                    motor[TIRE_BL].pwm=13;
-                    motor[TIRE_BR].pwm=0;
-                }
-            } else { //どっちもあってない場合
-                if( (Ult_left+Ult_right)<=25||(Ult_left+Ult_right)>=35) {//離れすぎているor近すぎるとき
-                    if((Ult_left-Ult_right)>0||((Ult_left-Ult_right)<0) ) { //傾きが大きいとき
-                        if((Ult_left-Ult_right)>0) { //Ult_leftの方が後ろに来ているとき
-                            motor[TIRE_FL].dir=FOR;
-                            motor[TIRE_FR].dir=FOR;
-                            motor[TIRE_BL].dir=FOR;
-                            motor[TIRE_BR].dir=FOR;
-                            motor[TIRE_FL].pwm=abs(10*(Ult_left-Ult_right));
-                            motor[TIRE_FR].pwm=abs(10*(Ult_left-Ult_right));
-                            motor[TIRE_BL].pwm=abs(10*(Ult_left-Ult_right));
-                            motor[TIRE_BR].pwm=abs(10*(Ult_left-Ult_right));
-                        } else if((Ult_left-Ult_right)<=0) { //Ult_rightの方が後ろに来ているとき
-                            motor[TIRE_FL].dir=BACK;
-                            motor[TIRE_FR].dir=BACK;
-                            motor[TIRE_BL].dir=BACK;
-                            motor[TIRE_BR].dir=BACK;
-                            motor[TIRE_FL].pwm=abs(10*(Ult_left-Ult_right));
-                            motor[TIRE_FR].pwm=abs(10*(Ult_left-Ult_right));
-                            motor[TIRE_BL].pwm=abs(10*(Ult_left-Ult_right));
-                            motor[TIRE_BR].pwm=abs(10*(Ult_left-Ult_right));
-                        }
-                    }
-                } else { //さほど離れてはいないが傾きが大きいとき
-                    if((Ult_left-Ult_right)>0) { //Ult_leftの方が後ろに来ているとき
-                        motor[TIRE_FL].dir=FOR;
-                        motor[TIRE_FR].dir=FOR;
-                        motor[TIRE_BL].dir=FOR;
-                        motor[TIRE_BR].dir=FOR;
-                        motor[TIRE_FL].pwm=abs(10*(Ult_left-Ult_right));
-                        motor[TIRE_FR].pwm=abs(10*(Ult_left-Ult_right));
-                        motor[TIRE_BL].pwm=abs(10*(Ult_left-Ult_right));
-                        motor[TIRE_BR].pwm=abs(10*(Ult_left-Ult_right));
-                    } else if((Ult_left-Ult_right)<=0) { //Ult_rightの方が後ろに来ているとき
-                        motor[TIRE_FL].dir=BACK;
-                        motor[TIRE_FR].dir=BACK;
-                        motor[TIRE_BL].dir=BACK;
-                        motor[TIRE_BR].dir=BACK;
-                        motor[TIRE_FL].pwm=abs(10*(Ult_left-Ult_right));
-                        motor[TIRE_FR].pwm=abs(10*(Ult_left-Ult_right));
-                        motor[TIRE_BL].pwm=abs(10*(Ult_left-Ult_right));
-                        motor[TIRE_BR].pwm=abs(10*(Ult_left-Ult_right));
-                    }
-                }
-            }
-
-        } else {//データを受け取ってないとき
-            motor[TIRE_FL].dir=BRAKE;
-            motor[TIRE_FR].dir=BRAKE;
-            motor[TIRE_BL].dir=BRAKE;
-            motor[TIRE_BR].dir=BRAKE;
-            motor[TIRE_FL].pwm=100;
-            motor[TIRE_FR].pwm=100;
-            motor[TIRE_BL].pwm=100;
-            motor[TIRE_BR].pwm=100;
-        }
-    } else if(lineFase==104) {
-        static int count3=0;
-        static int loop=0;
-        pc.printf("%d\r\n",loop);
-        Air[CLOTHESPIN]=1;
-        if(count3==0) {
-            loop++;
-            if(loop==60) {
-                count3=1;
-            }
-        } else if(count3==1) {
-            Air[CLOTHESPIN]=0;
-            lineFase=105;
-
-        }
-    } else if(lineFase==105) {
-        LedOut(6);
-        Air[CLOTHESPIN]=0;
-        if(!(LimitSw::IsPressed(RIGHTlim))) {
-
-            //超音波
-            if(Ult_right>0) {
-                if(Ult_right<15) {
-                    motor[TIRE_FL].dir=FOR;
-                    motor[TIRE_FR].dir=FOR;
-                    motor[TIRE_BL].dir=BACK;
-                    motor[TIRE_BR].dir=BACK;
-                    motor[TIRE_FL].pwm=25;
-                    motor[TIRE_FR].pwm=25+(15-Ult_right);
-                    motor[TIRE_BL].pwm=25+(15-Ult_right);
-                    motor[TIRE_BR].pwm=25;
-                } else if(Ult_right>=15) {
-                    motor[TIRE_FL].dir=FOR;
-                    motor[TIRE_FR].dir=FOR;
-                    motor[TIRE_BL].dir=BACK;
-                    motor[TIRE_BR].dir=BACK;
-                    motor[TIRE_FL].pwm=25+(Ult_right-15);
-                    motor[TIRE_FR].pwm=25;
-                    motor[TIRE_BL].pwm=25;
-                    motor[TIRE_BR].pwm=25+(Ult_right-15);
-                }
-            } else {
-                motor[TIRE_FL].dir=FOR;
-                motor[TIRE_FR].dir=FOR;
-                motor[TIRE_BL].dir=BACK;
-                motor[TIRE_BR].dir=BACK;
-                motor[TIRE_FL].pwm=25;
-                motor[TIRE_FR].pwm=25;
-                motor[TIRE_BL].pwm=25;
-                motor[TIRE_BR].pwm=25;
-            }
-
-
-        } else {
-            motor[TIRE_FL].dir=BRAKE;
-            motor[TIRE_FR].dir=BRAKE;
-            motor[TIRE_BL].dir=BRAKE;
-            motor[TIRE_BR].dir=BRAKE;
-            motor[TIRE_FL].pwm=100;
-            motor[TIRE_FR].pwm=100;
-            motor[TIRE_BL].pwm=100;
-            motor[TIRE_BR].pwm=100;
-            lineFase=106;
-        }
-
-    } else if(lineFase==106) {
-        motor[TIRE_FL].dir=BACK;
-        motor[TIRE_FR].dir=FOR;
-        motor[TIRE_BL].dir=BACK;
-        motor[TIRE_BR].dir=FOR;
-        motor[TIRE_FL].pwm=15;
-        motor[TIRE_FR].pwm=15;
-        motor[TIRE_BL].pwm=15;
-        motor[TIRE_BR].pwm=15;
-        if(linePara[4]!='N') {
-            lineFase=19;
-        }
-    } else if(lineFase == 18) {  // 前 低速
-        motor[TIRE_FL].dir = FOR;
-        motor[TIRE_BL].dir = FOR;
-        motor[TIRE_BR].dir = BACK;
-        motor[TIRE_FR].dir = BACK;
-        if(linePara[4] == 0) {
-            lineFase = 19;
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_FR].dir = BRAKE;
-        }
-        motor[TIRE_FL].pwm = 16;
-        motor[TIRE_BL].pwm = 16;
-        motor[TIRE_BR].pwm = 16;
-        motor[TIRE_FR].pwm = 16;
-    } else if(lineFase == 19) {  // 右
-        switch(linePara[4]) {
-            case -2:
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = true;
-                break;
-            case -3:
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = -10;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = 10;
-                adjAnable = true;
-                break;
-            case -1:
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = -20;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = 20;
-                adjAnable = true;
-                break;
-            case 0:
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = -30;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = 30;
-                adjAnable = true;
-                break;
-            case 1:
-                tirePWM[TIRE_FL] = 20;
-                tirePWM[TIRE_BL] = -30;
-                tirePWM[TIRE_BR] = -20;
-                tirePWM[TIRE_FR] = 30;
-                adjAnable = true;
-                break;
-            case 3:
-                tirePWM[TIRE_FL] = 10;
-                tirePWM[TIRE_BL] = -30;
-                tirePWM[TIRE_BR] = -10;
-                tirePWM[TIRE_FR] = 30;
-                adjAnable = true;
-                break;
-            case 2:
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = -30;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 30;
-                adjAnable = true;
-                break;
-            case 'A':
-                if(lineCheck == false) {
-                    lineCheck = true;
-                    lineCount = 0;
-                    countW++;
-                }
-                tirePWM[TIRE_FL] = 30;
-                tirePWM[TIRE_BL] = -30;
-                tirePWM[TIRE_BR] = -30;
-                tirePWM[TIRE_FR] = 30;
-                adjAnable = true;
-                break;
-            case 'N':
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-                break;
-            default:
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-        }
-
-        if(adjAnable) {
-            if(linePara[3] != 'A' && linePara[3] != 'N') adj = linePara[3];
-        } else {
-            adj = 0;
-        }
-
-        motor[TIRE_FL].dir = SetStatus(tirePWM[TIRE_FL] + adj);
-        motor[TIRE_BL].dir = SetStatus(tirePWM[TIRE_BL] + adj);
-        motor[TIRE_BR].dir = SetStatus(tirePWM[TIRE_BR]);
-        motor[TIRE_FR].dir = SetStatus(tirePWM[TIRE_FR]);
-        motor[TIRE_FL].pwm = SetPWM(tirePWM[TIRE_FL] + adj);
-        motor[TIRE_BL].pwm = SetPWM(tirePWM[TIRE_BL] + adj);
-        motor[TIRE_BR].pwm = SetPWM(tirePWM[TIRE_BR]);
-        motor[TIRE_FR].pwm = SetPWM(tirePWM[TIRE_FR]);
-
-        if(lineCheck == true)  {
-            lineCount++;
-            if(lineCount > 20) lineCheck = false;
-        }
-
-        /*
-        if(LimitSw::IsPressed(TOWEL1_SW) && LimitSw::IsPressed(TOWEL2_SW)) {
-        	targetCount = 3;
-        } else if(LimitSw::IsPressed(TOWEL1_SW)) {
-        	targetCount = 3;
-        } else {
-        	targetCount = 2;
-        }
-        */
-
-        targetCount = 3;
-
-        if(countW == targetCount) {
-            countW = 0;
-            lineFase = 20;
-            lineCount = 0;
-            lineCheck = false;
-        }
-    } else if(lineFase == 20) { // 右 低速
-        motor[TIRE_FL].dir = FOR;
-        motor[TIRE_BL].dir = BACK;
-        motor[TIRE_BR].dir = BACK;
-        motor[TIRE_FR].dir = FOR;
-        if (linePara[2] == 0) {
-            //(!!LimitSw::Ispressed(SHEETS_SW)) {
-            //ineFase = 20;
-            //else if(LimitSw::IsPressed(TOWEL2_SW) {
-            //ineFase = 14;
-            //else {
-            lineFase = 21;
-            //
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_FR].dir = BRAKE;
-        }
-        motor[TIRE_FL].pwm = 16;
-        motor[TIRE_BL].pwm = 16;
-        motor[TIRE_BR].pwm = 16;
-        motor[TIRE_FR].pwm = 16;
-    } else if(lineFase == 21) {
-        switch(linePara[2]) {
-            case -2:
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = -30;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 30;
-                adjAnable = true;
-                break;
-            case -3:
-                tirePWM[TIRE_FL] = -10;
-                tirePWM[TIRE_BL] = -30;
-                tirePWM[TIRE_BR] = 10;
-                tirePWM[TIRE_FR] = 30;
-                adjAnable = true;
-                break;
-            case -1:
-                tirePWM[TIRE_FL] = -20;
-                tirePWM[TIRE_BL] = -30;
-                tirePWM[TIRE_BR] = 20;
-                tirePWM[TIRE_FR] = 30;
-                adjAnable = true;
-                break;
-            case 0:
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = -30;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = 30;
-                adjAnable = true;
-                break;
-            case 1:
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = -20;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = 20;
-                adjAnable = true;
-                break;
-            case 3:
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = -10;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = 10;
-                adjAnable = true;
-                break;
-            case 2:
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = true;
-                break;
-            case 'A':
-                if(lineCheck == false) {
-                    lineCheck = true;
-                    lineCount = 0;
-                    countW++;
-                }
-                tirePWM[TIRE_FL] = -30;
-                tirePWM[TIRE_BL] = -30;
-                tirePWM[TIRE_BR] = 30;
-                tirePWM[TIRE_FR] = 30;
-                adjAnable = true;
-                break;
-            case 'N':
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-                break;
-            default:
-                tirePWM[TIRE_FL] = 0;
-                tirePWM[TIRE_BL] = 0;
-                tirePWM[TIRE_BR] = 0;
-                tirePWM[TIRE_FR] = 0;
-                adjAnable = false;
-        }
-
-        if(adjAnable) {
-            if(linePara[0] != 'A' && linePara[0] != 'N') adj = linePara[0];
-        } else {
-            adj = 0;
-        }
-
-        motor[TIRE_FL].dir = SetStatus(tirePWM[TIRE_FL] + adj);
-        motor[TIRE_BL].dir = SetStatus(tirePWM[TIRE_BL]);
-        motor[TIRE_BR].dir = SetStatus(tirePWM[TIRE_BR]);
-        motor[TIRE_FR].dir = SetStatus(tirePWM[TIRE_FR] + adj);
-        motor[TIRE_FL].pwm = SetPWM(tirePWM[TIRE_FL] + adj);
-        motor[TIRE_BL].pwm = SetPWM(tirePWM[TIRE_BL]);
-        motor[TIRE_BR].pwm = SetPWM(tirePWM[TIRE_BR]);
-        motor[TIRE_FR].pwm = SetPWM(tirePWM[TIRE_FR] + adj);
-
-        if(lineCheck == true)  {
-            lineCount++;
-            if(lineCount > 20) lineCheck = false;
-        }
-        if(countW == 2) {
-            countW = 0;
-            lineFase = 22;
-            lineCount = 0;
-            lineCheck = false;
-        }
-    } else if(lineFase == 22) {
-        motor[TIRE_FL].dir = BACK;
-        motor[TIRE_BL].dir = BACK;
-        motor[TIRE_BR].dir = FOR;
-        motor[TIRE_FR].dir = FOR;
-        if (linePara[0] == 'N') {
-            motor[TIRE_FL].dir = BRAKE;
-            motor[TIRE_BL].dir = BRAKE;
-            motor[TIRE_BR].dir = BRAKE;
-            motor[TIRE_FR].dir = BRAKE;
-        }
-        motor[TIRE_FL].pwm = 30;
-        motor[TIRE_BL].pwm = 30;
-        motor[TIRE_BR].pwm = 30;
-        motor[TIRE_FR].pwm = 30;
-    } else {
-        motor[TIRE_FL].dir = BRAKE;
-        motor[TIRE_BL].dir = BRAKE;
-        motor[TIRE_BR].dir = BRAKE;
-        motor[TIRE_FR].dir = BRAKE;
-    }
-
 }
 #endif
 
@@ -4187,200 +297,14 @@
 #if USE_PROCESS_NUM>7
 static void Process7()
 {
-    static int SW_flag=0;
-    static int Processflag=0;
-    if(Processflag==0) {
-        if(Limitphase==0) {
-            //下待機
-            Limitphase=2;
-        } else if(Limitphase==1) {
-        } else if(Limitphase==2) {
-            //下→上とタオル展開
-            pc.printf("%d\r\n",SW_flag);
-
-            motor[LIFT_LB].dir = FOR;
-            motor[LIFT_LB].pwm = 200;
-            motor[LIFT_RB].dir = BACK;
-            motor[LIFT_RB].pwm = 180;
-
-            if(SW_flag==0) {
-                motor[LIFT_LB].dir = FOR;
-                motor[LIFT_LB].pwm = 200;
-                motor[LIFT_RB].dir = BACK;
-                motor[LIFT_RB].pwm = 180;
-                if(!LimitSw::IsPressed(LSW_LB)&&!LimitSw::IsPressed(LSW_RB)) {
-                    SW_flag=1;
-                }
-            } else if(SW_flag==1) {
-                motor[LIFT_LB].dir = FOR;
-                motor[LIFT_LB].pwm = 200;
-                motor[LIFT_RB].dir = BACK;
-                motor[LIFT_RB].pwm = 180;
-                if(LimitSw::IsPressed(LSW_LB)&&LimitSw::IsPressed(LSW_RB)) {
-                    SW_flag=2;
-                }
-            } else if(SW_flag==2) {
-                motor[LIFT_LB].dir = FOR;
-                motor[LIFT_LB].pwm = 200;
-                motor[LIFT_RB].dir = BACK;
-                motor[LIFT_RB].pwm = 180;
-                if(!LimitSw::IsPressed(LSW_LB)&&!LimitSw::IsPressed(LSW_RB)) {
-                    SW_flag=3;
-                }
-            } else if(SW_flag==3) {
-                motor[LIFT_LB].dir = FOR;
-                motor[LIFT_LB].pwm = 200;
-                motor[LIFT_RB].dir = BACK;
-                motor[LIFT_RB].pwm = 180;
-                if(LimitSw::IsPressed(LSW_LB)&&LimitSw::IsPressed(LSW_RB)) {
-                    motor[LIFT_LB].dir = BRAKE;
-                    motor[LIFT_LB].pwm = 200;
-                    motor[LIFT_RB].dir = BRAKE;
-                    motor[LIFT_RB].pwm = 180;
-                    Limitphase=4;
-                }
-            }
-        } else if(Limitphase==3) {
-        } else if(Limitphase==4) {
-            //上段待機
-            motor[LIFT_LB].dir = BRAKE;
-            motor[LIFT_LB].pwm = 200;
-            motor[LIFT_RB].dir = BRAKE;
-            motor[LIFT_RB].pwm = 200;
-            current=0;
-            startFlag=true;
-        } else {
-            motor[LIFT_LB].dir = BRAKE;
-            motor[LIFT_LB].pwm = 200;
-            motor[LIFT_RB].dir = BRAKE;
-            motor[LIFT_RB].pwm = 200;
-            startFlag=true;
-            current=0;
-        }
-        if(LimitSw::IsPressed(UNFOLD_ZYOUGE_SW)) {
-            motor[LIFT_LB].dir = BRAKE;
-            motor[LIFT_LB].pwm = 200;
-            motor[LIFT_RB].dir = BRAKE;
-            motor[LIFT_RB].pwm = 200;
-            Air[TOWEL0]=1;
-            SW_flag=0;
-            Limitphase=0;
-            current=0;
-            startFlag=true;
-            Processflag=1;
-        }
-    } else if(Processflag==1) {
-        motor[LIFT_LB].dir = FOR;
-        motor[LIFT_LB].pwm = 200;
-        motor[LIFT_RB].dir = BACK;
-        motor[LIFT_RB].pwm = 180;
-        if(LimitSw::IsPressed(LSW_LB)&&LimitSw::IsPressed(LSW_RB)) {
-            motor[LIFT_LB].dir = BRAKE;
-            motor[LIFT_LB].pwm = 200;
-            motor[LIFT_RB].dir = BRAKE;
-            motor[LIFT_RB].pwm = 180;
-            current=0;
-            startFlag=true;
-            Processflag=1;
-        }
-        if(LimitSw::IsPressed(UNFOLD_ZYOUGE_SW)){
-        	motor[LIFT_LB].dir = BRAKE;
-            motor[LIFT_LB].pwm = 200;
-            motor[LIFT_RB].dir = BRAKE;
-            motor[LIFT_RB].pwm = 200;
-            Air[TOWEL0]=1;
-            SW_flag=0;
-            Limitphase=0;
-            current=0;
-            startFlag=true;
-            Processflag=1;
-		}
-    }
+   
 }
-
-
-
 #endif
 
 #if USE_PROCESS_NUM>8
 static void Process8()
 {
-    if(controller->Button.A) {
-        rotaconSampling.start();
-        PIDflag = true;
-
-        //linePara_U = LineHub::GetPara(0);
-        //linePara_B = LineHub::GetPara(3);
-
-
-        pulsePV[FL] = encoder[FL].getPulses();
-        pulsePV[BL] = encoder[BL].getPulses();
-        pulsePV[BR] = encoder[BR].getPulses();
-        pulsePV[FR] = encoder[FR].getPulses();
-
-
-        for (int i = 0; i < 4; i++) {
-            timeCV[i] = timePV[i];
-            timePV[i] = rotaconSampling.read();
-            tireProcessRPM[i] = (pulsePV[i] - pulseCV[i])/ (float)(256 * 2) / (timePV[i] - timeCV[i]) * 60;
-            pulseCV[i] = pulsePV[i];
-        }
-
-        move.Vx = 0.5;
-        move.Vy = 0.5;
-        move.Va = 0;
-
-        correction_LT.Vx = 0;  //0.1 * linePara_U;
-        correction_LT.Vy = 0;
-        correction_LT.Va = 0;
-
-        synthetic.Vx = move.Vx + correction_LT.Vx;
-        synthetic.Vy = move.Vy + correction_LT.Vy;
-        synthetic.Va = move.Va + correction_LT.Va;
-
-        sita = 0;
-
-        //タイヤの目標速度算出
-        float sinR = 0.7071 * (float)sin(sita);
-        float cosR = 0.7071 * (float)cos(sita);
-        float nv = (60 * 1000) / ( 2.00 * PI * tireR);
-        tireTargetRPM[FL] = ((+ synthetic.Vx * (sinR - cosR)) - (synthetic.Vy * (sinR + cosR)) + (ucR * synthetic.Va)) * nv;
-        tireTargetRPM[BL] = ((+ synthetic.Vx * (sinR + cosR)) + (synthetic.Vy * (sinR - cosR)) + (ucR * synthetic.Va)) * nv;
-        tireTargetRPM[BR] = ((- synthetic.Vx * (sinR - cosR)) + (synthetic.Vy * (sinR + cosR)) + (ucR * synthetic.Va)) * nv;
-        tireTargetRPM[FR] = ((- synthetic.Vx * (sinR + cosR)) - (synthetic.Vy * (sinR - cosR)) + (ucR * synthetic.Va)) * nv;
-
-        //pc.printf("process : %f   target : %f\n\r",tireProcessRPM[0],tireTargetRPM[0]);
-
-        //PIDによるPWM算出
-
-        //モータの駆動
-        for (int i = 0; i < 4; i++) {
-            if (tirePWM[i] > 255) {
-                tirePWM[i] = 255;
-            } else if (tirePWM[i] < -255) {
-                tirePWM[i] = -255;
-            }
-        }
-
-        for(int i = 0; i < 4; i++) {
-            motor[i].dir = SetStatus(tirePWM[i]);
-            motor[i].pwm = SetPWM(tirePWM[i]);
-        }
-    } else {
-        PIDflag = false;
-        rotaconSampling.stop();
-        rotaconSampling.reset();
-        for(int i = 0; i < 4; i++) {
-            encoder[i].reset();
-            pulsePV[i] = 0;
-            pulseCV[i] = 0;
-            timePV[i] = 0;
-            timeCV[i] = 0;
-            tirePWM[i] = 0;
-            motor[i].dir = SetStatus(tirePWM[i]);
-            motor[i].pwm = SetPWM(tirePWM[i]);
-        }
-    }
+	
 }
 #endif
 
@@ -4395,17 +319,16 @@
 
 static void AllActuatorReset()
 {
-
-#ifdef USE_SOLENOID
-    solenoid.all = ALL_SOLENOID_OFF;
-#endif
-
-#ifdef USE_MOTOR
-    for (uint8_t i = 0; i < MOUNTING_MOTOR_NUM; i++) {
-        motor[i].dir = FREE;
-        motor[i].pwm = 0;
-    }
-#endif
+	#ifdef USE_SOLENOID
+	    solenoid.all = ALL_SOLENOID_OFF;
+	#endif
+	
+	#ifdef USE_MOTOR
+	    for (uint8_t i = 0; i < MOUNTING_MOTOR_NUM; i++) {
+	        motor[i].dir = FREE;
+	        motor[i].pwm = 0;
+	    }
+	#endif
 }
 
 void BuzzerTimer_func()
@@ -4420,39 +343,19 @@
 }
 
 #pragma region USER-DEFINED-FUNCTIONS
-void tirePID()
+
+uint8_t SetStatus(int pwmVal)
 {
-    if(PIDflag == true) {
-        //加算するPID値の算出
-        rotaconPID[0].SetPV(tireProcessRPM[FL],tireTargetRPM[FL]);
-        rotaconPID[1].SetPV(tireProcessRPM[BL],tireTargetRPM[BL]);
-        rotaconPID[2].SetPV(tireProcessRPM[FR],tireTargetRPM[FR]);
-        rotaconPID[3].SetPV(tireProcessRPM[BR],tireTargetRPM[BR]);
-        //PID値の加算
-        tirePWM[FL] += rotaconPID[0].GetMV();
-        tirePWM[BL] += rotaconPID[1].GetMV();
-        tirePWM[FR] += rotaconPID[2].GetMV();
-        tirePWM[BR] += rotaconPID[3].GetMV();
-    }
+    if (pwmVal < 0) return BACK;
+    else if (pwmVal > 0) return FOR;
+    else if (pwmVal == 0) return BRAKE;
+    else return BRAKE;
 }
 
-int lineCast(char k)
+uint8_t SetPWM(int pwmVal)
 {
-    int l;
-    switch(k) {
-        case 255:
-            l = -1;
-            break;
-        case 254:
-            l = -2;
-            break;
-        case 253:
-            l = -3;
-            break;
-        default:
-            l = k;
-    }
-    return l;
+    if (pwmVal == 0 || pwmVal >  255 || pwmVal < -255) return 255;
+    else return abs(pwmVal);
 }
 
 #pragma endregion