28 #ifndef INC_KERNEL_OC_KTIME_H_ 29 #define INC_KERNEL_OC_KTIME_H_ 32 #include <oc_errors.h> 39 #define _________________________________________TYPES_SECTION______________________________________________________________________________ 43 #undef _________________________________________TYPES_SECTION______________________________________________________________________________ 51 #define _________________________________________FUNCTIONS_SECTION__________________________________________________________________________ 55 extern oC_ErrorCode_t oC_KTime_TurnOn (
void );
56 extern oC_ErrorCode_t oC_KTime_TurnOff (
void );
57 extern oC_Timestamp_t oC_KTime_GetTimestamp (
void );
58 extern uint64_t oC_KTime_GetCurrentTick (
void );
59 extern oC_Time_t oC_KTime_TickToTime ( uint64_t Ticks );
61 #undef _________________________________________FUNCTIONS_SECTION__________________________________________________________________________ 69 #define _________________________________________STATIC_INLINE_SECTION______________________________________________________________________ 71 static inline oC_Time_t oC_KTime_CalculateTimeout( oC_Timestamp_t EndTimestamp )
73 oC_Timestamp_t timestamp = oC_KTime_GetTimestamp();
74 return (EndTimestamp > timestamp) ? EndTimestamp - timestamp : 0;
77 static inline oC_Time_t oC_KTime_CalculateTimeoutWithLimit( oC_Timestamp_t EndTimestamp , oC_Time_t Limit )
79 oC_Time_t timeout = oC_KTime_CalculateTimeout(EndTimestamp);
81 return timeout > Limit ? Limit : timeout;
84 #undef _________________________________________STATIC_INLINE_SECTION______________________________________________________________________ The library with time definitions.