Frequency counter library using GPS 1PPS signal and temperature controlled 50MHz Base clock. Ported from F411 Frequency Counter.
Dependents: Frequency_Cntr_1PPS_F746ZG
Fork of Frq_cuntr_full by
FRQ_CUNTR Class Reference
Frequency Counter program Only for ST Nucleo-F746ZG Board. More...
#include <frq_cuntr_f746.h>
Public Member Functions | |
FRQ_CUNTR (double ex_clock) | |
Configure counter. | |
double | read_freq_data (void) |
Read new frequency data (gate time = 1sec) | |
double | read_compensated_freq_data_w_gt (uint16_t gt) |
Read new frequency data with specific gate time. | |
uint32_t | status_freq_update (void) |
Read status (new frequency data is available or not) | |
double | read_avarage_1pps (void) |
Read avarage measured data GPS 1PPS. | |
uint32_t | read_num_in_buffer (void) |
Read number of buffered data. | |
uint32_t | read_newest_1pps (void) |
Read newest measured data GPS 1PPS. | |
uint32_t | status_1pps (void) |
Read status (new 1PPS data is available or not) | |
uint32_t | status_gps (void) |
Read GPS status. | |
void | recipro_start_measure (void) |
Reciprocal measurement preparation for Reciprocal measurement -> recipro_start_measure check frequency input as IC trigger -> recipro_check_trigger read IC data -> recipro_read_data. | |
uint32_t | read_base_clock_frequency (double gatetime) |
This is a "DEBUG PURPOSE" function Check Base clock frequency on TIM2 or/and TIM8+4 print internal data (need to define "DEBUG") | |
void | debug_printf_internal_data (void) |
This is a "DEBUG PURPOSE" function print internal data (No need to define "DEBUG") |
Detailed Description
Frequency Counter program Only for ST Nucleo-F746ZG Board.
#include "mbed.h" #include "frq_cuntr_f746.h" using namespace Frequency_counter; // frequency input -> PC_6 & PA_3 // 50MHz base clock -> PA_5, GPS 1PPS -> PA_1 // Connect -> three ports,PA_7,PB_10 and PC_7 connected together // CAUTION!!: SB13 & SB181 must remove from Nucleo-F746ZG board FRQ_CUNTR fc(49.999992f); // External base clock freq. int main() { double cntr_1pps = 0; double frequency = 0; while(true) { while (fc.status_1pps() == 0) {;} cntr_1pps = fc.read_avarage_1pps(); while (fc.status_freq_update() == 0) {;} frequency = fc.read_compensated_freq_data_w_gt(1); // 1sec gate printf("1PPS/ave = %%11.3f, FREQ. = %11.1f\r\n", cntr_1pps, frequency); } }
Definition at line 75 of file frq_cuntr_f746.h.
Constructor & Destructor Documentation
FRQ_CUNTR | ( | double | ex_clock ) |
Configure counter.
- Parameters:
-
Base clock Frequency [MHz]
Definition at line 74 of file frq_cuntr_f746.cpp.
Member Function Documentation
void debug_printf_internal_data | ( | void | ) |
This is a "DEBUG PURPOSE" function print internal data (No need to define "DEBUG")
- Parameters:
-
none
- Returns:
- none (just print tha data)
Definition at line 695 of file frq_cuntr_f746.cpp.
double read_avarage_1pps | ( | void | ) |
Read avarage measured data GPS 1PPS.
- Parameters:
-
none
- Returns:
- Base clock frequency(average 1(not ave!), 10, 100 & 1000)
Definition at line 235 of file frq_cuntr_f746.cpp.
uint32_t read_base_clock_frequency | ( | double | gatetime ) |
This is a "DEBUG PURPOSE" function Check Base clock frequency on TIM2 or/and TIM8+4 print internal data (need to define "DEBUG")
- Parameters:
-
gate time e.g. 1sec = 1.0f
- Returns:
- Frequency read_base_clock_frequency -> TIM2 data read_input_frequency -> TIM8+4 data
Definition at line 666 of file frq_cuntr_f746.cpp.
double read_compensated_freq_data_w_gt | ( | uint16_t | gt ) |
Read new frequency data with specific gate time.
- Parameters:
-
gate time [sec] (1 sec to over 1 hour)
- Returns:
- frequency data
Definition at line 132 of file frq_cuntr_f746.cpp.
double read_freq_data | ( | void | ) |
Read new frequency data (gate time = 1sec)
- Parameters:
-
none
- Returns:
- frequency data
Definition at line 117 of file frq_cuntr_f746.cpp.
uint32_t read_newest_1pps | ( | void | ) |
Read newest measured data GPS 1PPS.
- Parameters:
-
none
- Returns:
- Base clock frequency (newest(no avaraging value))
Definition at line 275 of file frq_cuntr_f746.cpp.
uint32_t read_num_in_buffer | ( | void | ) |
Read number of buffered data.
- Parameters:
-
none
- Returns:
- number of data in the buffer
Definition at line 269 of file frq_cuntr_f746.cpp.
void recipro_start_measure | ( | void | ) |
Reciprocal measurement preparation for Reciprocal measurement -> recipro_start_measure check frequency input as IC trigger -> recipro_check_trigger read IC data -> recipro_read_data.
Definition at line 305 of file frq_cuntr_f746.cpp.
uint32_t status_1pps | ( | void | ) |
Read status (new 1PPS data is available or not)
- Parameters:
-
none
- Returns:
- !=0: new data is avairable, 0: not yet
Definition at line 200 of file frq_cuntr_f746.cpp.
uint32_t status_freq_update | ( | void | ) |
Read status (new frequency data is available or not)
- Parameters:
-
none
- Returns:
- !=0: new data is avairable, 0: not yet
Definition at line 194 of file frq_cuntr_f746.cpp.
uint32_t status_gps | ( | void | ) |
Read GPS status.
- Parameters:
-
none
- Returns:
- 0: GPS is NOT ready not 0: 1PPS data is avairable & show gate_time for avarage
Definition at line 282 of file frq_cuntr_f746.cpp.
Generated on Thu Jul 28 2022 09:57:44 by 1.7.2