All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches

xtimer interface definitions More...

Detailed Description

xtimer interface definitions

Author
Kaspar Schleiser kaspa.nosp@m.r@sc.nosp@m.hleis.nosp@m.er.d.nosp@m.e
Joakim Nohlgård joaki.nosp@m.m.no.nosp@m.hlgar.nosp@m.d@ei.nosp@m.stec..nosp@m.se

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"
+ Include dependency graph for xtimer.h:
+ This graph shows which files directly or indirectly include this file:

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