Low-level timer peripheral driver interface definitions. More...
Low-level timer peripheral driver interface definitions.
Definition in file timer.h.
#include <limits.h>#include <stdint.h>#include <stdbool.h>#include "architecture.h"#include "periph_cpu.h"#include "periph_conf.h"
Include dependency graph for timer.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | timer_isr_ctx_t |
| Default interrupt context entry holding callback and argument. More... | |
Macros | |
| #define | TIMER_DEV(x) (x) |
| Default timer definition macro. More... | |
| #define | TIMER_UNDEF (UINT_FAST8_MAX) |
| Default value for timer not defined. | |
| #define | TIM_FLAG_RESET_ON_SET (0x01) |
| Reset the timer when the set() function is called. More... | |
| #define | TIM_FLAG_RESET_ON_MATCH (0x02) |
| Reset the timer on match. More... | |
| #define | TIM_FLAG_SET_STOPPED (0x04) |
| Keep the timer stopped after setting alarm. More... | |
Typedefs | |
| typedef uint_fast8_t | tim_t |
| Default timer type. More... | |
| typedef void(* | timer_cb_t) (void *arg, int channel) |
| Signature of event callback functions triggered from interrupts. More... | |
Functions | |
| int | timer_init (tim_t dev, uint32_t freq, timer_cb_t cb, void *arg) |
| Initialize the given timer. More... | |
| int | timer_set (tim_t dev, int channel, unsigned int timeout) |
| Set a given timer channel for the given timer device. More... | |
| int | timer_set_absolute (tim_t dev, int channel, unsigned int value) |
| Set an absolute timeout value for the given channel of the given timer. More... | |
| int | timer_set_periodic (tim_t dev, int channel, unsigned int value, uint8_t flags) |
| Set an absolute timeout value for the given channel of the given timer. More... | |
| int | timer_clear (tim_t dev, int channel) |
| Clear the given channel of the given timer device. More... | |
| unsigned int | timer_read (tim_t dev) |
| Read the current value of the given timer device. More... | |
| void | timer_start (tim_t dev) |
| Start the given timer. More... | |
| void | timer_stop (tim_t dev) |
| Stop the given timer. More... | |
| uword_t | timer_query_freqs_numof (tim_t dev) |
| Get the number of different frequencies supported by the given timer. More... | |
| uword_t | timer_query_channel_numof (tim_t dev) |
| Get the number of timer channels for the given timer. More... | |
| uint32_t | timer_query_freqs (tim_t dev, uword_t index) |
| Iterate over supported frequencies. More... | |
| uint32_t | timer_get_closest_freq (tim_t dev, uint32_t target) |
| Search the frequency supported by the timer that is closest to a given target frequency, efficiently. More... | |
| bool | timer_poll_channel (tim_t dev, int channel) |
| Check whether a compare channel has matched. More... | |