Frequency counter using GPS 1PPS signal and temperature controlled 50MHz Base clock. Ported from F411 Frequency Counter.

Dependencies:   QEI DRV8830 PID ADT7410 TextLCD Frq_cuntr_Nucleo-F746ZG RingBuffer

Fork of Frequency_Counter_w_GPS_1PPS by Kenji Arai

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

Committer:
kenjiArai
Date:
Tue Dec 17 11:41:18 2019 +0000
Revision:
14:ba6ea409ab05
Parent:
13:1041596c416c
Child:
15:ae0413277bc6
Run on mbed-os5 & small modification

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kenjiArai 13:1041596c416c 1 /*
kenjiArai 13:1041596c416c 2 * mbed Application program / User Interface subroutines
kenjiArai 13:1041596c416c 3 *
kenjiArai 14:ba6ea409ab05 4 * Copyright (c) 2016,'19 Kenji Arai / JH1PJL
kenjiArai 13:1041596c416c 5 * http://www.page.sannet.ne.jp/kenjia/index.html
kenjiArai 13:1041596c416c 6 * http://mbed.org/users/kenjiArai/
kenjiArai 13:1041596c416c 7 * Created: September 28th, 2016
kenjiArai 14:ba6ea409ab05 8 * Revised: December 12th, 2019
kenjiArai 13:1041596c416c 9 */
kenjiArai 13:1041596c416c 10
kenjiArai 13:1041596c416c 11 // Definition -----------------------------------------------------------------
kenjiArai 13:1041596c416c 12 typedef struct{
kenjiArai 13:1041596c416c 13 double m_frq; // measured freq. data 1sec interval (Raw data)
kenjiArai 13:1041596c416c 14 double m_frq_10; // same as avove / avarage 10sec
kenjiArai 13:1041596c416c 15 double m_frq_100; // same as avove / avarage 100sec
kenjiArai 13:1041596c416c 16 double m_frq_1000; // same as avove / avarage 1000sec
kenjiArai 13:1041596c416c 17 double m_frq_comp; // same as avove / compensated data
kenjiArai 13:1041596c416c 18 double m_frq_recipro; // masured freq. by reciprocal way
kenjiArai 13:1041596c416c 19 double b_1pps_lng; // base clock by 1PPS (avarage data)
kenjiArai 13:1041596c416c 20 uint32_t b_1pps_new; // same as avobe / newest raw data
kenjiArai 13:1041596c416c 21 double box_tmp; // temperature of temperature oven
kenjiArai 13:1041596c416c 22 uint8_t recipro_of; // reciprocal overflow (higher freq)
kenjiArai 13:1041596c416c 23 uint8_t temp_is_okay; // oven temperature is inside of range
kenjiArai 13:1041596c416c 24 uint32_t gps_1pps_ave; // GPS 1PPS # of avarage
kenjiArai 13:1041596c416c 25 uint32_t ready_1pps; // GPS 1PPS is available (none-zero)
kenjiArai 13:1041596c416c 26 }dispDef;
kenjiArai 13:1041596c416c 27
kenjiArai 13:1041596c416c 28 // Function prototypes --------------------------------------------------------
kenjiArai 13:1041596c416c 29 void dispay_LCD_and_UART(dispDef *dt);
kenjiArai 13:1041596c416c 30
kenjiArai 13:1041596c416c 31 void display_clear_all(void);
kenjiArai 13:1041596c416c 32 void disp_first_msg(void);
kenjiArai 13:1041596c416c 33 void disp_wait_gps(void);
kenjiArai 13:1041596c416c 34 void select_input_div_1or10or20(uint8_t div);