This program is for mbed-Geiger counter system. It use OLED module, GPS module (with RTC), TextLCD, SD FileSystem and some Interrupt pin.
Diff: gpsrtc.h
- Revision:
- 0:97f8ed953c0d
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gpsrtc.h Sat Jul 02 22:05:27 2011 +0000 @@ -0,0 +1,103 @@ +//========================================================= +// LPC1114 Project +//========================================================= +// File Name : gpsrtc.h +// Function : GPS&RTC Control Header +//--------------------------------------------------------- +// Rev.01 2010.08.29 Munetomo Maruyama +//--------------------------------------------------------- +// Copyright (C) 2010-2011 Munetomo Maruyama +//========================================================= +// ---- License Information ------------------------------- +// Anyone can FREELY use this code fully or partially +// under conditions shown below. +// 1. You may use this code only for individual purpose, +// and educational purpose. +// Do not use this code for business even if partially. +// 2. You should use this code under the GNU GPL. +// 3. You should remain this header text in your codes +// including Copyright credit and License Information. +// 4. Your codes should inherit this license information. +//========================================================= +// ---- Patent Notice ------------------------------------- +// I have not cared whether this system (hw + sw) causes +// infringement on the patent, copyright, trademark, +// or trade secret rights of others. You have all +// responsibilities for determining if your designs +// and products infringe on the intellectual property +// rights of others, when you use technical information +// included in this system for your business. +//========================================================= +// ---- Disclaimers --------------------------------------- +// The function and reliability of this system are not +// guaranteed. They may cause any damages to loss of +// properties, data, money, profits, life, or business. +// By adopting this system even partially, you assume +// all responsibility for its use. +//========================================================= + +#ifndef __GPSRTC_H__ +#define __GPSRTC_H__ + +//#include <type.h> + +//============= +// GPSRTC Data +//============= +typedef struct +{ + unsigned char bGPS_UTC_hour; // UTC hour + unsigned char bGPS_UTC_min; // UTC minute + unsigned char bGPS_UTC_sec; // UTC second + unsigned char cGPS_LAT; // Latitude N or S + unsigned char bGPS_LAT_deg; // Latitude degree + unsigned char bGPS_LAT_min; // Latitude minute + unsigned char bGPS_LAT_sec; // Latitude second + unsigned char cGPS_LNG; // Longitude E or W + unsigned char bGPS_LNG_deg; // Longitude degree + unsigned char bGPS_LNG_min; // Longitude minute + unsigned char bGPS_LNG_sec; // Longitude second + unsigned char cGPS_Quality; // GPS Quality (0:Invalid, 1: SPS, 2:D-GPS) + unsigned char bGPS_Sat; // Satellite Count + unsigned char bGPS_HDOP_I; // Horizontal Dilution of Precision, Integer + unsigned char bGPS_HDOP_D; // Horizontal Dilution of Precision, Decimal + signed int wGPS_ASL_m; // Altitude above Sea Level in meter + signed int wGPS_GEO_m; // Geoid Separation in meter + // + unsigned char bRTC_year; // RTC year + unsigned char bRTC_mon; // RTC month + unsigned char bRTC_day; // RTC day + unsigned char bRTC_week; // RTC week + unsigned char bRTC_hour; // RTC hour + unsigned char bRTC_min; // RTC minute + unsigned char bRTC_sec; // RTC second +} sGPSRTC; + +//=================== +// Define Weekdays +//=================== +enum WEEK {SUN = 0, MON, TUE, WED, THU, FRI, SAT}; + +//============= +// Prototypes +//============= +unsigned char* Get_Number_from_GPS(unsigned char *pStr, + signed int *pInteger, signed int *pIntrnd, signed int *pDecimal, unsigned int *pDeclen); +void Get_GPGGA_Data(sGPSRTC *pG); +// +void Init_RTC(unsigned int do_adj, unsigned char year, unsigned char month, unsigned char day, + unsigned char week, unsigned char hour, unsigned char minute, unsigned char second); +void Get_RTC_Data(sGPSRTC *psGPSRTC); +unsigned char *Get_Week_String(unsigned int week); +// +void RTC_Write_Reg(unsigned int addr, unsigned int data); +unsigned int RTC_Read_Reg(unsigned int addr); +unsigned char BCD_INT(unsigned char num); +signed int power(signed int x, signed int n); +unsigned char INT_BCD(unsigned char bcd); + +#endif // __GPSRTC_H__ + +//========================================================= +// End of Program +//========================================================= \ No newline at end of file