Receive GPS by interrupt processing
Dependents: Sample_GPS_INT_lib GPS-SD
GPS_INT.h@0:4b6c377342d9, 2018-07-08 (annotated)
- Committer:
- j_rocket_boy
- Date:
- Sun Jul 08 02:30:46 2018 +0000
- Revision:
- 0:4b6c377342d9
- Child:
- 1:fbe835e114bb
??
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
j_rocket_boy | 0:4b6c377342d9 | 1 | /* |
j_rocket_boy | 0:4b6c377342d9 | 2 | Copyright (c) 2018 @j_rocket_boy(Twitter) |
j_rocket_boy | 0:4b6c377342d9 | 3 | |
j_rocket_boy | 0:4b6c377342d9 | 4 | UART接続のGPSを割り込み処理で受信するライブラリ |
j_rocket_boy | 0:4b6c377342d9 | 5 | このライブラリはMITライセンスです. |
j_rocket_boy | 0:4b6c377342d9 | 6 | |
j_rocket_boy | 0:4b6c377342d9 | 7 | Receive GPS of UART connection by interrupt processing |
j_rocket_boy | 0:4b6c377342d9 | 8 | This library is released under the MIT License. |
j_rocket_boy | 0:4b6c377342d9 | 9 | |
j_rocket_boy | 0:4b6c377342d9 | 10 | About MIT license |
j_rocket_boy | 0:4b6c377342d9 | 11 | https://opensource.org/licenses/mit-license.php |
j_rocket_boy | 0:4b6c377342d9 | 12 | */ |
j_rocket_boy | 0:4b6c377342d9 | 13 | |
j_rocket_boy | 0:4b6c377342d9 | 14 | #ifndef INCLUDED_GPS_INT_h_ |
j_rocket_boy | 0:4b6c377342d9 | 15 | #define INCLUDED_GPS_INT_h_ |
j_rocket_boy | 0:4b6c377342d9 | 16 | #include "mbed.h" |
j_rocket_boy | 0:4b6c377342d9 | 17 | |
j_rocket_boy | 0:4b6c377342d9 | 18 | class GPS_INT{ |
j_rocket_boy | 0:4b6c377342d9 | 19 | |
j_rocket_boy | 0:4b6c377342d9 | 20 | public: |
j_rocket_boy | 0:4b6c377342d9 | 21 | |
j_rocket_boy | 0:4b6c377342d9 | 22 | //コンストラクタ |
j_rocket_boy | 0:4b6c377342d9 | 23 | GPS_INT(PinName tx, PinName rx, int baud = 9600); |
j_rocket_boy | 0:4b6c377342d9 | 24 | //デストラクタ |
j_rocket_boy | 0:4b6c377342d9 | 25 | virtual ~GPS_INT(); |
j_rocket_boy | 0:4b6c377342d9 | 26 | |
j_rocket_boy | 0:4b6c377342d9 | 27 | bool location_is_update(void); //位置情報が更新されたか(緯度,経度,DOP) |
j_rocket_boy | 0:4b6c377342d9 | 28 | bool info_is_update(void); //それ以外の情報が更新されたか |
j_rocket_boy | 0:4b6c377342d9 | 29 | bool is_lock(void); //GPSがロックしたか |
j_rocket_boy | 0:4b6c377342d9 | 30 | |
j_rocket_boy | 0:4b6c377342d9 | 31 | //受信する情報 |
j_rocket_boy | 0:4b6c377342d9 | 32 | struct tm t; //時刻UTC |
j_rocket_boy | 0:4b6c377342d9 | 33 | time_t seconds; //時刻(UTC1900年1月1日からの経過時間) |
j_rocket_boy | 0:4b6c377342d9 | 34 | double lon; //緯度, 度(北緯が正) |
j_rocket_boy | 0:4b6c377342d9 | 35 | double lat; //経度, 度(東経が正) |
j_rocket_boy | 0:4b6c377342d9 | 36 | volatile int lock; //位置特定品質(0:位置特定できない, 1:SPS(標準測位サービス), 2:differencial GPS) |
j_rocket_boy | 0:4b6c377342d9 | 37 | int n_sat; //使用衛星数 |
j_rocket_boy | 0:4b6c377342d9 | 38 | float HDOP; //水平精度低下率 |
j_rocket_boy | 0:4b6c377342d9 | 39 | float VDOP; //垂直精度低下率 |
j_rocket_boy | 0:4b6c377342d9 | 40 | float PDOP; //位置精度低下率 |
j_rocket_boy | 0:4b6c377342d9 | 41 | float h_see; //アンテナ海抜高さ, m |
j_rocket_boy | 0:4b6c377342d9 | 42 | float h_geo; //ジオイド高さ, m |
j_rocket_boy | 0:4b6c377342d9 | 43 | |
j_rocket_boy | 0:4b6c377342d9 | 44 | private: |
j_rocket_boy | 0:4b6c377342d9 | 45 | Serial gps; |
j_rocket_boy | 0:4b6c377342d9 | 46 | bool location_update; |
j_rocket_boy | 0:4b6c377342d9 | 47 | bool info_update; |
j_rocket_boy | 0:4b6c377342d9 | 48 | int date_raw; //UTC 日付生データ |
j_rocket_boy | 0:4b6c377342d9 | 49 | float time_raw; //UTC 時刻生データ |
j_rocket_boy | 0:4b6c377342d9 | 50 | |
j_rocket_boy | 0:4b6c377342d9 | 51 | double lon_raw; //緯度生データ |
j_rocket_boy | 0:4b6c377342d9 | 52 | int lon_int; //緯度整数部 |
j_rocket_boy | 0:4b6c377342d9 | 53 | double lon_minute; //緯度分 |
j_rocket_boy | 0:4b6c377342d9 | 54 | char ns; //北緯or南緯 |
j_rocket_boy | 0:4b6c377342d9 | 55 | |
j_rocket_boy | 0:4b6c377342d9 | 56 | double lat_raw; //経度生データ |
j_rocket_boy | 0:4b6c377342d9 | 57 | int lat_int; //経度整数部 |
j_rocket_boy | 0:4b6c377342d9 | 58 | double lat_minute; //経度分 |
j_rocket_boy | 0:4b6c377342d9 | 59 | char ew; //東経or西経 |
j_rocket_boy | 0:4b6c377342d9 | 60 | |
j_rocket_boy | 0:4b6c377342d9 | 61 | void get_char(void); |
j_rocket_boy | 0:4b6c377342d9 | 62 | void gps_update(char* buffer); |
j_rocket_boy | 0:4b6c377342d9 | 63 | }; |
j_rocket_boy | 0:4b6c377342d9 | 64 | |
j_rocket_boy | 0:4b6c377342d9 | 65 | #endif |