xtimer interface definitions More...
xtimer interface definitions
Definition in file xtimer.h.
#include <stdbool.h>
#include <stdint.h>
#include "modules.h"
#include "timex.h"
#include "mutex.h"
#include "sched.h"
#include "rmutex.h"
#include "board.h"
#include "periph_conf.h"
#include "xtimer/tick_conversion.h"
#include "xtimer/implementation.h"
Go to the source code of this file.
Data Structures | |
struct | xtimer_ticks64_t |
xtimer timestamp (64 bit) More... | |
struct | xtimer_ticks32_t |
xtimer timestamp (32 bit) More... | |
struct | xtimer |
xtimer timer structure More... | |
Macros | |
#define | XTIMER_BACKOFF 30 |
xtimer backoff value | |
#define | XTIMER_ISR_BACKOFF 20 |
xtimer IRQ backoff time, in hardware ticks | |
#define | XTIMER_DEV TIMER_DEV(0) |
Underlying hardware timer device to assign to xtimer. | |
#define | XTIMER_CHAN (0) |
Underlying hardware timer channel to assign to xtimer. | |
#define | XTIMER_WIDTH (32) |
xtimer timer width | |
#define | XTIMER_MASK ((0xffffffff >> XTIMER_WIDTH) << XTIMER_WIDTH) |
xtimer timer mask | |
#define | XTIMER_HZ_BASE (1000000ul) |
Base frequency of xtimer is 1 MHz. | |
#define | XTIMER_HZ XTIMER_HZ_BASE |
Frequency of the underlying hardware timer. | |
#define | XTIMER_SHIFT (0) |
xtimer prescaler value | |
Typedefs | |
typedef void(* | xtimer_callback_t) (void *) |
xtimer callback type | |
typedef struct xtimer | xtimer_t |
xtimer timer structure | |
Functions | |
static xtimer_ticks32_t | xtimer_now (void) |
get the current system time as 32bit time stamp value | |
static xtimer_ticks64_t | xtimer_now64 (void) |
get the current system time as 64bit time stamp | |
void | xtimer_now_timex (timex_t *out) |
get the current system time into a timex_t | |
static uint32_t | xtimer_now_usec (void) |
get the current system time in microseconds since start | |
static uint64_t | xtimer_now_usec64 (void) |
get the current system time in microseconds since start | |
void | xtimer_init (void) |
xtimer initialization function | |
static void | xtimer_sleep (uint32_t seconds) |
Pause the execution of a thread for some seconds. | |
static void | xtimer_msleep (uint32_t milliseconds) |
Pause the execution of a thread for some milliseconds. | |
static void | xtimer_usleep (uint32_t microseconds) |
Pause the execution of a thread for some microseconds. | |
static void | xtimer_usleep64 (uint64_t microseconds) |
Pause the execution of a thread for some microseconds. | |
static void | xtimer_nanosleep (uint32_t nanoseconds) |
Stop execution of a thread for some time. | |
static void | xtimer_tsleep32 (xtimer_ticks32_t ticks) |
Stop execution of a thread for some time, 32bit version. | |
static void | xtimer_tsleep64 (xtimer_ticks64_t ticks) |
Stop execution of a thread for some time, 64bit version. | |
static void | xtimer_spin (xtimer_ticks32_t ticks) |
Stop execution of a thread for some time, blocking. | |
static void | xtimer_periodic_wakeup (xtimer_ticks32_t *last_wakeup, uint32_t period) |
will cause the calling thread to be suspended until the absolute time (last_wakeup + period ). | |
static void | xtimer_set_wakeup (xtimer_t *timer, uint32_t offset, kernel_pid_t pid) |
Set a timer that wakes up a thread. | |
static void | xtimer_set_wakeup64 (xtimer_t *timer, uint64_t offset, kernel_pid_t pid) |
Set a timer that wakes up a thread, 64bit version. | |
static void | xtimer_set (xtimer_t *timer, uint32_t offset) |
Set a timer to execute a callback at some time in the future. | |
static void | xtimer_set64 (xtimer_t *timer, uint64_t offset_us) |
Set a timer to execute a callback at some time in the future, 64bit version. | |
void | xtimer_remove (xtimer_t *timer) |
remove a timer | |
static bool | xtimer_is_set (const xtimer_t *timer) |
state if an xtimer is currently set (waiting to be expired) | |
static xtimer_ticks32_t | xtimer_ticks_from_usec (uint32_t usec) |
Convert microseconds to xtimer ticks. | |
static xtimer_ticks64_t | xtimer_ticks_from_usec64 (uint64_t usec) |
Convert microseconds to xtimer ticks, 64 bit version. | |
static uint32_t | xtimer_usec_from_ticks (xtimer_ticks32_t ticks) |
Convert xtimer ticks to microseconds. | |
static uint64_t | xtimer_usec_from_ticks64 (xtimer_ticks64_t ticks) |
Convert xtimer ticks to microseconds, 64 bit version. | |
static xtimer_ticks32_t | xtimer_ticks (uint32_t ticks) |
Create an xtimer time stamp. | |
static xtimer_ticks64_t | xtimer_ticks64 (uint64_t ticks) |
Create an xtimer time stamp, 64 bit version. | |
static xtimer_ticks32_t | xtimer_diff (xtimer_ticks32_t a, xtimer_ticks32_t b) |
Compute difference between two xtimer time stamps. | |
static xtimer_ticks64_t | xtimer_diff64 (xtimer_ticks64_t a, xtimer_ticks64_t b) |
Compute difference between two xtimer time stamps, 64 bit version. | |
static xtimer_ticks32_t | xtimer_diff32_64 (xtimer_ticks64_t a, xtimer_ticks64_t b) |
Compute 32 bit difference between two 64 bit xtimer time stamps. | |
static bool | xtimer_less (xtimer_ticks32_t a, xtimer_ticks32_t b) |
Compare two xtimer time stamps. | |
static bool | xtimer_less64 (xtimer_ticks64_t a, xtimer_ticks64_t b) |
Compare two xtimer time stamps, 64 bit version. | |
int | xtimer_mutex_lock_timeout (mutex_t *mutex, uint64_t us) |
lock a mutex but with timeout | |
int | xtimer_rmutex_lock_timeout (rmutex_t *rmutex, uint64_t us) |
lock a rmutex but with timeout | |
void | xtimer_set_timeout_flag (xtimer_t *t, uint32_t timeout) |
Set timeout thread flag after timeout . | |
void | xtimer_set_timeout_flag64 (xtimer_t *t, uint64_t timeout) |
Set timeout thread flag after timeout . | |
uint64_t | xtimer_left_usec (const xtimer_t *timer) |
Get remaining time of timer. | |
static void | xtimer_set_msg (xtimer_t *timer, uint32_t offset, msg_t *msg, kernel_pid_t target_pid) |
Set a timer that sends a message. | |
static void | xtimer_set_msg64 (xtimer_t *timer, uint64_t offset, msg_t *msg, kernel_pid_t target_pid) |
Set a timer that sends a message, 64bit version. | |
static int | xtimer_msg_receive_timeout (msg_t *msg, uint32_t timeout) |
receive a message blocking but with timeout | |
static int | xtimer_msg_receive_timeout64 (msg_t *msg, uint64_t timeout) |
receive a message blocking but with timeout, 64bit version | |