Loading...
Searching...
No Matches
freqm.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2023 ML!PA Consulting GmbH
3 * SPDX-License-Identifier: LGPL-2.1-only
4 */
5
6#pragma once
7
26
27#include <errno.h>
28#include <mutex.h>
29
30#include "periph_cpu.h"
31#include "periph/gpio.h"
32#include "time_units.h"
33
34#ifdef __cplusplus
35extern "C" {
36#endif
37
46typedef void (*freqm_cb_t)(uint32_t result, bool overflow, void *context);
47
51#ifndef HAVE_FREQM_T
52typedef uint_fast8_t freqm_t;
53#endif
54
61
74void freqm_frequency_get_async(freqm_t idx, freqm_cb_t freqm_cb, void *context,
75 uint32_t period_us);
76
89int freqm_frequency_get(freqm_t idx, uint32_t *result, uint32_t period_us);
90
91#ifdef __cplusplus
92}
93#endif
94
Low-level GPIO peripheral driver interface definitions.
void freqm_frequency_get_async(freqm_t idx, freqm_cb_t freqm_cb, void *context, uint32_t period_us)
Read number of periods of measured clock and calculate its frequency.
int freqm_frequency_get(freqm_t idx, uint32_t *result, uint32_t period_us)
Read number of periods of measured clock and calculate its frequency.
void freqm_init(freqm_t idx)
Initialize the frequency meter.
uint_fast8_t freqm_t
Define default Frequency meter type identifier.
Definition freqm.h:52
void(* freqm_cb_t)(uint32_t result, bool overflow, void *context)
Frequency meter callback function.
Definition freqm.h:46
Mutex for thread synchronization.
Utility header providing time unit defines.