mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-08-17 23:55:04 +00:00
52 lines
1.1 KiB
C
52 lines
1.1 KiB
C
// SPDX-License-Identifier: Apache-2.0
|
|
#pragma once
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* @brief The LVGL module instance.
|
|
*/
|
|
extern struct Module lvgl_module;
|
|
|
|
/**
|
|
* @brief Configuration for the LVGL module.
|
|
*/
|
|
struct LvglModuleConfig {
|
|
/**
|
|
* @brief Callback invoked when the LVGL task starts.
|
|
* Use this to add devices (e.g. displays, pointers), start services, create widgets, etc.
|
|
*/
|
|
void (*on_start)(void);
|
|
|
|
/**
|
|
* @brief Callback invoked when the LVGL task stops.
|
|
* Use this to remove devices, stop services, etc.
|
|
*/
|
|
void (*on_stop)(void);
|
|
|
|
/** @brief Priority of the LVGL task. */
|
|
int task_priority;
|
|
|
|
/** @brief Stack size of the LVGL task in bytes. */
|
|
int task_stack_size;
|
|
|
|
#ifdef ESP_PLATFORM
|
|
/** @brief CPU affinity of the LVGL task (ESP32 specific). */
|
|
int task_affinity;
|
|
#endif
|
|
};
|
|
|
|
/**
|
|
* @brief Configures the LVGL module.
|
|
*
|
|
* @warning This must be called before starting the module.
|
|
* @param config The configuration to apply.
|
|
*/
|
|
void lvgl_module_configure(struct LvglModuleConfig config);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|