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