skipper_raspi_uart_test

Dependencies:   mbed MPU6050_2 HMC5883L_4 SDFileSystem3

Revision:
19:949bab1e9451
Parent:
18:4566d1f5fc60
Child:
20:011977a37394
--- a/main.cpp	Fri Feb 15 05:13:20 2019 +0000
+++ b/main.cpp	Fri Feb 15 11:28:50 2019 +0000
@@ -22,9 +22,11 @@
 #define pint_speed              25
 #define pint_wait               3.5
 #define turntable_speed         1800 
+#define calib_x                 110
+#define calib_y                 300
 
 #define MOVE_NEUTRAL    0
-#define MOVE_FORWARD    1   
+#define MOVE_FORWARD    1    
 #define MOVE_LEFT       2
 #define MOVE_RIGHT      3
 #define MOVE_BACK       4
@@ -59,7 +61,8 @@
             int *Turntable_NEUTRAL,int *Matchspeed,int *Focus_NEUTRAL,
             int *Camera_deg_A, int *Camera_deg_B,
             int *Pint_speed, float *Pint_wait,
-            int *Turntable_speed
+            int *Turntable_speed,
+            int *Calib_x, int *Calib_y
             );
 
 static float nowAngle[3] = {0,0,0},nowAngle_HMC=0;
@@ -116,6 +119,16 @@
     
     //MPU_check
     setup();
+    //コンパスチェック用
+    /*while(1){
+        SensingMPU();
+        SensingHMC();
+        pc.printf("%3.2f\t",nowAngle[2]);
+        pc.printf("%3.2f\t",nowAngle_HMC); //HMC
+        pc.printf("\r\n");
+        wait_ms(30);
+    }*/
+        
     
     servoCameradeg.pulsewidth_us(Camera_deg_A);
     
@@ -427,7 +440,8 @@
                &Turntable_NEUTRAL,&Matchspeed,&Focus_NEUTRAL,
                &Camera_deg_A, &Camera_deg_B,
                &Pint_speed,&Pint_wait,
-               &Turntable_speed
+               &Turntable_speed,
+               &Calib_x, &Calib_y
                );
      
     Init_sensors();
@@ -548,17 +562,17 @@
     static bool flg_checkoutlier = false;
     NVIC_DisableIRQ(USART1_IRQn);
     NVIC_DisableIRQ(USART2_IRQn);
-    NVIC_DisableIRQ(TIM5_IRQn);
-    NVIC_DisableIRQ(EXTI0_IRQn);
-    NVIC_DisableIRQ(EXTI9_5_IRQn);
+    //NVIC_DisableIRQ(TIM5_IRQn);
+    //NVIC_DisableIRQ(EXTI0_IRQn);
+    //NVIC_DisableIRQ(EXTI9_5_IRQn);
 
-    rpy= compass.getHeadingXYDeg(20,50);
+    rpy= compass.getHeadingXYDeg(Calib_x,Calib_y);
  
     NVIC_EnableIRQ(USART1_IRQn);
     NVIC_EnableIRQ(USART2_IRQn);
-    NVIC_EnableIRQ(TIM5_IRQn);
-    NVIC_EnableIRQ(EXTI0_IRQn);
-    NVIC_EnableIRQ(EXTI9_5_IRQn);
+    //NVIC_EnableIRQ(TIM5_IRQn);
+    //NVIC_EnableIRQ(EXTI0_IRQn);
+    //NVIC_EnableIRQ(EXTI9_5_IRQn);
     
     
     //外れ値対策
@@ -591,7 +605,8 @@
                int *Turntable_NEUTRAL,int *Matchspeed,int *Focus_NEUTRAL,
                int *Camera_deg_A, int *Camera_deg_B,
                int *Pint_speed, float *Pint_wait,
-               int *Turntable_speed
+               int *Turntable_speed,
+               int *Calib_x, int *Calib_y
                ){
 
     pc.printf("SDsetup start.\r\n");    
@@ -613,7 +628,9 @@
         "CAMERA_DEG_B",
         "PINT_SPEED",
         "PINT_WAIT",
-        "TURNTABLE_SPEED"
+        "TURNTABLE_SPEED",
+        "CALIB_X",
+        "CALIB_Y"
     };
 
     fp = fopen("/sd/option.txt","r");
@@ -657,26 +674,34 @@
         else{                                         *Focus_NEUTRAL = focus_NEUTRAL;
                                                       SDerrorcount++;
         }
-         if(GetParameter(fp,paramNames[9],parameter)) *Camera_deg_A = atof(parameter);
+        if(GetParameter(fp,paramNames[9],parameter)) *Camera_deg_A = atof(parameter);
         else{                                         *Camera_deg_A = camera_deg_A;
                                                       SDerrorcount++;
         }
-         if(GetParameter(fp,paramNames[10],parameter)) *Camera_deg_B = atof(parameter);
+        if(GetParameter(fp,paramNames[10],parameter)) *Camera_deg_B = atof(parameter);
         else{                                         *Camera_deg_B = camera_deg_B;
                                                       SDerrorcount++;
         }
-         if(GetParameter(fp,paramNames[11],parameter)) *Pint_speed = atof(parameter);
+        if(GetParameter(fp,paramNames[11],parameter)) *Pint_speed = atof(parameter);
         else{                                         *Pint_speed = pint_speed;
                                                       SDerrorcount++;
         }
-         if(GetParameter(fp,paramNames[12],parameter)) *Pint_wait = atof(parameter);
-        else{                                         *Pint_wait = pint_wait;
+        if(GetParameter(fp,paramNames[12],parameter)) *Turntable_speed = atof(parameter);
+        else{                                         *Turntable_speed = turntable_speed;
                                                       SDerrorcount++;
         }
-         if(GetParameter(fp,paramNames[13],parameter)) *Turntable_speed = atof(parameter);
+        if(GetParameter(fp,paramNames[13],parameter)) *Turntable_speed = atof(parameter);
         else{                                         *Turntable_speed = turntable_speed;
                                                       SDerrorcount++;
         }
+        if(GetParameter(fp,paramNames[14],parameter)) *Calib_x = atof(parameter);
+        else{                                         *Calib_x = calib_x;
+                                                      SDerrorcount++;
+        }
+        if(GetParameter(fp,paramNames[15],parameter)) *Calib_y = atof(parameter);
+        else{                                         *Calib_y = calib_y;
+                                                      SDerrorcount++;
+        }
         fclose(fp);
 
     }else{  //ファイルがなかったら
@@ -696,6 +721,8 @@
         *Pint_speed = pint_speed;
         *Pint_wait = pint_wait;
         *Turntable_speed = turntable_speed;
+        *Calib_x = calib_x;
+        *Calib_y = calib_y;
         SDerrorcount = -1;
     }
     pc.printf("SDsetup finished.\r\n");
@@ -711,10 +738,10 @@
     pc.printf("Camera_deg_A = %d, Camera_deg_B =  %d\r\n", *Camera_deg_A, *Camera_deg_B);
     pc.printf("Pint_speed = %d, Pint_wait =  %f\r\n", *Pint_speed, *Pint_wait);
     pc.printf("Turntable_speed = %d\r\n",*Turntable_speed);
+    pc.printf("Calib_x = %d, Calib_y =  %d\r\n", *Calib_x, *Calib_y);
     
     return SDerrorcount;
 }            
-
 int GetParameter(FILE *fp, const char *paramName,char parameter[]){
     int i=0, j=0;
     int strmax = 200;