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
Please refer following.
/users/kenjiArai/notebook/frequency-counters/
User_IF/uif.h@14:ba6ea409ab05, 2019-12-17 (annotated)
- 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?
User | Revision | Line number | New 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); |