no-OS
Loading...
Searching...
No Matches
no_os_timer.h File Reference

Timer control module header. More...

#include <stdint.h>
Include dependency graph for no_os_timer.h:

Classes

struct  no_os_timer_desc
 Structure holding timer descriptor. More...
 
struct  no_os_timer_init_param
 Structure holding the parameters for timer initialization. More...
 
struct  no_os_timer_platform_ops
 Structure holding timer function pointers that point to the platform specific function. More...
 

Macros

#define TIMER_MAX_TABLE   4
 

Functions

int32_t no_os_timer_init (struct no_os_timer_desc **desc, const struct no_os_timer_init_param *param)
 Initialize hardware timer and the handler structure associated with it.
 
int32_t no_os_timer_remove (struct no_os_timer_desc *desc)
 Free the memory allocated by timer_init().
 
int32_t no_os_timer_start (struct no_os_timer_desc *desc)
 Start a timer.
 
int32_t no_os_timer_stop (struct no_os_timer_desc *desc)
 Stop a timer from counting.
 
int32_t no_os_timer_counter_get (struct no_os_timer_desc *desc, uint32_t *counter)
 Get the value of the counter register for the timer.
 
int32_t no_os_timer_counter_set (struct no_os_timer_desc *desc, uint32_t new_val)
 Set the timer counter register value.
 
int32_t no_os_timer_count_clk_get (struct no_os_timer_desc *desc, uint32_t *freq_hz)
 Get the timer clock frequency.
 
int32_t no_os_timer_count_clk_set (struct no_os_timer_desc *desc, uint32_t freq_hz)
 Set the timer clock frequency.
 
int32_t no_os_timer_get_elapsed_time_nsec (struct no_os_timer_desc *desc, uint64_t *elapsed_time)
 Get the elapsed time in nsec for the timer.
 
int32_t no_os_timer_set_callback (struct no_os_timer_desc *desc, void(*handler)(void *), void *ctx)
 Register timer callback and context.
 

Detailed Description

Timer control module header.

Author
Andrei Drimbarean (andre.nosp@m.i.dr.nosp@m.imbar.nosp@m.ean@.nosp@m.analo.nosp@m.g.co.nosp@m.m)
Vilmos-Csaba Jozsa (vilmo.nosp@m.scsa.nosp@m.ba.jo.nosp@m.zsa@.nosp@m.analo.nosp@m.g.co.nosp@m.m)

Copyright 2019-2026(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Macro Definition Documentation

◆ TIMER_MAX_TABLE

#define TIMER_MAX_TABLE   4

Function Documentation

◆ no_os_timer_count_clk_get()

int32_t no_os_timer_count_clk_get ( struct no_os_timer_desc * desc,
uint32_t * freq_hz )

Get the timer clock frequency.

Parameters
[in]desc- Pointer to the device handler.
[out]freq_hz- The value in Hz of the timer clock.
Returns
0 in case of success, error code otherwise.

◆ no_os_timer_count_clk_set()

int32_t no_os_timer_count_clk_set ( struct no_os_timer_desc * desc,
uint32_t freq_hz )

Set the timer clock frequency.

Parameters
[in]desc- Pointer to the device handler.
[in]freq_hz- The value in Hz of the new timer clock.
Returns
0 in case of success, error code otherwise.

◆ no_os_timer_counter_get()

int32_t no_os_timer_counter_get ( struct no_os_timer_desc * desc,
uint32_t * counter )

Get the value of the counter register for the timer.

Parameters
[in]desc- Pointer to the device handler.
[out]counter- Pointer to the counter value.
Returns
0 in case of success, error code otherwise.

◆ no_os_timer_counter_set()

int32_t no_os_timer_counter_set ( struct no_os_timer_desc * desc,
uint32_t new_val )

Set the timer counter register value.

Parameters
[in]desc- Pointer to the device handler.
[in]new_val- The new value of the counter register.
Returns
0 in case of success, error code otherwise.

◆ no_os_timer_get_elapsed_time_nsec()

int32_t no_os_timer_get_elapsed_time_nsec ( struct no_os_timer_desc * desc,
uint64_t * elapsed_time )

Get the elapsed time in nsec for the timer.

Parameters
[in]desc- Pointer to the device handler.
[in]elapsed_time- The elapsed time in nsec.
Returns
0 in case of success, error code otherwise.

◆ no_os_timer_init()

int32_t no_os_timer_init ( struct no_os_timer_desc ** desc,
const struct no_os_timer_init_param * param )

Initialize hardware timer and the handler structure associated with it.

Parameters
[out]desc- Pointer to the reference of the device handler.
[in]param- Initialization structure.
Returns
0 in case of success, negative error code otherwise

◆ no_os_timer_remove()

int32_t no_os_timer_remove ( struct no_os_timer_desc * desc)

Free the memory allocated by timer_init().

Parameters
[in]desc- Pointer to the device handler.
Returns
0 in case of success, negative error code otherwise

◆ no_os_timer_set_callback()

int32_t no_os_timer_set_callback ( struct no_os_timer_desc * desc,
void(* handler )(void *),
void * ctx )

Register timer callback and context.

Parameters
[in]desc- Pointer to the device handler.
[in]handler- Callback function pointer.
[in]ctx- Callback context.
Returns
0 in case of success, error code otherwise.

◆ no_os_timer_start()

int32_t no_os_timer_start ( struct no_os_timer_desc * desc)

Start a timer.

Parameters
[in]desc- Pointer to the device handler.
Returns
0 in case of success, negative error code otherwise

◆ no_os_timer_stop()

int32_t no_os_timer_stop ( struct no_os_timer_desc * desc)

Stop a timer from counting.

Parameters
[in]desc- Pointer to the device handler.
Returns
0 in case of success, negative error code otherwise