STM32H750XB_Hello/Core/Src/user_lvgl_impl.c

29 lines
989 B
C

#include "stm32h7xx_hal.h"
#include "printf.h"
#include "user_lvgl_impl.h"
extern LTDC_HandleTypeDef hltdc;
void user_lvgl_impl_log_cb(lv_log_level_t level, const char *file, uint32_t line, const char *fn_name, const char *dsc) {
if(level == LV_LOG_LEVEL_ERROR) printf("\033[31m[ERROR] ");
if(level == LV_LOG_LEVEL_WARN) printf("\033[33m[ WARN] ");
if(level == LV_LOG_LEVEL_INFO) printf("\033[34m[ INFO] ");
if(level == LV_LOG_LEVEL_TRACE) printf("\033[36m[TRACE] ");
printf("%s:%d, %s(): %s", file, line, fn_name, dsc);
printf("\033[m\r\n");
}
void user_lvgl_impl_flush_cb(lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p) {
if(HAL_LTDC_SetAddress(&hltdc, (uint32_t)color_p, LTDC_LAYER_1) != HAL_OK) {
printf("Set LTDC address error.\r\n");
}
lv_disp_flush_ready(disp_drv);
}
void user_lvgl_impl_clean_dcache_cb(lv_disp_drv_t *disp_drv) {
SCB_CleanInvalidateDCache_by_Addr((uint32_t *)0xD0100000, 0x00400000);
}