1 /** 2 * @file lv_profiler_builtin_private.h 3 * 4 */ 5 6 #ifndef LV_PROFILER_BUILTIN_PRIVATE_H 7 #define LV_PROFILER_BUILTIN_PRIVATE_H 8 9 #ifdef __cplusplus 10 extern "C" { 11 #endif 12 13 /********************* 14 * INCLUDES 15 *********************/ 16 17 #include "lv_profiler_builtin.h" 18 19 #if LV_USE_PROFILER && LV_USE_PROFILER_BUILTIN 20 21 /********************* 22 * DEFINES 23 *********************/ 24 25 /********************** 26 * TYPEDEFS 27 **********************/ 28 29 /** 30 * @brief LVGL profiler built-in configuration structure 31 */ 32 struct _lv_profiler_builtin_config_t { 33 size_t buf_size; /**< The size of the buffer used for profiling data */ 34 uint32_t tick_per_sec; /**< The number of ticks per second */ 35 uint64_t (*tick_get_cb)(void); /**< Callback function to get the current tick count */ 36 void (*flush_cb)(const char * buf); /**< Callback function to flush the profiling data */ 37 int (*tid_get_cb)(void); /**< Callback function to get the current thread ID */ 38 int (*cpu_get_cb)(void); /**< Callback function to get the current CPU */ 39 }; 40 41 42 /********************** 43 * GLOBAL PROTOTYPES 44 **********************/ 45 46 /********************** 47 * MACROS 48 **********************/ 49 50 #endif /* LV_USE_PROFILER && LV_USE_PROFILER_BUILTIN */ 51 52 #ifdef __cplusplus 53 } /*extern "C"*/ 54 #endif 55 56 #endif /*LV_PROFILER_BUILTIN_PRIVATE_H*/ 57