![](/media/cache/profiles/DSC_0001.jpg.50x50_q85.jpg)
5Hz GNSS logger GNSS logging program with ublox neo7M. This utilizes ticker and timer.
Dependencies: mbed MG354PDH0 SDFileSystem
Diff: main.cpp
- Revision:
- 2:940851e53dde
- Parent:
- 1:8757d12d193b
- Child:
- 3:32843000531e
--- a/main.cpp Wed Apr 28 06:59:04 2021 +0000 +++ b/main.cpp Fri Jan 14 11:06:11 2022 +0000 @@ -10,8 +10,8 @@ //Port Setting Serial pc(USBTX, USBRX); // tx, rx SPI spi(p11, p12, p13); // mosi, miso, sclk -DigitalOut CS(p15); // NEO-7MのCSピン -DigitalIn log_switch(p16); // +DigitalOut CS(p14); // NEO-7MのCSピン +DigitalIn log_switch(p15); // //SDFileSystem sd(PA_7, PA_6, PA_5, PA_4, "sd"); SDFileSystem sd(p5, p6, p7, p8, "sd"); // mosi, miso, sclk, cs @@ -280,14 +280,13 @@ /*processGPSの処理時間の表示*/ //pc.printf("processed_time_after(us)=%d;",(processed_time_after)); - //pc.printf("processed_time(us)=%d\r\n",(processed_time)); + pc.printf("processed_time(us)=%d\r\n",(processed_time)); //pc.printf("%d,%d\r\n",processed_time_after,processed_time); } -void imu_mesurement() -{ - +void imu_mesurement(){ + if(log_switch==1){ logging_status=1; }else if(log_switch==0){ @@ -315,7 +314,7 @@ //位置と速度情報を読み取った場合 if((flag_posllh==1)&&(flag_velned==1)){ /*Teratermでロギングする用の表示*/ - //pc.printf("%f,%f,%f,%f,%f,%f\r\n",latitude,longitude,height_float,velN_float,velE_float,velD_float); + pc.printf("%f,%f,%f,%f,%f,%f\r\n",latitude,longitude,height_float,velN_float,velE_float,velD_float); /*計測ではなくデバッグ用の表示*/ //pc.printf("latitude=%f,longitude=%f,height=%f\r\n",latitude,longitude,height_float); //pc.printf("velN=%f,velE=%f,velD=%f\r\n",velN_float,velE_float,velD_float); @@ -343,7 +342,7 @@ //UART initialization pc.baud(460800); //115.2 kbps - spi.frequency(5500000); + spi.frequency(1000000); mkdir("/sd/mydir",0777);//SDファイル作成 fp = fopen("/sd/mydir/gps.txt", "a");//最初のSDopen時間かかるのでwhile外で行う @@ -381,6 +380,7 @@ pc.printf("FC\r\n"); timer2.detach(); timer1.detach(); + break; }else if(logging_status==1){} timer2.attach(&ublox_logging, gnss_interval);