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/

User_IF/uif.h

Committer:
kenjiArai
Date:
2016-11-23
Revision:
13:1041596c416c
Child:
14:ba6ea409ab05

File content as of revision 13:1041596c416c:

/*
 * 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);