blob: 4fc166785842f65d168abb9aae867a11684c6fcf [file] [log] [blame]
Timer
==========
The hardware independent timer structure and API to configure,
initialize, and run timers.
Description
~~~~~~~~~~~
The HAL timer structure is shown below. The user can declare as many of
these structures as required. They are enqueued on a particular HW timer
queue when the user calls the hal\_timer\_start or hal\_timer\_start\_at
API. The user must have called hal\_timer\_set\_cb before starting a
timer.
NOTE: the user should not have to modify/examine the contents of this
structure; the hal timer API should be used.
.. code:: c
struct hal_timer
{
void *bsp_timer; /* Internal platform specific pointer */
hal_timer_cb cb_func; /* Callback function */
void *cb_arg; /* Callback argument */
uint32_t expiry; /* Tick at which timer should expire */
TAILQ_ENTRY(hal_timer) link; /* Queue linked list structure */
};
API
~~~~~~~~
.. doxygengroup:: HALTimer
:content-only:
:members: