gpsのテスト

Dependencies:   SDFileSystem mbed

Fork of 2bk0203_GPS_Logger01 by Takeuchi Kouichi

Revision:
1:23d22ebf52c0
Parent:
0:c7278239bae6
--- a/main.cpp	Sat Feb 19 12:01:04 2011 +0000
+++ b/main.cpp	Thu Feb 08 09:59:50 2018 +0000
@@ -1,28 +1,46 @@
 //GPS GT-720F Logger01
 #include "mbed.h"
-#include "TextLCD0420.h"
+
+#include "SDFileSystem.h"
+SDFileSystem sd(p5,p6,p7,p8,"sd");
+FILE* fp;
+
 
 #define ON 1
 #define OFF 0
 
 DigitalOut mled0(LED1);
 DigitalOut mled1(LED2);
-DigitalIn sw1(p5);
+DigitalIn sw1(p15);
+
+Serial pc(USBTX, USBRX); // tx, rx 
 
-TextLCD lcd(p24, p25, p26, p27, p28, p29, p30,20,4); // rs, rw, e, d0, d1, d2, d3
+
+
+
+
 Serial gps(p9,p10);
-LocalFileSystem local("local");
+//LocalFileSystem local("local");
 Ticker flipper;
-FILE *fp;
+
 float g_hokui,g_tokei;
 int fp_count=0;
 
+int h_time=0,m_time=0,s_time=0;
+
 void gps_rec() {
   mled0=ON;
-  fprintf(fp,"%4.6f,%3.6f,\n",g_tokei,g_hokui);
-  wait(1.0);
+ if(fp == NULL) {
+       error("Could not open file for write\n");
+    }
+
+  fprintf(fp,"%4.6f,%3.6f\r\n",g_tokei,g_hokui);
+ 
+  
   mled0=OFF;
   fp_count++;
+  
+
 }
 
 int main() {
@@ -38,30 +56,32 @@
       int rec_flag=0;
       
       gps.baud(9600);
-      lcd.cls();
-      lcd.printf("*** GPS GT-720F ****\n");    
-      lcd.locate(0,1);
-      lcd.printf("File open...\n");
-      wait(1.0);
-      fp=fopen("/local/GPS.txt","a");
-      if(!fp || sw1==0){
-        lcd.cls();
-        lcd.printf("Can't Loging ... \n");
-        lcd.printf("System close...\n");
-        lcd.printf(">\n");
-        exit(1);
-      }
-      lcd.printf("System start...\n");
-      lcd.printf("Loging ready ok...\n");
-      fprintf(fp,"\n");
-      wait(1.0);
+fp = fopen("/sd/test.csv", "w");
+    //  wait(1.0);
+ 
+
+ 
+ flipper.attach(&gps_rec, 1.0);
+ 
+    
+ //   fp = fopen("/sd/test.csv", "w");
+     // fp=fopen("/local/GPS.csv","w");
+   //   fp=fopen("/local/GPS.csv","w");
+ //fclose(fp);
+ //free(fp);
+
+     // fprintf(fp,"\n");
+      //wait(1.0);
       
     while (1) {
-      if(sw1==0){
+      /*
+      pc.putc(gps.getc());
+      */
+      
+      if(sw1!=1){
+        
         fclose(fp);
-        lcd.cls();
-        lcd.printf("System close...\n");
-        lcd.printf(">\n");
+       
         exit(1);    
       }
       
@@ -69,10 +89,11 @@
       while(gps.getc()!='$'){
       }
       
+      
       while( (gps_data[i]=gps.getc()) != '\r'){
         i++;
         if(i==256){
-           lcd.printf("*** Data read  Error! ***\n");
+           
            i=255;
            break;
          }
@@ -109,40 +130,24 @@
           
          // Record start
           if(rec_flag==0){
-           flipper.attach(&gps_rec, 10.0);
+            
+         //  flipper.attach(&gps_rec, 1.0);
+           
            rec_flag=1;
-           fprintf(fp,"JST %2d:%2d:%2d\n",h_time,m_time,s_time);
-           lcd.cls();
-           mled0=ON;
-           lcd.printf("Loging start....");
-           wait(5.0);
+         //  fp=fopen("/local/GPS.csv","w");
+          //  fprintf(fp,"%2d,%2d,%2d,%6.6f,%5.6f\r\n",h_time,m_time,s_time,g_tokei,g_hokui);
+          //fclose(fp);
+           //free(fp);
+        
            mled0=ON;
           }  
-
-          lcd.cls();
-          lcd.locate(0,0);
-          lcd.printf("*GPS JST %2d:%2d:%2d",h_time,m_time,s_time);  
-          lcd.locate(0,1);
-          lcd.printf("Lk(%d),St(%d),%d",rlock,stn,fp_count);  
-         //Latitude=Hokui
-          lcd.locate(0,2);
-          lcd.printf("Lat/d:%4.6f",g_hokui);
-         // Logitude=tokei 
-          lcd.locate(0,3);
-          lcd.printf("Log/d:%4.6f",g_tokei);
-        }
+          
         else{
-          flipper.detach(); 
+          //fp=fopen("/local/GPS.csv","w");
+        //  flipper.detach(); 
           rec_flag=0;
-          lcd.cls();
-          lcd.locate(0,0);
-          lcd.printf("*** GPS GT-720F ***");
-          lcd.locate(0,1);
-          lcd.printf("Lk(%d),St(%d)",rlock,stn);
-          lcd.locate(0,2);
-          for(i=0;i<40;i++){
-            lcd.printf("%c",gps_data[i]);
-          }
+         
+        }//else
         }
       }//if
     }//while