diff --git a/Kernel/SingleCore/os_systick.h b/Kernel/SingleCore/os_systick.h index f8f4a4b..727470a 100644 --- a/Kernel/SingleCore/os_systick.h +++ b/Kernel/SingleCore/os_systick.h @@ -1,5 +1,6 @@ #ifndef INCLUDED_OS_SYSTICK_H #define INCLUDED_OS_SYSTICK_H +#include #ifndef INCLUDED_OS_TYPES_H #include @@ -88,4 +89,10 @@ os_tick_t os_systick_safe_get_in_isr(void) { return ticks; } +OS_STATIC_FORCE_INLINE +os_bool_t os_systick_is_timeout(os_tick_t start_tick, os_tick_t timeout_ticks) { + volatile os_tick_t end_ticks = g_os_systick_ticks; + return (end_ticks - start_tick) >= timeout_ticks; +} + #endif /*INCLUDED_OS_SYSTICK_H*/