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/

Revision:
13:1041596c416c
Child:
14:ba6ea409ab05
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/User_IF/uif.h	Wed Nov 23 07:35:20 2016 +0000
@@ -0,0 +1,42 @@
+/*
+ * mbed Application program / User Interface subroutines
+ *
+ * Copyright (c) 2016 Kenji Arai / JH1PJL
+ *  http://www.page.sannet.ne.jp/kenjia/index.html
+ *  http://mbed.org/users/kenjiArai/
+ *      Created:    September 28th, 2016
+ *      Revised:    Novemeber 23rd, 2016
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+//  Definition -----------------------------------------------------------------
+typedef struct{
+    double m_frq;           // measured freq. data 1sec interval (Raw data)
+    double m_frq_10;        // same as avove / avarage 10sec
+    double m_frq_100;       // same as avove / avarage 100sec   
+    double m_frq_1000;      // same as avove / avarage 1000sec
+    double m_frq_comp;      // same as avove / compensated data
+    double m_frq_recipro;   // masured freq. by reciprocal way
+    double b_1pps_lng;      // base clock by 1PPS (avarage data)
+    uint32_t b_1pps_new;    // same as avobe / newest raw data
+    double box_tmp;         // temperature of temperature oven 
+    uint8_t  recipro_of;    // reciprocal overflow (higher freq)
+    uint8_t  temp_is_okay;  // oven temperature is inside of range
+    uint32_t gps_1pps_ave;  // GPS 1PPS # of avarage
+    uint32_t ready_1pps;    // GPS 1PPS is available (none-zero)
+}dispDef;
+    
+//  Function prototypes --------------------------------------------------------
+void dispay_LCD_and_UART(dispDef *dt);
+
+void display_clear_all(void);
+void disp_first_msg(void);
+void disp_wait_gps(void);
+void select_input_div_1or10or20(uint8_t div);