PLANET-Q AE-GPS Library

Dependents:   IZU2020_AVIONICS IZU2020_AVIONICS

Committer:
TsurunoYuma
Date:
Wed Dec 18 14:42:45 2019 +0000
Revision:
4:340220a33272
Parent:
3:fe83d68d19c6
comment_corrected_02

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tanahashi 0:55b72d6ab099 1 #ifndef PQAEGPS_H
tanahashi 0:55b72d6ab099 2 #define PQAEGPS_H
tanahashi 0:55b72d6ab099 3
tanahashi 1:a1a0ccb98643 4 /**
tanahashi 1:a1a0ccb98643 5 * AE-GPSのライブラリ
tanahashi 1:a1a0ccb98643 6 * @note 内部でシリアル受信割り込みを使用しています
tanahashi 1:a1a0ccb98643 7 * @note GPGGAフォーマットのみを出力するように設定し、バックアップ用電池を使用すること
tanahashi 1:a1a0ccb98643 8 * @code
tanahashi 1:a1a0ccb98643 9 #include "mbed.h"
tanahashi 1:a1a0ccb98643 10 #include "PQAEGPS.h"
tanahashi 1:a1a0ccb98643 11
tanahashi 1:a1a0ccb98643 12 Serial pc(USBTX, USBRX, 115200);
tanahashi 1:a1a0ccb98643 13 Serial gps_serial(p9, p10, 115200);
tanahashi 1:a1a0ccb98643 14
tanahashi 1:a1a0ccb98643 15 AEGPS gps(gps_serial);
tanahashi 1:a1a0ccb98643 16
tanahashi 1:a1a0ccb98643 17 int main()
tanahashi 1:a1a0ccb98643 18 {
tanahashi 1:a1a0ccb98643 19 while(1) {
TsurunoYuma 4:340220a33272 20 pc.printf("lat:%.6f, lon:%.6f, time:%d:%d:%.1f, fix:%d, sat:%d, hdop:%.2f, alt:%.1f, geoid:%.1f\r\n", gps.get_lat(), gps.get_lon(), gps.get_hour(), gps.get_min(), gps.get_sec(), gps.get_fix(), gps.get_sat(), gps.get_sat(), gps.get_hdop(), gps.get_alt(), gps.get_geoid());
tanahashi 1:a1a0ccb98643 21 }
tanahashi 1:a1a0ccb98643 22 }
tanahashi 1:a1a0ccb98643 23 * @endcode
tanahashi 1:a1a0ccb98643 24 */
tanahashi 2:c469139053eb 25 class AEGPS
tanahashi 2:c469139053eb 26 {
tanahashi 0:55b72d6ab099 27 private:
tanahashi 0:55b72d6ab099 28 Serial *_serial;
tanahashi 0:55b72d6ab099 29 char rx_buf[256];
tanahashi 0:55b72d6ab099 30 int index;
tanahashi 0:55b72d6ab099 31 int flag;
tanahashi 0:55b72d6ab099 32 int hour;
tanahashi 0:55b72d6ab099 33 int min;
tanahashi 0:55b72d6ab099 34 float sec;
tanahashi 0:55b72d6ab099 35 float lat;
tanahashi 0:55b72d6ab099 36 char ns;
tanahashi 0:55b72d6ab099 37 float lon;
tanahashi 0:55b72d6ab099 38 char ew;
tanahashi 0:55b72d6ab099 39 int fix;
tanahashi 0:55b72d6ab099 40 int sat;
tanahashi 0:55b72d6ab099 41 float hdop;
tanahashi 0:55b72d6ab099 42 float alt;
tanahashi 0:55b72d6ab099 43 float geoid;
tanahashi 2:c469139053eb 44
tanahashi 0:55b72d6ab099 45 public:
tanahashi 1:a1a0ccb98643 46 /**
tanahashi 1:a1a0ccb98643 47 * @param &gps_serial Serialのインスタンスへの参照
tanahashi 1:a1a0ccb98643 48 */
tanahashi 1:a1a0ccb98643 49 AEGPS(Serial &gps_serial);
tanahashi 2:c469139053eb 50
tanahashi 0:55b72d6ab099 51 private:
tanahashi 0:55b72d6ab099 52 void receive();
tanahashi 0:55b72d6ab099 53
tanahashi 0:55b72d6ab099 54 public:
tanahashi 1:a1a0ccb98643 55 /**
tanahashi 1:a1a0ccb98643 56 * 協定世界時(UTC)の時間のゲッター
tanahashi 1:a1a0ccb98643 57 * @return 時間(UTC)
tanahashi 1:a1a0ccb98643 58 */
tanahashi 0:55b72d6ab099 59 int get_hour();
tanahashi 2:c469139053eb 60
tanahashi 1:a1a0ccb98643 61 /**
tanahashi 1:a1a0ccb98643 62 * 協定世界時(UTC)の分のゲッター
tanahashi 1:a1a0ccb98643 63 * @return 分(UTC)
tanahashi 1:a1a0ccb98643 64 */
tanahashi 0:55b72d6ab099 65 int get_min();
tanahashi 2:c469139053eb 66
tanahashi 1:a1a0ccb98643 67 /**
tanahashi 1:a1a0ccb98643 68 * 協定世界時(UTC)の秒のゲッター
tanahashi 1:a1a0ccb98643 69 * @return 秒(UTC)
tanahashi 1:a1a0ccb98643 70 */
tanahashi 0:55b72d6ab099 71 float get_sec();
tanahashi 2:c469139053eb 72
tanahashi 1:a1a0ccb98643 73 /**
tanahashi 1:a1a0ccb98643 74 * 緯度のゲッター
tanahashi 1:a1a0ccb98643 75 * @return 緯度
tanahashi 1:a1a0ccb98643 76 */
tanahashi 0:55b72d6ab099 77 float get_lat();
tanahashi 2:c469139053eb 78
tanahashi 1:a1a0ccb98643 79 /**
tanahashi 1:a1a0ccb98643 80 * 経度のゲッター
tanahashi 1:a1a0ccb98643 81 * @return 経度
tanahashi 1:a1a0ccb98643 82 */
tanahashi 0:55b72d6ab099 83 float get_lon();
tanahashi 2:c469139053eb 84
tanahashi 1:a1a0ccb98643 85 /**
tanahashi 1:a1a0ccb98643 86 * 位置特定品質のゲッター
tanahashi 1:a1a0ccb98643 87 * @return 位置特定品質
tanahashi 1:a1a0ccb98643 88 */
tanahashi 0:55b72d6ab099 89 int get_fix();
tanahashi 2:c469139053eb 90
tanahashi 1:a1a0ccb98643 91 /**
tanahashi 1:a1a0ccb98643 92 * 使用衛星数のゲッター
tanahashi 1:a1a0ccb98643 93 * @return 使用衛星数
tanahashi 1:a1a0ccb98643 94 */
tanahashi 0:55b72d6ab099 95 int get_sat();
tanahashi 2:c469139053eb 96
tanahashi 1:a1a0ccb98643 97 /**
tanahashi 1:a1a0ccb98643 98 * 水平精度低下率のゲッター
tanahashi 1:a1a0ccb98643 99 * @return 水平精度低下率
tanahashi 1:a1a0ccb98643 100 */
tanahashi 0:55b72d6ab099 101 float get_hdop();
tanahashi 2:c469139053eb 102
tanahashi 1:a1a0ccb98643 103 /**
tanahashi 1:a1a0ccb98643 104 * 海抜高さのゲッター
tanahashi 1:a1a0ccb98643 105 * @return 海抜高さ
tanahashi 1:a1a0ccb98643 106 */
tanahashi 0:55b72d6ab099 107 float get_alt();
tanahashi 2:c469139053eb 108
tanahashi 1:a1a0ccb98643 109 /**
tanahashi 1:a1a0ccb98643 110 * ジオイド高さのゲッター
tanahashi 1:a1a0ccb98643 111 * @return ジオイド高さ
tanahashi 1:a1a0ccb98643 112 */
tanahashi 0:55b72d6ab099 113 float get_geoid();
tanahashi 0:55b72d6ab099 114 };
tanahashi 0:55b72d6ab099 115
tanahashi 0:55b72d6ab099 116 #endif