CatPot 2015-2016 / Mbed 2 deprecated CatPot_2v10_T_Main

Dependencies:   mbed AQM1602 HMC6352 PID

Revision:
2:635947de1583
Parent:
0:ea35c18c85fc
Child:
5:5ff3a7d5d8c2
diff -r 3e013ae7900d -r 635947de1583 main_processing/strategy/strategy.cpp
--- a/main_processing/strategy/strategy.cpp	Sun Feb 28 06:38:17 2016 +0000
+++ b/main_processing/strategy/strategy.cpp	Thu Mar 03 05:58:43 2016 +0000
@@ -19,9 +19,9 @@
         Line_ticker.attach(&ReadLine, 0.005);
         sys.PidFlag=0;
     }
-    ir_x = ir_move_val[data_set.irNotice][data_set.irPosition][IR_X];
-    ir_y = ir_move_val[data_set.irNotice][data_set.irPosition][IR_Y];
-    if(data_set.irPosition<8){
+    ir_x = ir_move_val[data.irNotice][data.irPosition][IR_X];
+    ir_y = ir_move_val[data.irNotice][data.irPosition][IR_Y];
+    if(data.irPosition<8){
         ir_x *= (double)(sys.l_pow);
         ir_y *= (double)(sys.l_pow);
     }
@@ -33,10 +33,10 @@
     vx = ir_x;
     vy = ir_y;
     //Line検出方向を調べる
-    LineDir[A_SPOT] = (!((vx>0)&&((line_set.lnFlag[A_SPOT]==1)&&(line_set.lnFlag[B_SPOT]==0))));
-    LineDir[B_SPOT] = (!((vx<0)&&((line_set.lnFlag[A_SPOT]==0)&&(line_set.lnFlag[B_SPOT]==1))));
-    LineDir[C_SPOT] = (!((vy<0)&&((line_set.lnFlag[C_SPOT]==1)&&(1))));
-    LineDir[AB_SPOT] = (!((vy>0)&&((line_set.lnFlag[A_SPOT]==1)&&(line_set.lnFlag[B_SPOT]==1))));
+    LineDir[A_SPOT] = (!((vx>0)&&((data.lnFlag[A_SPOT]==1)&&(data.lnFlag[B_SPOT]==0))));
+    LineDir[B_SPOT] = (!((vx<0)&&((data.lnFlag[A_SPOT]==0)&&(data.lnFlag[B_SPOT]==1))));
+    LineDir[C_SPOT] = (!((vy<0)&&((data.lnFlag[C_SPOT]==1)&&(1))));
+    LineDir[AB_SPOT] = (!((vy>0)&&((data.lnFlag[A_SPOT]==1)&&(data.lnFlag[B_SPOT]==1))));
     
     LineStop[X_AXIS] = LineDir[A_SPOT]*LineDir[B_SPOT];
     LineStop[Y_AXIS] = LineDir[C_SPOT]*LineDir[AB_SPOT];
@@ -72,9 +72,9 @@
 uint8_t LineSign[3];
 uint8_t LineFirst[2];
 uint8_t LinePriority[2];//0を後に,1を優先
-void LineClear_A(void){LineSign[A_SPOT]=0;line_set.lnFlag[A_SPOT]=0;}
-void LineClear_B(void){LineSign[B_SPOT]=0;line_set.lnFlag[B_SPOT]=0;}
-void LineClear_C(void){LineSign[C_SPOT]=0;line_set.lnFlag[C_SPOT]=0;}
+void LineClear_A(void){LineSign[A_SPOT]=0;data.lnFlag[A_SPOT]=0;}
+void LineClear_B(void){LineSign[B_SPOT]=0;data.lnFlag[B_SPOT]=0;}
+void LineClear_C(void){LineSign[C_SPOT]=0;data.lnFlag[C_SPOT]=0;}
 void LineCall_A(void){
     //
     LineSign[A_SPOT] = 1;
@@ -87,7 +87,7 @@
         }
     }
     //
-    if((Line[A_SPOT].read()==1)||(1)) line_set.lnFlag[A_SPOT]=1;
+    if((Line[A_SPOT].read()==1)||(1)) data.lnFlag[A_SPOT]=1;
     //
     Line_timeout[A_SPOT].attach(&LineClear_A, LINE_DELAY);
 }
@@ -103,7 +103,7 @@
         }
     }
     //
-    if((Line[B_SPOT].read()==1)||(1)) line_set.lnFlag[B_SPOT]=1;
+    if((Line[B_SPOT].read()==1)||(1)) data.lnFlag[B_SPOT]=1;
     //
     Line_timeout[B_SPOT].attach(&LineClear_B, LINE_DELAY);
 }
@@ -114,7 +114,7 @@
         LineFirst[Y_AXIS] = C_SPOT;
     }
     //
-    if((Line[C_SPOT].read()==1)||(1)) line_set.lnFlag[C_SPOT]=1;
+    if((Line[C_SPOT].read()==1)||(1)) data.lnFlag[C_SPOT]=1;
     //
     Line_timeout[C_SPOT].attach(&LineClear_C, LINE_DELAY);
 }
@@ -137,9 +137,9 @@
         LineSign[B_SPOT]=0;
         LineSign[C_SPOT]=0;
         
-        line_set.lnFlag[A_SPOT]=0;
-        line_set.lnFlag[B_SPOT]=0;
-        line_set.lnFlag[C_SPOT]=0;
+        data.lnFlag[A_SPOT]=0;
+        data.lnFlag[B_SPOT]=0;
+        data.lnFlag[C_SPOT]=0;
         
         sys.KickOffFlag=0;
     }
@@ -153,9 +153,9 @@
         //Line_ticker.attach(&ReadLine, 0.005);
         sys.PidFlag=0;
     }
-    ir_x = ir_move_val[data_set.irNotice][data_set.irPosition][IR_X];
-    ir_y = ir_move_val[data_set.irNotice][data_set.irPosition][IR_Y];
-    if(data_set.irPosition<8){
+    ir_x = ir_move_val[data.irNotice][data.irPosition][IR_X];
+    ir_y = ir_move_val[data.irNotice][data.irPosition][IR_Y];
+    if(data.irPosition<8){
         ir_x *= sys.l_pow;
         ir_y *= sys.l_pow;
     }
@@ -168,10 +168,10 @@
     vx = ir_x;
     vy = ir_y;
     //Line検出方向を調べる
-    LineDir[A_SPOT] = (!((vx>0)&&((line_set.lnFlag[A_SPOT]==1)&&(line_set.lnFlag[B_SPOT]==0))&&(1)));
-    LineDir[B_SPOT] = (!((vx<0)&&((line_set.lnFlag[A_SPOT]==0)&&(line_set.lnFlag[B_SPOT]==1))&&(1)));
-    LineDir[C_SPOT] = (!((vy<0)&&((line_set.lnFlag[C_SPOT]==1)&&(1                      ))&&(1)));
-    LineDir[AB_SPOT] = (!((vy>0)&&((line_set.lnFlag[A_SPOT]==1)&&(line_set.lnFlag[B_SPOT]==1))&&(1)));
+    LineDir[A_SPOT] = (!((vx>0)&&((data.lnFlag[A_SPOT]==1)&&(data.lnFlag[B_SPOT]==0))&&(1)));
+    LineDir[B_SPOT] = (!((vx<0)&&((data.lnFlag[A_SPOT]==0)&&(data.lnFlag[B_SPOT]==1))&&(1)));
+    LineDir[C_SPOT] = (!((vy<0)&&((data.lnFlag[C_SPOT]==1)&&(1                      ))&&(1)));
+    LineDir[AB_SPOT] = (!((vy>0)&&((data.lnFlag[A_SPOT]==1)&&(data.lnFlag[B_SPOT]==1))&&(1)));
     
     LineStop[X_AXIS] = LineDir[A_SPOT]*LineDir[B_SPOT];
     LineStop[Y_AXIS] = LineDir[C_SPOT]*LineDir[AB_SPOT];
@@ -179,18 +179,18 @@
     //Ir
     //strict
     /*
-    IrRange[A_SPOT] = ((18<=data_set.irPosition)&&(data_set.irPosition<=19))||((8<=data_set.irPosition)&&(data_set.irPosition<=10))
-                    ||((6<=data_set.irPosition)&&(data_set.irPosition<=7))||((                   1)&&(data_set.irPosition<=1));
-    IrRange[B_SPOT] = ((12<=data_set.irPosition)&&(data_set.irPosition<=16))||((2<=data_set.irPosition)&&(data_set.irPosition<=5));
-    IrRange[C_SPOT] = ((15<=data_set.irPosition)&&(data_set.irPosition<=19))||((4<=data_set.irPosition)&&(data_set.irPosition<=7));
-    IrRange[AB_SPOT] = ((9<=data_set.irPosition)&&(data_set.irPosition<=13))||((                 1)&&(data_set.irPosition<=3));
+    IrRange[A_SPOT] = ((18<=data.irPosition)&&(data.irPosition<=19))||((8<=data.irPosition)&&(data.irPosition<=10))
+                    ||((6<=data.irPosition)&&(data.irPosition<=7))||((                   1)&&(data.irPosition<=1));
+    IrRange[B_SPOT] = ((12<=data.irPosition)&&(data.irPosition<=16))||((2<=data.irPosition)&&(data.irPosition<=5));
+    IrRange[C_SPOT] = ((15<=data.irPosition)&&(data.irPosition<=19))||((4<=data.irPosition)&&(data.irPosition<=7));
+    IrRange[AB_SPOT] = ((9<=data.irPosition)&&(data.irPosition<=13))||((                 1)&&(data.irPosition<=3));
     */
     //sweet
-    IrRange[A_SPOT] = ((19<=data_set.irPosition)&&(data_set.irPosition<=19))||((8<=data_set.irPosition)&&(data_set.irPosition<=9))
-                    ||((6<=data_set.irPosition)&&(data_set.irPosition<=7))||((                   1)&&(data_set.irPosition<=1));
-    IrRange[B_SPOT] = ((13<=data_set.irPosition)&&(data_set.irPosition<=15))||((2<=data_set.irPosition)&&(data_set.irPosition<=5));
-    IrRange[C_SPOT] = ((16<=data_set.irPosition)&&(data_set.irPosition<=18))||((4<=data_set.irPosition)&&(data_set.irPosition<=7));
-    IrRange[AB_SPOT] = ((10<=data_set.irPosition)&&(data_set.irPosition<=12))||((                 1)&&(data_set.irPosition<=3));
+    IrRange[A_SPOT] = ((19<=data.irPosition)&&(data.irPosition<=19))||((8<=data.irPosition)&&(data.irPosition<=9))
+                    ||((6<=data.irPosition)&&(data.irPosition<=7))||((                   1)&&(data.irPosition<=1));
+    IrRange[B_SPOT] = ((13<=data.irPosition)&&(data.irPosition<=15))||((2<=data.irPosition)&&(data.irPosition<=5));
+    IrRange[C_SPOT] = ((16<=data.irPosition)&&(data.irPosition<=18))||((4<=data.irPosition)&&(data.irPosition<=7));
+    IrRange[AB_SPOT] = ((10<=data.irPosition)&&(data.irPosition<=12))||((                 1)&&(data.irPosition<=3));
     
     
     LinePulse[A_SPOT] = ((IrRange[A_SPOT]==1)&&(LineDir[A_SPOT]==0));
@@ -212,7 +212,7 @@
     vy = vy*LineStop[Y_AXIS] + (LINE_RF)*(vx!=0)*((LineDir[C_SPOT]==0) + (-1)*(LineDir[AB_SPOT]==0));
     vs = cmps_set.OutputPID;
     if((LineBind[A_SPOT]==1)||(LineBind[B_SPOT]==1)||(LineBind[C_SPOT]==1)||(LineBind[AB_SPOT]==1)){
-        if(RawLineSignal>0){
+        if(LineRaw>0){
             vx=(LINE_RF*2)*((-1)*IrRange[A_SPOT] +      IrRange[B_SPOT]);
             vy=(LINE_RF*2)*(     IrRange[C_SPOT] + (-1)*IrRange[AB_SPOT]);
             /*vx=(LINE_RF*2)*((-1)*(LineFirst[X_AXIS] == A_SPOT) +      (LineFirst[X_AXIS] == B_SPOT));
@@ -226,7 +226,7 @@
             vy=0;
         }
     }
-    if(RawLineSignal>0){
+    if(LineRaw>0){
         Line_timeout[A_SPOT].attach(&LineClear_A, LINE_DELAY);
         Line_timeout[B_SPOT].attach(&LineClear_B, LINE_DELAY);
         Line_timeout[C_SPOT].attach(&LineClear_C, LINE_DELAY);
@@ -263,9 +263,9 @@
         LineSign[B_SPOT]=0;
         LineSign[C_SPOT]=0;
         
-        line_set.lnFlag[A_SPOT]=0;
-        line_set.lnFlag[B_SPOT]=0;
-        line_set.lnFlag[C_SPOT]=0;
+        data.lnFlag[A_SPOT]=0;
+        data.lnFlag[B_SPOT]=0;
+        data.lnFlag[C_SPOT]=0;
         
         HmcResetFlag = 0;
         PingFlag = 0;
@@ -304,9 +304,9 @@
         HmcResetFlag=0;
     }
     */
-    ir_x = ir_move_val[data_set.irNotice][data_set.irPosition][IR_X];
-    ir_y = ir_move_val[data_set.irNotice][data_set.irPosition][IR_Y];
-    if(data_set.irPosition<8){
+    ir_x = ir_move_val[data.irNotice][data.irPosition][IR_X];
+    ir_y = ir_move_val[data.irNotice][data.irPosition][IR_Y];
+    if(data.irPosition<8){
         ir_x *= sys.l_pow;
         ir_y *= sys.l_pow;
     }
@@ -319,26 +319,26 @@
     vx = ir_x;
     vy = ir_y;
     
-    if((data_set.irPosition==10)&&(vy>0)){
+    if((data.irPosition==10)&&(vy>0)){
         vy += 0;//前進加速
     }
-    if((data_set.irPosition==11)&&(vy>0)){
+    if((data.irPosition==11)&&(vy>0)){
         vy += 0;//前進加速
         if(sys.KickFlag==1){
             DriveSolenoid();
         }
     }
-    if((data_set.irPosition==12)&&(vy>0)){
+    if((data.irPosition==12)&&(vy>0)){
         vy += 0;//前進加速
     }
-    if((data_set.irPosition==1)&&(vy>0)){
+    if((data.irPosition==1)&&(vy>0)){
         vy += 0;//前進加速
     }
-    if((data_set.irPosition==2)&&(vy>0)){
+    if((data.irPosition==2)&&(vy>0)){
         vy += 0;//前進加速
     }
     
-    if((data_set.irPosition==17)&&(data_set.ping[L_PING]>data_set.ping[R_PING])){
+    if((data.irPosition==17)&&(data.ping[L_PING]>data.ping[R_PING])){
         vx *= -1.0;//背後回り込みの左右判断
     }
     /*
@@ -348,10 +348,10 @@
     }
     */
     //Lineを踏み始めた方向を調べる
-    /*LineDir[A_SPOT] = (vx>0)&&((line_set.lnFlag[A_SPOT]==1)&&(1                     ))&&(LineFirst[X_AXIS] == A_SPOT);
-    LineDir[B_SPOT] = (vx<0)&&((line_set.lnFlag[B_SPOT]==1)&&(1                     ))&&(LineFirst[X_AXIS] == B_SPOT);
-    LineDir[C_SPOT] = (vy<0)&&((line_set.lnFlag[C_SPOT]==1)&&(1                     ))&&(LineFirst[Y_AXIS] == C_SPOT);
-    LineDir[AB_SPOT]= (vy>0)&&((line_set.lnFlag[A_SPOT]==1)&&(line_set.lnFlag[B_SPOT]==1))&&(LineFirst[Y_AXIS] == AB_SPOT);*/
+    /*LineDir[A_SPOT] = (vx>0)&&((data.lnFlag[A_SPOT]==1)&&(1                     ))&&(LineFirst[X_AXIS] == A_SPOT);
+    LineDir[B_SPOT] = (vx<0)&&((data.lnFlag[B_SPOT]==1)&&(1                     ))&&(LineFirst[X_AXIS] == B_SPOT);
+    LineDir[C_SPOT] = (vy<0)&&((data.lnFlag[C_SPOT]==1)&&(1                     ))&&(LineFirst[Y_AXIS] == C_SPOT);
+    LineDir[AB_SPOT]= (vy>0)&&((data.lnFlag[A_SPOT]==1)&&(data.lnFlag[B_SPOT]==1))&&(LineFirst[Y_AXIS] == AB_SPOT);*/
     
     LineDir[A_SPOT] = (vx>0)&&((LineSign[A_SPOT]==1)&&(1                  ))&&(LineFirst[X_AXIS] == A_SPOT);
     LineDir[B_SPOT] = (vx<0)&&((LineSign[B_SPOT]==1)&&(1                  ))&&(LineFirst[X_AXIS] == B_SPOT);
@@ -361,20 +361,20 @@
     //Irボールの方向
     //strict
     
-    IrRange[A_SPOT] = ((18<=data_set.irPosition)&&(data_set.irPosition<=19))||((8<=data_set.irPosition)&&(data_set.irPosition<=10))
-                    ||((6<=data_set.irPosition)&&(data_set.irPosition<=7))||((                   1)&&(data_set.irPosition<=1));
-    IrRange[B_SPOT] = ((12<=data_set.irPosition)&&(data_set.irPosition<=16))||((2<=data_set.irPosition)&&(data_set.irPosition<=5));
-    IrRange[C_SPOT] = ((15<=data_set.irPosition)&&(data_set.irPosition<=19))||((4<=data_set.irPosition)&&(data_set.irPosition<=7));
-    IrRange[AB_SPOT] = ((9<=data_set.irPosition)&&(data_set.irPosition<=13))||((                 1)&&(data_set.irPosition<=3));
+    IrRange[A_SPOT] = ((18<=data.irPosition)&&(data.irPosition<=19))||((8<=data.irPosition)&&(data.irPosition<=10))
+                    ||((6<=data.irPosition)&&(data.irPosition<=7))||((                   1)&&(data.irPosition<=1));
+    IrRange[B_SPOT] = ((12<=data.irPosition)&&(data.irPosition<=16))||((2<=data.irPosition)&&(data.irPosition<=5));
+    IrRange[C_SPOT] = ((15<=data.irPosition)&&(data.irPosition<=19))||((4<=data.irPosition)&&(data.irPosition<=7));
+    IrRange[AB_SPOT] = ((9<=data.irPosition)&&(data.irPosition<=13))||((                 1)&&(data.irPosition<=3));
     
     //sweet
-    /*IrRange[A_SPOT] = ((19<=data_set.irPosition)&&(data_set.irPosition<=19))||((8<=data_set.irPosition)&&(data_set.irPosition<=9))
-                    ||((6<=data_set.irPosition)&&(data_set.irPosition<=7))||((                   1)&&(data_set.irPosition<=1));
-    IrRange[B_SPOT] = ((13<=data_set.irPosition)&&(data_set.irPosition<=15))||((2<=data_set.irPosition)&&(data_set.irPosition<=5));
-    IrRange[C_SPOT] = ((16<=data_set.irPosition)&&(data_set.irPosition<=18))||((4<=data_set.irPosition)&&(data_set.irPosition<=7));
-    IrRange[AB_SPOT] = ((10<=data_set.irPosition)&&(data_set.irPosition<=12))||((                 1)&&(data_set.irPosition<=3));*/
+    /*IrRange[A_SPOT] = ((19<=data.irPosition)&&(data.irPosition<=19))||((8<=data.irPosition)&&(data.irPosition<=9))
+                    ||((6<=data.irPosition)&&(data.irPosition<=7))||((                   1)&&(data.irPosition<=1));
+    IrRange[B_SPOT] = ((13<=data.irPosition)&&(data.irPosition<=15))||((2<=data.irPosition)&&(data.irPosition<=5));
+    IrRange[C_SPOT] = ((16<=data.irPosition)&&(data.irPosition<=18))||((4<=data.irPosition)&&(data.irPosition<=7));
+    IrRange[AB_SPOT] = ((10<=data.irPosition)&&(data.irPosition<=12))||((                 1)&&(data.irPosition<=3));*/
     //none
-    if(data_set.irNotice==IR_NONE){
+    if(data.irNotice==IR_NONE){
         IrRange[A_SPOT]  = 0;
         IrRange[B_SPOT]  = 0;
         IrRange[C_SPOT]  = 0;
@@ -390,7 +390,7 @@
     LineStop[Y_AXIS] = (LineBind[C_SPOT]==0)*(LineBind[AB_SPOT]==0);
     
     //白線踏んでる
-    if(RawLineSignal>0){
+    if(LineRaw>0){
         LineOn[A_SPOT]  = (LineSign[A_SPOT]==1)                         &&(LineFirst[X_AXIS]==A_SPOT);
         LineOn[B_SPOT]  = (LineSign[B_SPOT]==1)                         &&(LineFirst[X_AXIS]==B_SPOT);
         LineOn[C_SPOT]  = (LineSign[C_SPOT]==1)                         &&(LineFirst[Y_AXIS]==C_SPOT);
@@ -436,9 +436,9 @@
         
         LineForce[X_AXIS] = (LINE_RF*2)*((-1)*(LineReturn[A_SPOT]==1) + ( 1)*(LineReturn[B_SPOT]==1)) + 
                             (LINE_RF*2)*(LineReturn[AB_SPOT]==1)*(LineReturn[A_SPOT]==0)*(LineReturn[B_SPOT]==0)
-                            *(( 1)*(data_set.ping[L_PING]<40) + (-1)*(data_set.ping[R_PING]<40)) +
+                            *(( 1)*(data.ping[L_PING]<40) + (-1)*(data.ping[R_PING]<40)) +
                             (LINE_RF*2)*(LineReturn[C_SPOT]==1)*(LineReturn[A_SPOT]==0)*(LineReturn[B_SPOT]==0)
-                            *(( 1)*(data_set.ping[L_PING]<40) + (-1)*(data_set.ping[R_PING]<40));
+                            *(( 1)*(data.ping[L_PING]<40) + (-1)*(data.ping[R_PING]<40));
         LineForce[Y_AXIS] = (LINE_RF*2)*(( 1)*(LineReturn[C_SPOT]==1) + (-1)*(LineReturn[AB_SPOT]==1));
         
         Line_timeout[A_SPOT].attach(&LineClear_A, LINE_DELAY);
@@ -490,9 +490,9 @@
         LineSign[B_SPOT]=0;
         LineSign[C_SPOT]=0;
         
-        line_set.lnFlag[A_SPOT]=0;
-        line_set.lnFlag[B_SPOT]=0;
-        line_set.lnFlag[C_SPOT]=0;
+        data.lnFlag[A_SPOT]=0;
+        data.lnFlag[B_SPOT]=0;
+        data.lnFlag[C_SPOT]=0;
         
         LinePriority[X_AXIS]=0;
         LinePriority[Y_AXIS]=0;
@@ -534,9 +534,9 @@
         HmcResetFlag=0;
     }
     */
-    ir_x = ir_move_val[data_set.irNotice][data_set.irPosition][IR_X];
-    ir_y = ir_move_val[data_set.irNotice][data_set.irPosition][IR_Y];
-    if(data_set.irPosition<8){
+    ir_x = ir_move_val[data.irNotice][data.irPosition][IR_X];
+    ir_y = ir_move_val[data.irNotice][data.irPosition][IR_Y];
+    if(data.irPosition<8){
         ir_x *= sys.l_pow;
         ir_y *= sys.l_pow;
     }
@@ -549,27 +549,27 @@
     vx = ir_x;
     vy = ir_y;
     
-    if((data_set.irPosition==10)&&(vy>0)){
+    if((data.irPosition==10)&&(vy>0)){
         vy += 15;//前進加速
     }
-    if((data_set.irPosition==11)&&(vy>0)){
+    if((data.irPosition==11)&&(vy>0)){
         vy += 15;//前進加速
         if(sys.KickFlag==1){
             DriveSolenoid();
         }
     }
-    if((data_set.irPosition==12)&&(vy>0)){
+    if((data.irPosition==12)&&(vy>0)){
         vy += 15;//前進加速
     }
-    if((data_set.irPosition==1)&&(vy>0)){
+    if((data.irPosition==1)&&(vy>0)){
         vy += 25;//前進加速
     }
-    if((data_set.irPosition==2)&&(vy>0)){
+    if((data.irPosition==2)&&(vy>0)){
         vy += 25;//前進加速
     }
     
     
-    if((data_set.irPosition==17)&&(data_set.ping[L_PING]>data_set.ping[R_PING])){
+    if((data.irPosition==17)&&(data.ping[L_PING]>data.ping[R_PING])){
         vx *= -1.0;//背後回り込みの左右判断
     }
     /*
@@ -579,10 +579,10 @@
     }
     */
     //Lineを踏み始めた方向を調べる
-    /*LineDir[A_SPOT] = (vx>0)&&((line_set.lnFlag[A_SPOT]==1)&&(1                     ))&&(LineFirst[X_AXIS] == A_SPOT);
-    LineDir[B_SPOT] = (vx<0)&&((line_set.lnFlag[B_SPOT]==1)&&(1                     ))&&(LineFirst[X_AXIS] == B_SPOT);
-    LineDir[C_SPOT] = (vy<0)&&((line_set.lnFlag[C_SPOT]==1)&&(1                     ))&&(LineFirst[Y_AXIS] == C_SPOT);
-    LineDir[AB_SPOT]= (vy>0)&&((line_set.lnFlag[A_SPOT]==1)&&(line_set.lnFlag[B_SPOT]==1))&&(LineFirst[Y_AXIS] == AB_SPOT);*/
+    /*LineDir[A_SPOT] = (vx>0)&&((data.lnFlag[A_SPOT]==1)&&(1                     ))&&(LineFirst[X_AXIS] == A_SPOT);
+    LineDir[B_SPOT] = (vx<0)&&((data.lnFlag[B_SPOT]==1)&&(1                     ))&&(LineFirst[X_AXIS] == B_SPOT);
+    LineDir[C_SPOT] = (vy<0)&&((data.lnFlag[C_SPOT]==1)&&(1                     ))&&(LineFirst[Y_AXIS] == C_SPOT);
+    LineDir[AB_SPOT]= (vy>0)&&((data.lnFlag[A_SPOT]==1)&&(data.lnFlag[B_SPOT]==1))&&(LineFirst[Y_AXIS] == AB_SPOT);*/
     
     LineDir[A_SPOT] = (vx>0)&&((LineSign[A_SPOT]==1)&&(1                  ))&&(LineFirst[X_AXIS] == A_SPOT);
     LineDir[B_SPOT] = (vx<0)&&((LineSign[B_SPOT]==1)&&(1                  ))&&(LineFirst[X_AXIS] == B_SPOT);
@@ -592,20 +592,20 @@
     //Irボールの方向
     //strict
     
-    IrRange[A_SPOT] = ((18<=data_set.irPosition)&&(data_set.irPosition<=19))||((8<=data_set.irPosition)&&(data_set.irPosition<=10))
-                    ||((6<=data_set.irPosition)&&(data_set.irPosition<=7))||((                   1)&&(data_set.irPosition<=1));
-    IrRange[B_SPOT] = ((12<=data_set.irPosition)&&(data_set.irPosition<=16))||((2<=data_set.irPosition)&&(data_set.irPosition<=5));
-    IrRange[C_SPOT] = ((15<=data_set.irPosition)&&(data_set.irPosition<=19))||((4<=data_set.irPosition)&&(data_set.irPosition<=7));
-    IrRange[AB_SPOT] = ((9<=data_set.irPosition)&&(data_set.irPosition<=13))||((                 1)&&(data_set.irPosition<=3));
+    IrRange[A_SPOT] = ((18<=data.irPosition)&&(data.irPosition<=19))||((8<=data.irPosition)&&(data.irPosition<=10))
+                    ||((6<=data.irPosition)&&(data.irPosition<=7))||((                   1)&&(data.irPosition<=1));
+    IrRange[B_SPOT] = ((12<=data.irPosition)&&(data.irPosition<=16))||((2<=data.irPosition)&&(data.irPosition<=5));
+    IrRange[C_SPOT] = ((15<=data.irPosition)&&(data.irPosition<=19))||((4<=data.irPosition)&&(data.irPosition<=7));
+    IrRange[AB_SPOT] = ((9<=data.irPosition)&&(data.irPosition<=13))||((                 1)&&(data.irPosition<=3));
     
     //sweet
-    /*IrRange[A_SPOT] = ((19<=data_set.irPosition)&&(data_set.irPosition<=19))||((8<=data_set.irPosition)&&(data_set.irPosition<=9))
-                    ||((6<=data_set.irPosition)&&(data_set.irPosition<=7))||((                   1)&&(data_set.irPosition<=1));
-    IrRange[B_SPOT] = ((13<=data_set.irPosition)&&(data_set.irPosition<=15))||((2<=data_set.irPosition)&&(data_set.irPosition<=5));
-    IrRange[C_SPOT] = ((16<=data_set.irPosition)&&(data_set.irPosition<=18))||((4<=data_set.irPosition)&&(data_set.irPosition<=7));
-    IrRange[AB_SPOT] = ((10<=data_set.irPosition)&&(data_set.irPosition<=12))||((                 1)&&(data_set.irPosition<=3));*/
+    /*IrRange[A_SPOT] = ((19<=data.irPosition)&&(data.irPosition<=19))||((8<=data.irPosition)&&(data.irPosition<=9))
+                    ||((6<=data.irPosition)&&(data.irPosition<=7))||((                   1)&&(data.irPosition<=1));
+    IrRange[B_SPOT] = ((13<=data.irPosition)&&(data.irPosition<=15))||((2<=data.irPosition)&&(data.irPosition<=5));
+    IrRange[C_SPOT] = ((16<=data.irPosition)&&(data.irPosition<=18))||((4<=data.irPosition)&&(data.irPosition<=7));
+    IrRange[AB_SPOT] = ((10<=data.irPosition)&&(data.irPosition<=12))||((                 1)&&(data.irPosition<=3));*/
     //none
-    if(data_set.irNotice==IR_NONE){
+    if(data.irNotice==IR_NONE){
         IrRange[A_SPOT]  = 0;
         IrRange[B_SPOT]  = 0;
         IrRange[C_SPOT]  = 0;
@@ -621,7 +621,7 @@
     LineStop[Y_AXIS] = 1;//(LineBind[C_SPOT]==0)*(LineBind[AB_SPOT]==0);
     
     //白線踏んでる
-    if(RawLineSignal>0){
+    if(LineRaw>0){
         LineOn[A_SPOT]  = (LineSign[A_SPOT]==1)                         &&(LineFirst[X_AXIS]==A_SPOT);
         LineOn[B_SPOT]  = (LineSign[B_SPOT]==1)                         &&(LineFirst[X_AXIS]==B_SPOT);
         LineOn[C_SPOT]  = (LineSign[C_SPOT]==1)                         &&(LineFirst[Y_AXIS]==C_SPOT);
@@ -679,15 +679,15 @@
         LineReturn[AB_SPOT] = (LineOn[AB_SPOT]==1);
         
         LineForce[X_AXIS] = (LINE_RF*2)*(LinePriority[X_AXIS])*((-1)*(LineReturn[A_SPOT]==1) + ( 1)*(LineReturn[B_SPOT]==1)) +
-                            (LINE_RF*2)*(LineReturn[AB_SPOT]==1)*(( 1)*(data_set.ping[L_PING]<40) + (-1)*(data_set.ping[R_PING]<40)) +
-                            (LINE_RF*2)*(LineReturn[C_SPOT]==1)*(( 1)*(data_set.ping[L_PING]<40) + (-1)*(data_set.ping[R_PING]<40));
+                            (LINE_RF*2)*(LineReturn[AB_SPOT]==1)*(( 1)*(data.ping[L_PING]<40) + (-1)*(data.ping[R_PING]<40)) +
+                            (LINE_RF*2)*(LineReturn[C_SPOT]==1)*(( 1)*(data.ping[L_PING]<40) + (-1)*(data.ping[R_PING]<40));
         LineForce[Y_AXIS] = (LINE_RF*2)*(LinePriority[Y_AXIS])*(( 1)*(LineReturn[C_SPOT]==1) + (-1)*(LineReturn[AB_SPOT]==1));
         /*
         LineForce[X_AXIS] = (LINE_RF*2)*((-1)*(LineReturn[A_SPOT]==1) + ( 1)*(LineReturn[B_SPOT]==1)) + 
                             (LINE_RF*2)*(LineReturn[AB_SPOT]==1)*(LineReturn[A_SPOT]==0)*(LineReturn[B_SPOT]==0)
-                            *(( 1)*(data_set.ping[L_PING]<30) + (-1)*(data_set.ping[R_PING]<30)) +
+                            *(( 1)*(data.ping[L_PING]<30) + (-1)*(data.ping[R_PING]<30)) +
                             (LINE_RF*2)*(LineReturn[C_SPOT]==1)*(LineReturn[A_SPOT]==0)*(LineReturn[B_SPOT]==0)
-                            *(( 1)*(data_set.ping[L_PING]<30) + (-1)*(data_set.ping[R_PING]<30));
+                            *(( 1)*(data.ping[L_PING]<30) + (-1)*(data.ping[R_PING]<30));
         LineForce[Y_AXIS] = (LINE_RF*2)*(( 1)*(LineReturn[C_SPOT]==1) + (-1)*(LineReturn[AB_SPOT]==1));
         */
         Line_timeout[A_SPOT].attach(&LineClear_A, LINE_DELAY);