This is a driver for configuration, enabling, disabling and use of the on-chip UC3 Frequency Meter (FREQM) controller.
Modules | |
Related Project(s) | |
In this section you can find all the projects related to the Frequency Meter (FREQM). | |
Macros | |
#define | FREQM_NUM_OF_ATTEMPTS 10000 |
Time out value (number of attempts). More... | |
Functions | |
static void | freqm_clear_measurement_done_int (void) |
Measurement done interrupt clear. More... | |
static void | freqm_clear_refclk_ready_int (void) |
Reference clock ready interrupt clear. More... | |
static void | freqm_disable (void) |
FREQM disable disable clock for the FREQM bus interface,depended on Power Manager. More... | |
static void | freqm_disable_measurement_done_int (void) |
Measurement done interrupt disable. More... | |
static void | freqm_disable_refclk_ready_int (void) |
Reference clock ready interrupt disable. More... | |
static void | freqm_enable (void) |
FREQM Enable Enable clock for the FREQM bus interface,depended on Power Manager. More... | |
static void | freqm_enable_measurement_done_int (void) |
Measurement done interrupt enable. More... | |
static void | freqm_enable_refclk_ready_int (void) |
Reference clock ready interrupt enable. More... | |
status_code_t | freqm_get_result (uint32_t *result, uint32_t ref_clk_hz) |
Get result from measurement. More... | |
static bool | freqm_is_busy (void) |
Check if freqm measuring is ongoing. More... | |
static bool | freqm_is_measurement_done_int (void) |
check if measurement done interrupt happened More... | |
static bool | freqm_is_refclk_busy (void) |
Check if reference clock is busy. More... | |
static bool | freqm_is_refclk_ready_int (void) |
check if refclk ready interrupt happened More... | |
static void | freqm_set_clock_source (uint32_t msr_clk) |
Set clock source to be measured. More... | |
static void | freqm_start (void) |
Start a measurement. More... | |
status_code_t | freqm_write_config (uint32_t ref_clk, uint32_t msr_clk, uint8_t duration) |
FREQM Configuration. More... | |
#define FREQM_NUM_OF_ATTEMPTS 10000 |
Time out value (number of attempts).
Referenced by freqm_disable(), freqm_get_result(), and freqm_write_config().
|
inlinestatic |
Measurement done interrupt clear.
|
inlinestatic |
Reference clock ready interrupt clear.
|
inlinestatic |
FREQM disable disable clock for the FREQM bus interface,depended on Power Manager.
References freqm_is_busy(), FREQM_NUM_OF_ATTEMPTS, and sysclk_disable_peripheral_clock().
|
inlinestatic |
Measurement done interrupt disable.
|
inlinestatic |
Reference clock ready interrupt disable.
|
inlinestatic |
FREQM Enable Enable clock for the FREQM bus interface,depended on Power Manager.
References sysclk_enable_peripheral_clock().
Referenced by main().
|
inlinestatic |
Measurement done interrupt enable.
References cpu_irq_restore(), and cpu_irq_save().
Referenced by main().
|
inlinestatic |
Reference clock ready interrupt enable.
References cpu_irq_restore(), and cpu_irq_save().
status_code_t freqm_get_result | ( | uint32_t * | result, |
uint32_t | ref_clk_hz | ||
) |
Get result from measurement.
result | Measurement result |
ref_clk_hz | reference clock frequency (Hz) |
ERR_TIMEOUT | Time out error |
STATUS_OK | Successful operation |
References ERR_TIMEOUT, FREQM_NUM_OF_ATTEMPTS, and STATUS_OK.
Referenced by clock_measure().
|
inlinestatic |
Check if freqm measuring is ongoing.
Referenced by freqm_disable().
|
inlinestatic |
check if measurement done interrupt happened
true | Freqm is done interrupt |
false | Freqm is not done interrupt |
|
inlinestatic |
Check if reference clock is busy.
|
inlinestatic |
check if refclk ready interrupt happened
true | Freqm is reference ready interrupt |
false | Freqm is not reference ready interrupt |
|
inlinestatic |
|
inlinestatic |
Start a measurement.
Referenced by clock_measure(), and main().
status_code_t freqm_write_config | ( | uint32_t | ref_clk, |
uint32_t | msr_clk, | ||
uint8_t | duration | ||
) |
FREQM Configuration.
ref_clk | Select the reference clock |
msr_clk | Select the clock to be measured |
duration | Set the duration of a measurement |
ERR_TIMEOUT | Time out error |
STATUS_OK | Successful operation |
References Assert, ERR_TIMEOUT, FREQM_NUM_OF_ATTEMPTS, and STATUS_OK.
Referenced by main().