2017年伊豆大島共同打ち上げ実験用電装モジュール搭載GPS測位プログラム
Dependents: Hybrid_interruptGPS Hybrid_main_FirstEdtion rocket_logger_sinkan2018_v1 HYBRYD2018_IZU_ROCKET ... more
GPS_interrupt.h@0:74d8e952a3bd, 2017-01-02 (annotated)
- Committer:
- Gaku0606
- Date:
- Mon Jan 02 00:40:46 2017 +0000
- Revision:
- 0:74d8e952a3bd
- Child:
- 1:57eeee14dd31
GPS_interrupt.lib ver1.0.3
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Gaku0606 | 0:74d8e952a3bd | 1 | /*============================================================================= |
Gaku0606 | 0:74d8e952a3bd | 2 | * GPS_interrupt.lib ver 1.0.3 |
Gaku0606 | 0:74d8e952a3bd | 3 | * |
Gaku0606 | 0:74d8e952a3bd | 4 | *=============================================================================*/ |
Gaku0606 | 0:74d8e952a3bd | 5 | #ifndef GPS_INTERRUPT_H_ |
Gaku0606 | 0:74d8e952a3bd | 6 | #define GPS_INTERRUPT_H_ |
Gaku0606 | 0:74d8e952a3bd | 7 | |
Gaku0606 | 0:74d8e952a3bd | 8 | #include "mbed.h" |
Gaku0606 | 0:74d8e952a3bd | 9 | |
Gaku0606 | 0:74d8e952a3bd | 10 | |
Gaku0606 | 0:74d8e952a3bd | 11 | class GPS_interrupt{ |
Gaku0606 | 0:74d8e952a3bd | 12 | |
Gaku0606 | 0:74d8e952a3bd | 13 | public: |
Gaku0606 | 0:74d8e952a3bd | 14 | GPS_interrupt(RawSerial *_gps, int baudrate = 9600); |
Gaku0606 | 0:74d8e952a3bd | 15 | static GPS_interrupt* gps_irq; |
Gaku0606 | 0:74d8e952a3bd | 16 | void initialize();//初期化関数 |
Gaku0606 | 0:74d8e952a3bd | 17 | void gps_auto_receive(); |
Gaku0606 | 0:74d8e952a3bd | 18 | bool processGPS(char *line); |
Gaku0606 | 0:74d8e952a3bd | 19 | |
Gaku0606 | 0:74d8e952a3bd | 20 | |
Gaku0606 | 0:74d8e952a3bd | 21 | public: |
Gaku0606 | 0:74d8e952a3bd | 22 | static double latitude; |
Gaku0606 | 0:74d8e952a3bd | 23 | static double longitude; |
Gaku0606 | 0:74d8e952a3bd | 24 | static int year; |
Gaku0606 | 0:74d8e952a3bd | 25 | static int month; |
Gaku0606 | 0:74d8e952a3bd | 26 | static int day; |
Gaku0606 | 0:74d8e952a3bd | 27 | static int hour; |
Gaku0606 | 0:74d8e952a3bd | 28 | static int minutes; |
Gaku0606 | 0:74d8e952a3bd | 29 | static double seconds; |
Gaku0606 | 0:74d8e952a3bd | 30 | static double knot; |
Gaku0606 | 0:74d8e952a3bd | 31 | static double degree; |
Gaku0606 | 0:74d8e952a3bd | 32 | static double height; |
Gaku0606 | 0:74d8e952a3bd | 33 | static double geoid; |
Gaku0606 | 0:74d8e952a3bd | 34 | static int number; |
Gaku0606 | 0:74d8e952a3bd | 35 | |
Gaku0606 | 0:74d8e952a3bd | 36 | static char gps_buffer_A[128]; |
Gaku0606 | 0:74d8e952a3bd | 37 | static char gps_buffer_B[128]; |
Gaku0606 | 0:74d8e952a3bd | 38 | static char *gps_read_buffer; |
Gaku0606 | 0:74d8e952a3bd | 39 | static bool gps_readable; |
Gaku0606 | 0:74d8e952a3bd | 40 | private: |
Gaku0606 | 0:74d8e952a3bd | 41 | RawSerial *gps; |
Gaku0606 | 0:74d8e952a3bd | 42 | public: |
Gaku0606 | 0:74d8e952a3bd | 43 | inline double Longitude(){ |
Gaku0606 | 0:74d8e952a3bd | 44 | return longitude; |
Gaku0606 | 0:74d8e952a3bd | 45 | } |
Gaku0606 | 0:74d8e952a3bd | 46 | inline double Latitude(){ |
Gaku0606 | 0:74d8e952a3bd | 47 | return latitude; |
Gaku0606 | 0:74d8e952a3bd | 48 | } |
Gaku0606 | 0:74d8e952a3bd | 49 | inline int Year(){ |
Gaku0606 | 0:74d8e952a3bd | 50 | return year; |
Gaku0606 | 0:74d8e952a3bd | 51 | } |
Gaku0606 | 0:74d8e952a3bd | 52 | inline int Month(){ |
Gaku0606 | 0:74d8e952a3bd | 53 | return month; |
Gaku0606 | 0:74d8e952a3bd | 54 | } |
Gaku0606 | 0:74d8e952a3bd | 55 | inline int Day(){ |
Gaku0606 | 0:74d8e952a3bd | 56 | return day; |
Gaku0606 | 0:74d8e952a3bd | 57 | } |
Gaku0606 | 0:74d8e952a3bd | 58 | inline int Hour(){ |
Gaku0606 | 0:74d8e952a3bd | 59 | return hour; |
Gaku0606 | 0:74d8e952a3bd | 60 | } |
Gaku0606 | 0:74d8e952a3bd | 61 | inline int Minutes(){ |
Gaku0606 | 0:74d8e952a3bd | 62 | return minutes; |
Gaku0606 | 0:74d8e952a3bd | 63 | } |
Gaku0606 | 0:74d8e952a3bd | 64 | inline double Seconds(){ |
Gaku0606 | 0:74d8e952a3bd | 65 | return seconds; |
Gaku0606 | 0:74d8e952a3bd | 66 | } |
Gaku0606 | 0:74d8e952a3bd | 67 | inline void getPosition(double *lon, double *lat){ |
Gaku0606 | 0:74d8e952a3bd | 68 | *lon = longitude; |
Gaku0606 | 0:74d8e952a3bd | 69 | *lat = latitude; |
Gaku0606 | 0:74d8e952a3bd | 70 | } |
Gaku0606 | 0:74d8e952a3bd | 71 | inline void getPosition(double *lonlat){ |
Gaku0606 | 0:74d8e952a3bd | 72 | lonlat[0] = longitude; |
Gaku0606 | 0:74d8e952a3bd | 73 | lonlat[1] = latitude; |
Gaku0606 | 0:74d8e952a3bd | 74 | } |
Gaku0606 | 0:74d8e952a3bd | 75 | inline void getUTC(int *_year, int *_month, int *_day, int *_hour, int *_minutes, double *_seconds){ |
Gaku0606 | 0:74d8e952a3bd | 76 | *_year = year; |
Gaku0606 | 0:74d8e952a3bd | 77 | *_month = month; |
Gaku0606 | 0:74d8e952a3bd | 78 | *_day = day; |
Gaku0606 | 0:74d8e952a3bd | 79 | *_hour = hour; |
Gaku0606 | 0:74d8e952a3bd | 80 | *_minutes = minutes; |
Gaku0606 | 0:74d8e952a3bd | 81 | *_seconds = seconds; |
Gaku0606 | 0:74d8e952a3bd | 82 | } |
Gaku0606 | 0:74d8e952a3bd | 83 | inline void getUTC(float *_utc){ |
Gaku0606 | 0:74d8e952a3bd | 84 | _utc[0] = (float)year; |
Gaku0606 | 0:74d8e952a3bd | 85 | _utc[1] = (float)month; |
Gaku0606 | 0:74d8e952a3bd | 86 | _utc[2] = (float)day; |
Gaku0606 | 0:74d8e952a3bd | 87 | _utc[3] = (float)hour; |
Gaku0606 | 0:74d8e952a3bd | 88 | _utc[4] = (float)minutes; |
Gaku0606 | 0:74d8e952a3bd | 89 | _utc[5] = seconds; |
Gaku0606 | 0:74d8e952a3bd | 90 | } |
Gaku0606 | 0:74d8e952a3bd | 91 | inline void getUTC(int *_utc){ |
Gaku0606 | 0:74d8e952a3bd | 92 | _utc[0] = year; |
Gaku0606 | 0:74d8e952a3bd | 93 | _utc[1] = month; |
Gaku0606 | 0:74d8e952a3bd | 94 | _utc[2] = day; |
Gaku0606 | 0:74d8e952a3bd | 95 | _utc[3] = hour; |
Gaku0606 | 0:74d8e952a3bd | 96 | _utc[4] = minutes; |
Gaku0606 | 0:74d8e952a3bd | 97 | _utc[5] = (int)seconds; |
Gaku0606 | 0:74d8e952a3bd | 98 | } |
Gaku0606 | 0:74d8e952a3bd | 99 | }; |
Gaku0606 | 0:74d8e952a3bd | 100 | |
Gaku0606 | 0:74d8e952a3bd | 101 | #endif |