今までのメインプログラムとGPSのプログラムを統合した。

Dependencies:   HMC5883L SDFileSystem TextOLED mbed

Fork of GPS_Test05 by basyo matsuo

Revision:
4:39845036d492
Parent:
2:9f8fa9035357
--- a/main.cpp	Thu Feb 15 05:05:28 2018 +0000
+++ b/main.cpp	Thu Feb 15 05:47:19 2018 +0000
@@ -67,6 +67,16 @@
 unsigned char Log_flag = OFF;
 unsigned char SD_flag = OFF;
       
+      char c;
+      int i3,rlock,stn;
+      char gps_data[256];
+      char ns,ew;
+      float time3,hokui,tokei;
+      float g_hokui,g_tokei;
+      float d_hokui,m_hokui,d_tokei,m_tokei;
+ 
+      int h_time=0,m_time=0,s_time=0;
+      
       
 
 //プロトタイプ宣言
@@ -102,15 +112,7 @@
 
 int main() {
 
-      char c;
-      int i3,rlock,stn;
-      char gps_data[256];
-      char ns,ew;
-      float time,hokui,tokei;
-      float g_hokui,g_tokei;
-      float d_hokui,m_hokui,d_tokei,m_tokei;
- 
-      int h_time=0,m_time=0,s_time=0;
+      
       
  //mkdir("/sd/gps_data", 0777);//まずsdのフォルダをつくる。
  
@@ -190,13 +192,13 @@
        hokui=3532.25024; //=>35.537502
        tokei=13751.86820;//=>137.864471
       */  
-      if( sscanf(gps_data, "GPGGA,%f,%f,%c,%f,%c,%d,%d",&time,&hokui,&ns,&tokei,&ew,&rlock,&stn) >= 1){
+      if( sscanf(gps_data, "GPGGA,%f,%f,%c,%f,%c,%d,%d",&time3,&hokui,&ns,&tokei,&ew,&rlock,&stn) >= 1){
         if(rlock >= 1){
           
           //time set
-          h_time=int(time/10000);
-          m_time=int((time-h_time*10000)/100);
-          s_time=int(time-h_time*10000-m_time*100);
+          h_time=int(time3/10000);
+          m_time=int((time3-h_time*10000)/100);
+          s_time=int(time3-h_time*10000-m_time*100);
           h_time=h_time+9;//UTC =>JST
           
           //hokui
@@ -212,15 +214,7 @@
         
           
           //==================================================//
-         
          pc.printf("%2d,%2d,%2d,%4.6f,,%3.6f,\r\n",h_time,m_time,s_time,g_tokei,g_hokui);
-         
-     //    fp = fopen("/sd/gps_data/log.txt", "a");
-    
-        //  fprintf(fp,"%2d,%2d,%2d,%4.6f,,%3.6f,\r\n",h_time,m_time,s_time,g_tokei,g_hokui);
-       // fprintf(fp,"%4.6f,%3.6f,\r\n",g_tokei,g_hokui);
-       //   fclose(fp);
-          
           //==================================================//
           
           
@@ -248,18 +242,25 @@
           
         fp = fopen("/sd/mydir/TP.txt", "a");
         
+        
         if (NULL == fp) {
             pilot_oled.locate(0, 0);
             pilot_oled.printf("There is no SD!!");
             pc.printf("There is no SD!!\n");
             error("Could not open file for write \n");
         } else {
-            fprintf(fp, "NO:%d,%02d:%02d,%1.0f,%0.3f,%0.3f,%0.3f,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",
+            fprintf(fp, "NO:%d,%02d:%02d,%1.0f,%0.3f,%0.3f,%0.3f,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\r\n",
                          SD_count, min, sec, rpm, speed, height,compass,up2,up1,E_neut,down1,down2,left2,left1,R_neut,right1,right2);
-                   //      fprintf(fp,"%4.6f,;%3.6f,;\r\n",g_tokei,g_hokui);
+                       
+                      //  fprintf(fp,";%3.6f;,%3.6f,;\r\n",g_tokei,g_hokui);
             fclose(fp);     
                                                                                                                 //操舵データ
         }
+           fp = fopen("/sd/log.txt", "a");
+    
+        //  fprintf(fp,"%2d,%2d,%2d,%4.6f,,%3.6f,\r\n",h_time,m_time,s_time,g_tokei,g_hokui);
+        fprintf(fp,"%4.6f,%3.6f,\r\n",g_tokei,g_hokui);
+          fclose(fp);
     }
     led2 = 0;
     //   __enable_irq();