86 lines
2.1 KiB
C
86 lines
2.1 KiB
C
/**
|
|
* @file lv_profiler_builtin.h
|
|
*
|
|
*/
|
|
|
|
#ifndef LV_PROFILER_BUILTIN_H
|
|
#define LV_PROFILER_BUILTIN_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*********************
|
|
* INCLUDES
|
|
*********************/
|
|
|
|
#include "../lv_conf_internal.h"
|
|
|
|
#if LV_USE_PROFILER && LV_USE_PROFILER_BUILTIN
|
|
|
|
#include "lv_types.h"
|
|
|
|
/*********************
|
|
* DEFINES
|
|
*********************/
|
|
|
|
#define LV_PROFILER_BUILTIN_BEGIN_TAG(tag) lv_profiler_builtin_write((tag), 'B')
|
|
#define LV_PROFILER_BUILTIN_END_TAG(tag) lv_profiler_builtin_write((tag), 'E')
|
|
#define LV_PROFILER_BUILTIN_BEGIN LV_PROFILER_BUILTIN_BEGIN_TAG(__func__)
|
|
#define LV_PROFILER_BUILTIN_END LV_PROFILER_BUILTIN_END_TAG(__func__)
|
|
|
|
/**********************
|
|
* TYPEDEFS
|
|
**********************/
|
|
|
|
/**********************
|
|
* GLOBAL PROTOTYPES
|
|
**********************/
|
|
|
|
/**
|
|
* @brief Initialize the configuration of the built-in profiler
|
|
* @param config Pointer to the configuration structure of the built-in profiler
|
|
*/
|
|
void lv_profiler_builtin_config_init(lv_profiler_builtin_config_t * config);
|
|
|
|
/**
|
|
* @brief Initialize the built-in profiler with the given configuration
|
|
* @param config Pointer to the configuration structure of the built-in profiler
|
|
*/
|
|
void lv_profiler_builtin_init(const lv_profiler_builtin_config_t * config);
|
|
|
|
/**
|
|
* @brief Uninitialize the built-in profiler
|
|
*/
|
|
void lv_profiler_builtin_uninit(void);
|
|
|
|
/**
|
|
* @brief Enable or disable the built-in profiler
|
|
* @param enable true to enable the built-in profiler, false to disable
|
|
*/
|
|
void lv_profiler_builtin_set_enable(bool enable);
|
|
|
|
/**
|
|
* @brief Flush the profiling data to the console
|
|
*/
|
|
void lv_profiler_builtin_flush(void);
|
|
|
|
/**
|
|
* @brief Write the profiling data for a function with the given tag
|
|
* @param func Name of the function being profiled
|
|
* @param tag Tag to associate with the profiling data for the function
|
|
*/
|
|
void lv_profiler_builtin_write(const char * func, char tag);
|
|
|
|
/**********************
|
|
* MACROS
|
|
**********************/
|
|
|
|
#endif /*LV_USE_PROFILER_BUILTIN*/
|
|
|
|
#ifdef __cplusplus
|
|
} /*extern "C"*/
|
|
#endif
|
|
|
|
#endif /*LV_PROFILER_BUILTIN_H*/
|