2017年伊豆大島共同打ち上げ実験用電装モジュール搭載GPS測位プログラム
Dependents: Hybrid_interruptGPS Hybrid_main_FirstEdtion rocket_logger_sinkan2018_v1 HYBRYD2018_IZU_ROCKET ... more
GPS_interrupt.h
- Committer:
- Gaku0606
- Date:
- 2017-01-02
- Revision:
- 0:74d8e952a3bd
- Child:
- 1:57eeee14dd31
File content as of revision 0:74d8e952a3bd:
/*============================================================================= * GPS_interrupt.lib ver 1.0.3 * *=============================================================================*/ #ifndef GPS_INTERRUPT_H_ #define GPS_INTERRUPT_H_ #include "mbed.h" class GPS_interrupt{ public: GPS_interrupt(RawSerial *_gps, int baudrate = 9600); static GPS_interrupt* gps_irq; void initialize();//初期化関数 void gps_auto_receive(); bool processGPS(char *line); public: static double latitude; static double longitude; static int year; static int month; static int day; static int hour; static int minutes; static double seconds; static double knot; static double degree; static double height; static double geoid; static int number; static char gps_buffer_A[128]; static char gps_buffer_B[128]; static char *gps_read_buffer; static bool gps_readable; private: RawSerial *gps; public: inline double Longitude(){ return longitude; } inline double Latitude(){ return latitude; } inline int Year(){ return year; } inline int Month(){ return month; } inline int Day(){ return day; } inline int Hour(){ return hour; } inline int Minutes(){ return minutes; } inline double Seconds(){ return seconds; } inline void getPosition(double *lon, double *lat){ *lon = longitude; *lat = latitude; } inline void getPosition(double *lonlat){ lonlat[0] = longitude; lonlat[1] = latitude; } inline void getUTC(int *_year, int *_month, int *_day, int *_hour, int *_minutes, double *_seconds){ *_year = year; *_month = month; *_day = day; *_hour = hour; *_minutes = minutes; *_seconds = seconds; } inline void getUTC(float *_utc){ _utc[0] = (float)year; _utc[1] = (float)month; _utc[2] = (float)day; _utc[3] = (float)hour; _utc[4] = (float)minutes; _utc[5] = seconds; } inline void getUTC(int *_utc){ _utc[0] = year; _utc[1] = month; _utc[2] = day; _utc[3] = hour; _utc[4] = minutes; _utc[5] = (int)seconds; } }; #endif