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