implementation.h File Reference

xtimer implementation More...

Detailed Description

#include "periph/timer.h"
+ Include dependency graph for implementation.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define XTIMER_MIN_SPIN   _xtimer_usec_from_ticks(1)
 Minimal value xtimer_spin() can spin.
 
#define MSG_XTIMER   12345
 IPC message type for xtimer msg callback.
 
static uint32_t _xtimer_lltimer_now (void)
 returns the (masked) low-level timer counter value.
 
static uint32_t _xtimer_lltimer_mask (uint32_t val)
 drop bits of a value that don't fit into the low-level timer.
 
uint64_t _xtimer_now64 (void)
 xtimer internal stuff
 
int _xtimer_set_absolute (xtimer_t *timer, uint32_t target)
 Sets the timer to the appropriate timer_list or list_head. More...
 
void _xtimer_set (xtimer_t *timer, uint32_t offset)
 
void _xtimer_set64 (xtimer_t *timer, uint32_t offset, uint32_t long_offset)
 
void _xtimer_periodic_wakeup (uint32_t *last_wakeup, uint32_t period)
 
void _xtimer_set_msg (xtimer_t *timer, uint32_t offset, msg_t *msg, kernel_pid_t target_pid)
 
void _xtimer_set_msg64 (xtimer_t *timer, uint64_t offset, msg_t *msg, kernel_pid_t target_pid)
 
void _xtimer_set_wakeup (xtimer_t *timer, uint32_t offset, kernel_pid_t pid)
 
void _xtimer_set_wakeup64 (xtimer_t *timer, uint64_t offset, kernel_pid_t pid)
 
int _xtimer_msg_receive_timeout (msg_t *msg, uint32_t ticks)
 
int _xtimer_msg_receive_timeout64 (msg_t *msg, uint64_t ticks)
 
void _xtimer_tsleep (uint32_t offset, uint32_t long_offset)
 Sleep for the given number of ticks.
 

Function Documentation

◆ _xtimer_set_absolute()

int _xtimer_set_absolute ( xtimer_t timer,
uint32_t  target 
)

Sets the timer to the appropriate timer_list or list_head.

Note
The target to set the timer to has to be at least bigger then the ticks needed to jump into the function and calculate '_xtimer_now()'. So that 'now' did not pass the target. This is crucial when using low CPU frequencies and/or when the '_xtimer_now()' call needs multiple xtimer ticks to evaluate.
Parameters
[in]timerpointer to xtimer_t which is added to the list.
[in]targetAbsolute target value in ticks.