ublox社製GPSモジュール NEO-7Mから、SPI経由でGPSデータをUBXプロトコルで読み出すライブラリです SPI経由ではGPSの出力設定が出来ないので、予めUART接続でPCから出力データを変更する必要があります。ここら辺の詳細については https://ameblo.jp/tsukuba-step/entry-12282936077.html を参考にして下さい。 出力設定は、 NAV-POSLLH,NAV-TIMEUTC,NAV-VELNED のみを出力して下さい

Dependents:   SensorManager

Files at this revision

API Documentation at this revision

Comitter:
kim1212
Date:
Tue Feb 13 04:52:01 2018 +0000
Parent:
1:2457089ca195
Commit message:
???

Changed in this revision

obsvdStruct.h Show annotated file Show diff for this revision Revisions of this file
ubloxUBX.h Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/obsvdStruct.h	Tue Feb 13 04:52:01 2018 +0000
@@ -0,0 +1,53 @@
+#ifndef OBSVDSTRUCT
+#define OBSVDSTRUCT
+
+//全ての観測データを収納する型
+typedef struct obsvdData{
+    
+    int Tim;
+    
+    int Lon;
+    int Lat;
+    int GHeight; //GPS高度
+    
+    int VelN;
+    int VelE;
+    int VelD;
+    
+    int Acc[3];
+    int Gyr[3];
+    int Mag[3];
+    
+    int PHeight; //気圧
+    
+    
+}obsvdData;
+
+typedef struct timData{
+    int Year;
+    int Month;
+    int Day;
+    int Hour;
+    int Min;
+    int Sec;
+}tim;
+
+typedef enum state{
+    WAIT,
+    MANUAL,
+    AUTO,
+    READ,
+    STREAM,
+    CONFIG    
+}state;
+
+//ログの状態を表す
+typedef enum logstate{
+    STOP,
+    STBY,
+    RUNTIME,
+    FIN
+}logstate;
+
+
+#endif
\ No newline at end of file
--- a/ubloxUBX.h	Tue Feb 13 04:25:54 2018 +0000
+++ b/ubloxUBX.h	Tue Feb 13 04:52:01 2018 +0000
@@ -8,6 +8,38 @@
 #define POSLLH_LEN 28
 #define VELNED_LEN 36
 
+/*
+
+//sample program
+
+#include "mbed.h"
+#include "ubloxUBX.h"
+
+GPS gps(PB_5,PB_4,PB_3,PB_6);
+Serial pc(USBTX,USBRX);
+
+
+
+obsvdData obsvd;
+tim gt;
+
+
+int main() {
+
+    while(1) {
+        while(gps.updateData()); //upload from ublox module
+        gps.chkData(&obsvd);          //position and velocity data update
+        gps.chkTime(&gt);             //time data update
+        
+        pc.printf("%d,%d,%d,%d\r\n",obsvd.Lon,obsvd.Lat,gt.Year,gt.Month);
+        wait(0.1);
+    }
+}
+
+
+
+*/
+
 typedef union{
     unsigned char Raw[TIMEUTC_LEN];
     struct{