Accurate Frequency Counter up to 25MHz. Base clock is compensated by GPS 1PPS pulse. This program runs only on mbed NucleoF411RE.

Dependencies:   ADT7410 CheckRTC DRV8830 Frq_cuntr_full PID TextLCD mbed-rtos mbed iSerial

Fork of Frequency_Counter by Kenji Arai

Please refer following.
/users/kenjiArai/notebook/frequency-counters/

Committer:
kenjiArai
Date:
Fri Jan 02 10:57:25 2015 +0000
Revision:
12:05098414599b
Parent:
9:e98e94ba17f9
Back to original PID

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kenjiArai 9:e98e94ba17f9 1 /*
kenjiArai 9:e98e94ba17f9 2 * mbed Application program / GPS receiver control and 1PPS output
kenjiArai 9:e98e94ba17f9 3 *
kenjiArai 9:e98e94ba17f9 4 * Copyright (c) 2014 Kenji Arai / JH1PJL
kenjiArai 9:e98e94ba17f9 5 * http://www.page.sannet.ne.jp/kenjia/index.html
kenjiArai 9:e98e94ba17f9 6 * http://mbed.org/users/kenjiArai/
kenjiArai 9:e98e94ba17f9 7 * Created: March 28th, 2004 Kenji Arai
kenjiArai 9:e98e94ba17f9 8 * updated: July 25th, 2009 for PIC24USB
kenjiArai 9:e98e94ba17f9 9 * updated: January 16th, 2010 change to GPS-GM318
kenjiArai 9:e98e94ba17f9 10 * updated: April 24th, 2010 for mbed / NXP LPC1768
kenjiArai 9:e98e94ba17f9 11 * Revised: January 1st, 2015
kenjiArai 9:e98e94ba17f9 12 *
kenjiArai 9:e98e94ba17f9 13 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
kenjiArai 9:e98e94ba17f9 14 * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
kenjiArai 9:e98e94ba17f9 15 * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
kenjiArai 9:e98e94ba17f9 16 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
kenjiArai 9:e98e94ba17f9 17 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
kenjiArai 9:e98e94ba17f9 18 */
kenjiArai 9:e98e94ba17f9 19 /*
kenjiArai 9:e98e94ba17f9 20 PA6C GPS Module
kenjiArai 9:e98e94ba17f9 21 current setting: GGA,RMC
kenjiArai 9:e98e94ba17f9 22 */
kenjiArai 9:e98e94ba17f9 23
kenjiArai 9:e98e94ba17f9 24 // Definition ------------------------------------------------------------------------------------
kenjiArai 9:e98e94ba17f9 25 // GPS data selection & buffer size
kenjiArai 9:e98e94ba17f9 26 /* $GPGAA,hhmmss.sss,ddmm.mmmmmm,N,dddmm.mmmmmm,
kenjiArai 9:e98e94ba17f9 27 E,1,xx,xx.xx,xx.xxx,M,xx.xxx,M,s.ss,xxxx*sum<CR><LF>
kenjiArai 9:e98e94ba17f9 28 ex. $GPGGA,060306.00,4344.77894,N,14223.38857,
kenjiArai 9:e98e94ba17f9 29 E,2,11,0.9,128.4,M,28.8,M,5.0,0129*4C<CR><LF>
kenjiArai 9:e98e94ba17f9 30 # of data (ex.) = 81
kenjiArai 9:e98e94ba17f9 31 */
kenjiArai 9:e98e94ba17f9 32 #define SIZE_BUF_GGA 96
kenjiArai 9:e98e94ba17f9 33 /*
kenjiArai 9:e98e94ba17f9 34 $GPGSA,A,3,xx,xx,,,xx,xx,,,,,xx.x,xx.x,xx.x*sum<CR><LF>
kenjiArai 9:e98e94ba17f9 35 ex. $GPGSA,A,3,03,06,13,16,21,23,24,25,29,31,42,50,1.9,0.9,1.7*3C
kenjiArai 9:e98e94ba17f9 36 # of data (ex.) = 63
kenjiArai 9:e98e94ba17f9 37 */
kenjiArai 9:e98e94ba17f9 38 #define SIZE_BUF_GSA 80
kenjiArai 9:e98e94ba17f9 39 /*
kenjiArai 9:e98e94ba17f9 40 $GPGSV,x,x,xx*sum<CR><LF>
kenjiArai 9:e98e94ba17f9 41 ex. $GPGSV,3,1,12,03,39,225,47,06,55,217,48,13,21,314,48,16,74,342,50*76
kenjiArai 9:e98e94ba17f9 42 $GPGSV,3,2,12,21,33,095,50,23,32,280,50,24,18,049,42,25,12,315,43*7E
kenjiArai 9:e98e94ba17f9 43 $GPGSV,3,3,12,29,12,047,45,31,49,146,49,42,39,183,46,50,39,176,42*7C
kenjiArai 9:e98e94ba17f9 44 # of data (ex.) = 70
kenjiArai 9:e98e94ba17f9 45 */
kenjiArai 9:e98e94ba17f9 46 #define SIZE_BUF_GSV 80
kenjiArai 9:e98e94ba17f9 47 /*
kenjiArai 9:e98e94ba17f9 48 $GPRMC,hhmmss.sss,V,ddmm.mmmm,N,dddmm.mmmm,E,k.kkk,x.xx,ddmmyy,,,N*sum<CR><LF>
kenjiArai 9:e98e94ba17f9 49 ex. $GPRMC,060309.00,A,4344.77571,N,14223.38879,
kenjiArai 9:e98e94ba17f9 50 E,0.03,210.32,190808,06.2,W,D*51
kenjiArai 9:e98e94ba17f9 51 # of data (ex.) = 84
kenjiArai 9:e98e94ba17f9 52 */
kenjiArai 9:e98e94ba17f9 53 #define SIZE_BUF_RMC 96
kenjiArai 9:e98e94ba17f9 54 /*
kenjiArai 9:e98e94ba17f9 55 $GPVTG,xx.xx,T,,M,x.xx,N,x.xx,K,A*sum<CR><LF>
kenjiArai 9:e98e94ba17f9 56 ex. $GPVTG,210.32,T,204.30,M,0.03,N,0.06,K,D*3F
kenjiArai 9:e98e94ba17f9 57 # of data (ex.) = 43
kenjiArai 9:e98e94ba17f9 58 */
kenjiArai 9:e98e94ba17f9 59 #define SIZE_BUF_VTG 64
kenjiArai 9:e98e94ba17f9 60 /*
kenjiArai 9:e98e94ba17f9 61 $GPZDA,hhmmss.sss,dd,mmm,yyyy,hh,mm*sum<CR><LF>
kenjiArai 9:e98e94ba17f9 62 ex. $GPZDA,060307.00,19,08,2008,13,26*6E
kenjiArai 9:e98e94ba17f9 63 # of data (ex.) = 36
kenjiArai 9:e98e94ba17f9 64 */
kenjiArai 9:e98e94ba17f9 65 #define SIZE_BUF_ZDA 48
kenjiArai 9:e98e94ba17f9 66 /*
kenjiArai 9:e98e94ba17f9 67 $GPGLL,ddmm.mmmmmm,N,dddmm.mmmmmm,E,hhmmss.sss,V,D*sum<CR><LF>
kenjiArai 9:e98e94ba17f9 68 ex. $GPGLL,4344.77956,N,14223.38863,E,060305.00,A,D*61
kenjiArai 9:e98e94ba17f9 69 # of data (ex.) = 52
kenjiArai 9:e98e94ba17f9 70 */
kenjiArai 9:e98e94ba17f9 71 #define SIZE_BUF_GLL 64
kenjiArai 9:e98e94ba17f9 72
kenjiArai 9:e98e94ba17f9 73 #define ERR 0xff