![](/media/cache/profiles/DSC_0001.jpg.50x50_q85.jpg)
gpsのテスト
Dependencies: SDFileSystem mbed
Fork of 2bk0203_GPS_Logger01 by
Diff: main.cpp
- 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