Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Revision 0:d2b63af6bf3b, committed 2020-05-16
- Comitter:
- sasakisho
- Date:
- Sat May 16 05:44:18 2020 +0000
- Commit message:
- GMS-CR6 Version0
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
| mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Sat May 16 05:44:18 2020 +0000
@@ -0,0 +1,75 @@
+/* GMS6-CR6の流すデータからフォーマットGPGGAのみを取得して,PCに出力 */
+
+#include "mbed.h"
+#include "math.h"
+
+#define TIME_GAP 6.0
+
+Serial gps (p9, p10); //GPSのピンを設定
+Serial pc (USBTX, USBRX);
+
+/* mbedにあるなにかの関数らしい */
+Timer timer_open;
+Timer timer_log;
+Ticker tic_open;
+Ticker tic_log;
+
+/* プロタイプ宣言 */
+float _DMS2DEG(float raw_data);
+int _input(char cha);
+
+/* グローバル変数の設定 */
+float Time;
+char gps_data[256];
+int cnt_gps;
+int Cnt_GPS = 0;
+
+int main()
+{
+ while(1)
+ {
+ if(gps.readable())
+ {
+ gps_data[cnt_gps] = gps.getc();
+
+ if(gps_data[cnt_gps] == '$' || cnt_gps == 256)
+ {
+ cnt_gps = 0;
+ memset(gps_data, '\0', 256); //この関数なんや
+ }
+ else if(gps_data[cnt_gps] == '\r')
+ {
+ float world_time, lon_east, lat_north;
+ int rlock, sat_num;
+ char lat, lon;
+
+ if(sscanf(gps_data, "GPGGA,%f,%f,%c,%f,%c,%d,%d", &world_time, &lat_north, &lat, &lon_east, &lon, &rlock, &sat_num) >= 1)
+ {
+ if (rlock == 1)
+ {
+ lat_north = _DMS2DEG(lat_north);
+ lon_east = _DMS2DEG(lon_east);
+ printf("%s \r\n", gps_data);
+ printf("Lat:%f, Lon:%f \r\n time:%f,sat_num:%d\r\n", lat_north, lon_east, sat_num);
+ }
+ else
+ {
+ printf("%s \r\n", gps_data);
+ }
+ }
+ }
+ else
+ {
+ cnt_gps++;
+ }
+ }
+ if(timer_log.read() >= 30.0*60.0) timer_log.reset();
+ }
+}
+
+float _DMS2DEG(float raw_data)
+{
+ int d = (int)(raw_data/100);
+ float m = (raw_data - (float)d * 100);
+ return (float) d + m /60;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Sat May 16 05:44:18 2020 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400 \ No newline at end of file