From 08442dbc83051af3bd690cdc92e4deb76d9071bf Mon Sep 17 00:00:00 2001 From: Karl Fessel Date: Fri, 25 Feb 2022 13:41:57 +0100 Subject: [PATCH] sys/ztimer/xtimer_comapt: add missing define and functions - dummy XTIMER_BACKOFF - xtimer_init - xtimer_is_set - xtimer_rmutex_lock_timeout --- sys/include/ztimer/xtimer_compat.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/sys/include/ztimer/xtimer_compat.h b/sys/include/ztimer/xtimer_compat.h index 6074886856..85f2b28079 100644 --- a/sys/include/ztimer/xtimer_compat.h +++ b/sys/include/ztimer/xtimer_compat.h @@ -54,10 +54,29 @@ extern "C" { #define XTIMER_WIDTH (32) #define XTIMER_MASK (0) +/** + * a default XTIMER_BACKOFF value, this is not used by ztimer, but other code + * uses this value to set timers + */ + +#ifndef XTIMER_BACKOFF +#define XTIMER_BACKOFF 1 +#endif + typedef ztimer_t xtimer_t; typedef uint32_t xtimer_ticks32_t; typedef uint64_t xtimer_ticks64_t; +static inline void xtimer_init(void) +{ + ztimer_init(); +} + +static inline bool xtimer_is_set(const xtimer_t *timer) +{ + return ztimer_is_set(ZTIMER_USEC, timer); +} + static inline xtimer_ticks32_t xtimer_ticks(uint32_t ticks) { return ticks; @@ -197,6 +216,16 @@ static inline int xtimer_mutex_lock_timeout(mutex_t *mutex, uint64_t us) return 0; } +static inline int xtimer_rmutex_lock_timeout(rmutex_t *rmutex, uint64_t us) +{ + assert(us <= UINT32_MAX); + if (ztimer_rmutex_lock_timeout(ZTIMER_USEC, rmutex, us)) { + /* Impedance matching required: Convert -ECANCELED error code to -1: */ + return -1; + } + return 0; +} + static inline void xtimer_set_timeout_flag(xtimer_t *t, uint32_t timeout) { ztimer_set_timeout_flag(ZTIMER_USEC, t, timeout);