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
Please refer following.
/users/kenjiArai/notebook/frequency-counters/
gps.h@12:05098414599b, 2015-01-02 (annotated)
- 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?
User | Revision | Line number | New 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 |