mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-12-16 18:13:49 +01:00
xtimer: Introduce xtimer_diff, xtimer_less for comparing timestamps
This commit is contained in:
parent
b5554dd7e0
commit
a23bfc64ff
@ -375,6 +375,56 @@ static inline xtimer_ticks32_t xtimer_ticks(uint32_t ticks);
|
|||||||
*/
|
*/
|
||||||
static inline xtimer_ticks64_t xtimer_ticks64(uint64_t ticks);
|
static inline xtimer_ticks64_t xtimer_ticks64(uint64_t ticks);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Compute difference between two xtimer time stamps
|
||||||
|
*
|
||||||
|
* @param[in] a left operand
|
||||||
|
* @param[in] b right operand
|
||||||
|
*
|
||||||
|
* @return @p a - @p b
|
||||||
|
*/
|
||||||
|
static inline xtimer_ticks32_t xtimer_diff(xtimer_ticks32_t a, xtimer_ticks32_t b);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Compute difference between two xtimer time stamps, 64 bit version
|
||||||
|
*
|
||||||
|
* @param[in] a left operand
|
||||||
|
* @param[in] b right operand
|
||||||
|
*
|
||||||
|
* @return @p a - @p b
|
||||||
|
*/
|
||||||
|
static inline xtimer_ticks64_t xtimer_diff64(xtimer_ticks64_t a, xtimer_ticks64_t b);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Compute 32 bit difference between two 64 bit xtimer time stamps
|
||||||
|
*
|
||||||
|
* @param[in] a left operand
|
||||||
|
* @param[in] b right operand
|
||||||
|
*
|
||||||
|
* @return @p a - @p b cast truncated to 32 bit
|
||||||
|
*/
|
||||||
|
static inline xtimer_ticks32_t xtimer_diff32_64(xtimer_ticks64_t a, xtimer_ticks64_t b);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Compare two xtimer time stamps
|
||||||
|
*
|
||||||
|
* @param[in] a left operand
|
||||||
|
* @param[in] b right operand
|
||||||
|
*
|
||||||
|
* @return @p a < @p b
|
||||||
|
*/
|
||||||
|
static inline bool xtimer_less(xtimer_ticks32_t a, xtimer_ticks32_t b);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Compare two xtimer time stamps, 64 bit version
|
||||||
|
*
|
||||||
|
* @param[in] a left operand
|
||||||
|
* @param[in] b right operand
|
||||||
|
*
|
||||||
|
* @return @p a < @p b
|
||||||
|
*/
|
||||||
|
static inline bool xtimer_less64(xtimer_ticks64_t a, xtimer_ticks64_t b);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief xtimer backoff value
|
* @brief xtimer backoff value
|
||||||
*
|
*
|
||||||
|
|||||||
@ -258,6 +258,35 @@ static inline xtimer_ticks64_t xtimer_ticks64(uint64_t ticks)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline xtimer_ticks32_t xtimer_diff(xtimer_ticks32_t a, xtimer_ticks32_t b)
|
||||||
|
{
|
||||||
|
xtimer_ticks32_t ret = { .ticks32 = (a.ticks32 - b.ticks32) };
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline xtimer_ticks64_t xtimer_diff64(xtimer_ticks64_t a, xtimer_ticks64_t b)
|
||||||
|
{
|
||||||
|
xtimer_ticks64_t ret = { .ticks64 = (a.ticks64 - b.ticks64) };
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline xtimer_ticks32_t xtimer_diff32_64(xtimer_ticks64_t a, xtimer_ticks64_t b)
|
||||||
|
{
|
||||||
|
uint64_t diff = (a.ticks64 - b.ticks64);
|
||||||
|
xtimer_ticks32_t ret = { .ticks32 = (uint32_t) diff };
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline bool xtimer_less(xtimer_ticks32_t a, xtimer_ticks32_t b)
|
||||||
|
{
|
||||||
|
return (a.ticks32 < b.ticks32);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline bool xtimer_less64(xtimer_ticks64_t a, xtimer_ticks64_t b)
|
||||||
|
{
|
||||||
|
return (a.ticks64 < b.ticks64);
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* !defined(DOXYGEN) */
|
#endif /* !defined(DOXYGEN) */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user