diff options
-rw-r--r-- | include/misc/kernel_event_logger.h | 23 | ||||
-rw-r--r-- | kernel/unified/kernel_event_logger.c | 16 |
2 files changed, 18 insertions, 21 deletions
diff --git a/include/misc/kernel_event_logger.h b/include/misc/kernel_event_logger.h index 686e8e2b1..764aa41d4 100644 --- a/include/misc/kernel_event_logger.h +++ b/include/misc/kernel_event_logger.h @@ -57,8 +57,6 @@ static inline void _sys_k_event_logger_interrupt(void) {}; * @{ */ -#ifdef CONFIG_KERNEL_EVENT_LOGGER_CUSTOM_TIMESTAMP - /** * @typedef sys_k_timer_func_t * @brief Event timestamp generator function type. @@ -74,15 +72,11 @@ typedef uint32_t (*sys_k_timer_func_t)(void); * @cond INTERNAL_HIDDEN */ -extern sys_k_timer_func_t _sys_k_timer_func; - -static inline uint32_t _sys_k_get_time(void) -{ - if (_sys_k_timer_func) - return _sys_k_timer_func(); - else - return sys_cycle_get_32(); -} +#ifdef CONFIG_KERNEL_EVENT_LOGGER_CUSTOM_TIMESTAMP +extern sys_k_timer_func_t _sys_k_get_time; +#else +#define _sys_k_get_time sys_cycle_get_32 +#endif /* CONFIG_KERNEL_EVENT_LOGGER_CUSTOM_TIMESTAMP */ /** * INTERNAL_HIDDEN @endcond @@ -108,11 +102,10 @@ static inline uint32_t _sys_k_get_time(void) * * @return N/A */ -void sys_k_event_logger_set_timer(sys_k_timer_func_t func); -#else -static inline uint32_t _sys_k_get_time(void) +#ifdef CONFIG_KERNEL_EVENT_LOGGER_CUSTOM_TIMESTAMP +static inline void sys_k_event_logger_set_timer(sys_k_timer_func_t func) { - return sys_cycle_get_32(); + _sys_k_get_time = func; } #endif /* CONFIG_KERNEL_EVENT_LOGGER_CUSTOM_TIMESTAMP */ diff --git a/kernel/unified/kernel_event_logger.c b/kernel/unified/kernel_event_logger.c index a747e229e..9986f3759 100644 --- a/kernel/unified/kernel_event_logger.c +++ b/kernel/unified/kernel_event_logger.c @@ -63,12 +63,16 @@ SYS_INIT(_sys_k_event_logger_init, POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT); #ifdef CONFIG_KERNEL_EVENT_LOGGER_CUSTOM_TIMESTAMP -sys_k_timer_func_t _sys_k_timer_func; -void sys_k_event_logger_set_timer(sys_k_timer_func_t func) -{ - _sys_k_timer_func = func; -} -#endif +/* + * _sys_k_get_time() + * + * This function pointer can be invoked to generate an event timestamp. + * By default it uses the kernel's hardware clock, but can be changed + * to point to an application-defined routine. + * + */ +sys_k_timer_func_t _sys_k_get_time = sys_cycle_get_32; +#endif /* CONFIG_KERNEL_EVENT_LOGGER_CUSTOM_TIMESTAMP */ void sys_k_event_logger_put_timed(uint16_t event_id) { |