e4d61b19f0
- 硬件 MADCTL 旋转,删除软件转置,LVGL 坐标与面板 1:1,消除移动残影 - 全异步 DMA:flush 启动即返回,完成/出错由 SPI 中断收尾,去掉信号量阻塞 - DMA 缓冲经 .lcd_ram 段强制放入 AXI SRAM,规避 DTCM 不可被 DMA 访问导致的白屏 - LV_COLOR_16_SWAP=1,LVGL 直出面板字节序,省去逐像素交换/拷贝 - 看门狗超时重建 SPI 自恢复,单次异常不再级联长时间白屏 - 定制 scatter(motor_ili9341_lcd.sct) 并接入 uvprojx - 新增 README_ILI9341.md 说明根因/设计/构建验证
336 lines
7.3 KiB
C
336 lines
7.3 KiB
C
/**
|
||
* @file lv_conf.h
|
||
* LVGL 8.4.0 minimal config for STM32H750 + ILI9341
|
||
*/
|
||
|
||
#ifndef LV_CONF_H
|
||
#define LV_CONF_H
|
||
|
||
#include <stdint.h>
|
||
|
||
/*====================
|
||
COLOR SETTINGS
|
||
*====================*/
|
||
|
||
#define LV_COLOR_DEPTH 16
|
||
/* =1:LVGL 直接产出 ILI9341 需要的大端字节序,SPI(8bit)+DMA 可直接搬运,
|
||
* 无需在 flush 里逐像素交换/拷贝。改动此项必须整体重编 LVGL。 */
|
||
#define LV_COLOR_16_SWAP 1
|
||
#define LV_COLOR_SCREEN_TRANSP 0
|
||
#define LV_COLOR_MIX_ROUND_OFS 0
|
||
#define LV_COLOR_CHROMA_KEY lv_color_hex(0x00ff00)
|
||
|
||
/*=========================
|
||
MEMORY SETTINGS
|
||
*=========================*/
|
||
|
||
#define LV_MEM_CUSTOM 0
|
||
|
||
#if LV_MEM_CUSTOM == 0
|
||
#define LV_MEM_SIZE (24U * 1024U)
|
||
#define LV_MEM_ADR 0
|
||
#define LV_MEM_BUF_MAX_NUM 8
|
||
#else
|
||
#define LV_MEM_CUSTOM_INCLUDE <stdlib.h>
|
||
#define LV_MEM_CUSTOM_ALLOC malloc
|
||
#define LV_MEM_CUSTOM_FREE free
|
||
#define LV_MEM_CUSTOM_REALLOC realloc
|
||
#endif
|
||
|
||
#define LV_MEMCPY_MEMSET_STD 0
|
||
|
||
/*====================
|
||
HAL SETTINGS
|
||
*====================*/
|
||
|
||
#define LV_DISP_DEF_REFR_PERIOD 30
|
||
#define LV_INDEV_DEF_READ_PERIOD 30
|
||
// #define LV_TICK_CUSTOM 0
|
||
#define LV_TICK_CUSTOM 1
|
||
|
||
#if LV_TICK_CUSTOM
|
||
#define LV_TICK_CUSTOM_INCLUDE "stm32h7xx_hal.h"
|
||
#define LV_TICK_CUSTOM_SYS_TIME_EXPR (HAL_GetTick())
|
||
#endif
|
||
|
||
#define LV_DPI_DEF 130
|
||
|
||
/*=======================
|
||
FEATURE CONFIGURATION
|
||
*=======================*/
|
||
|
||
/*----------
|
||
Drawing
|
||
*----------*/
|
||
|
||
#define LV_DRAW_COMPLEX 0
|
||
|
||
#if LV_DRAW_COMPLEX != 0
|
||
#define LV_SHADOW_CACHE_SIZE 0
|
||
#define LV_CIRCLE_CACHE_SIZE 4
|
||
#endif
|
||
|
||
#define LV_USE_GPU_STM32_DMA2D 0
|
||
#define LV_USE_GPU_NXP_PXP 0
|
||
#define LV_USE_GPU_NXP_VG_LITE 0
|
||
#define LV_USE_GPU_SDL 0
|
||
|
||
#define LV_USE_DRAW_SW_ASM 0
|
||
|
||
/*-------------
|
||
Logging
|
||
*-------------*/
|
||
|
||
#define LV_USE_LOG 0
|
||
|
||
#if LV_USE_LOG
|
||
#define LV_LOG_LEVEL LV_LOG_LEVEL_WARN
|
||
#define LV_LOG_PRINTF 0
|
||
#define LV_LOG_TRACE_MEM 0
|
||
#define LV_LOG_TRACE_TIMER 0
|
||
#define LV_LOG_TRACE_INDEV 0
|
||
#define LV_LOG_TRACE_DISP_REFR 0
|
||
#define LV_LOG_TRACE_EVENT 0
|
||
#define LV_LOG_TRACE_OBJ_CREATE 0
|
||
#define LV_LOG_TRACE_LAYOUT 0
|
||
#define LV_LOG_TRACE_ANIM 0
|
||
#endif
|
||
|
||
/*-------------
|
||
Asserts
|
||
*-------------*/
|
||
|
||
#define LV_USE_ASSERT_NULL 0
|
||
#define LV_USE_ASSERT_MALLOC 0
|
||
#define LV_USE_ASSERT_STYLE 0
|
||
#define LV_USE_ASSERT_MEM_INTEGRITY 0
|
||
#define LV_USE_ASSERT_OBJ 0
|
||
|
||
#define LV_ASSERT_HANDLER_INCLUDE <stdint.h>
|
||
#define LV_ASSERT_HANDLER while(1);
|
||
|
||
/*-------------
|
||
Others
|
||
*-------------*/
|
||
|
||
#define LV_USE_PERF_MONITOR 0
|
||
#define LV_USE_MEM_MONITOR 0
|
||
#define LV_USE_REFR_DEBUG 0
|
||
|
||
#define LV_SPRINTF_CUSTOM 0
|
||
|
||
#if LV_SPRINTF_CUSTOM
|
||
#define LV_SPRINTF_INCLUDE <stdio.h>
|
||
#define lv_snprintf snprintf
|
||
#define lv_vsnprintf vsnprintf
|
||
#else
|
||
#define LV_SPRINTF_USE_FLOAT 0
|
||
#endif
|
||
|
||
#define LV_USE_USER_DATA 0
|
||
#define LV_ENABLE_GC 0
|
||
|
||
#define LV_USE_LARGE_COORD 0
|
||
|
||
/*=====================
|
||
COMPILER SETTINGS
|
||
*=====================*/
|
||
|
||
#define LV_ATTRIBUTE_TICK_INC
|
||
#define LV_ATTRIBUTE_TIMER_HANDLER
|
||
#define LV_ATTRIBUTE_FLUSH_READY
|
||
#define LV_ATTRIBUTE_MEM_ALIGN
|
||
#define LV_ATTRIBUTE_LARGE_CONST
|
||
#define LV_ATTRIBUTE_LARGE_RAM_ARRAY
|
||
#define LV_ATTRIBUTE_FAST_MEM
|
||
#define LV_ATTRIBUTE_DMA
|
||
#define LV_ATTRIBUTE_EXTERN_DATA
|
||
|
||
#define LV_USE_FLOAT 0
|
||
|
||
#define LV_USE_BUILTIN_MALLOC 1
|
||
|
||
/*==================
|
||
FONT USAGE
|
||
*==================*/
|
||
|
||
#define LV_FONT_MONTSERRAT_8 0
|
||
#define LV_FONT_MONTSERRAT_10 0
|
||
#define LV_FONT_MONTSERRAT_12 0
|
||
#define LV_FONT_MONTSERRAT_14 1
|
||
#define LV_FONT_MONTSERRAT_16 0
|
||
#define LV_FONT_MONTSERRAT_18 0
|
||
#define LV_FONT_MONTSERRAT_20 0
|
||
#define LV_FONT_MONTSERRAT_22 0
|
||
#define LV_FONT_MONTSERRAT_24 0
|
||
#define LV_FONT_MONTSERRAT_26 0
|
||
#define LV_FONT_MONTSERRAT_28 0
|
||
#define LV_FONT_MONTSERRAT_30 0
|
||
#define LV_FONT_MONTSERRAT_32 0
|
||
#define LV_FONT_MONTSERRAT_34 0
|
||
#define LV_FONT_MONTSERRAT_36 0
|
||
#define LV_FONT_MONTSERRAT_38 0
|
||
#define LV_FONT_MONTSERRAT_40 0
|
||
#define LV_FONT_MONTSERRAT_42 0
|
||
#define LV_FONT_MONTSERRAT_44 0
|
||
#define LV_FONT_MONTSERRAT_46 0
|
||
#define LV_FONT_MONTSERRAT_48 0
|
||
|
||
#define LV_FONT_MONTSERRAT_12_SUBPX 0
|
||
#define LV_FONT_MONTSERRAT_28_COMPRESSED 0
|
||
#define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 0
|
||
#define LV_FONT_SIMSUN_16_CJK 0
|
||
#define LV_FONT_UNSCII_8 0
|
||
#define LV_FONT_UNSCII_16 0
|
||
|
||
#define LV_FONT_CUSTOM_DECLARE
|
||
|
||
#define LV_FONT_DEFAULT &lv_font_montserrat_14
|
||
|
||
#define LV_FONT_FMT_TXT_LARGE 0
|
||
#define LV_USE_FONT_COMPRESSED 0
|
||
#define LV_USE_FONT_SUBPX 0
|
||
#define LV_USE_FONT_PLACEHOLDER 0
|
||
|
||
/*=================
|
||
TEXT SETTINGS
|
||
*=================*/
|
||
|
||
#define LV_TXT_ENC LV_TXT_ENC_UTF8
|
||
#define LV_TXT_BREAK_CHARS " ,.;:-_"
|
||
#define LV_TXT_LINE_BREAK_LONG_LEN 0
|
||
#define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 3
|
||
#define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 3
|
||
#define LV_TXT_COLOR_CMD "#"
|
||
|
||
#define LV_USE_BIDI 0
|
||
#define LV_USE_ARABIC_PERSIAN_CHARS 0
|
||
|
||
/*==================
|
||
WIDGETS
|
||
*==================*/
|
||
|
||
/*
|
||
* Only keep necessary widgets:
|
||
* obj / label / button / bar
|
||
*/
|
||
|
||
#define LV_USE_ARC 0
|
||
#define LV_USE_BAR 1
|
||
#define LV_USE_BTN 1
|
||
#define LV_USE_BTNMATRIX 0
|
||
#define LV_USE_CANVAS 0
|
||
#define LV_USE_CHECKBOX 0
|
||
#define LV_USE_DROPDOWN 0
|
||
#define LV_USE_IMG 0
|
||
#define LV_USE_LABEL 1
|
||
#define LV_USE_LINE 0
|
||
#define LV_USE_ROLLER 0
|
||
#define LV_USE_SLIDER 0
|
||
#define LV_USE_SWITCH 0
|
||
#define LV_USE_TABLE 0
|
||
#define LV_USE_TEXTAREA 0
|
||
|
||
/*==================
|
||
THEMES
|
||
*==================*/
|
||
|
||
#define LV_USE_THEME_DEFAULT 0
|
||
#define LV_USE_THEME_BASIC 0
|
||
#define LV_USE_THEME_MONO 0
|
||
|
||
/*==================
|
||
LAYOUTS
|
||
*==================*/
|
||
|
||
#define LV_USE_FLEX 0
|
||
#define LV_USE_GRID 0
|
||
|
||
/*==================
|
||
EXTRA COMPONENTS
|
||
*==================*/
|
||
|
||
#define LV_USE_EXTRA 0
|
||
|
||
#define LV_USE_ANIMIMG 0
|
||
#define LV_USE_CALENDAR 0
|
||
#define LV_USE_CHART 0
|
||
#define LV_USE_COLORWHEEL 0
|
||
#define LV_USE_IMGBTN 0
|
||
#define LV_USE_KEYBOARD 0
|
||
#define LV_USE_LED 0
|
||
#define LV_USE_LIST 0
|
||
#define LV_USE_MENU 0
|
||
#define LV_USE_METER 0
|
||
#define LV_USE_MSGBOX 0
|
||
#define LV_USE_SPAN 0
|
||
#define LV_USE_SPINBOX 0
|
||
#define LV_USE_SPINNER 0
|
||
#define LV_USE_TABVIEW 0
|
||
#define LV_USE_TILEVIEW 0
|
||
#define LV_USE_WIN 0
|
||
|
||
/*==================
|
||
FILE SYSTEM
|
||
*==================*/
|
||
|
||
#define LV_USE_FS_STDIO 0
|
||
#define LV_USE_FS_POSIX 0
|
||
#define LV_USE_FS_WIN32 0
|
||
#define LV_USE_FS_FATFS 0
|
||
#define LV_USE_FS_MEMFS 0
|
||
|
||
/*==================
|
||
IMAGE DECODERS
|
||
*==================*/
|
||
|
||
#define LV_USE_PNG 0
|
||
#define LV_USE_BMP 0
|
||
#define LV_USE_SJPG 0
|
||
#define LV_USE_GIF 0
|
||
#define LV_USE_QRCODE 0
|
||
#define LV_USE_FREETYPE 0
|
||
#define LV_USE_RLOTTIE 0
|
||
#define LV_USE_FFMPEG 0
|
||
|
||
/*==================
|
||
OTHERS
|
||
*==================*/
|
||
|
||
#define LV_USE_SNAPSHOT 0
|
||
#define LV_USE_MONKEY 0
|
||
#define LV_USE_GRIDNAV 0
|
||
#define LV_USE_FRAGMENT 0
|
||
#define LV_USE_IMGFONT 0
|
||
#define LV_USE_MSG 0
|
||
#define LV_USE_IME_PINYIN 0
|
||
#define LV_USE_FILE_EXPLORER 0
|
||
|
||
/*==================
|
||
DEVICES
|
||
*==================*/
|
||
|
||
#define LV_USE_SDL 0
|
||
|
||
/*==================
|
||
EXAMPLES
|
||
*==================*/
|
||
|
||
#define LV_BUILD_EXAMPLES 0
|
||
|
||
/*==================
|
||
DEMOS
|
||
*==================*/
|
||
|
||
#define LV_USE_DEMO_WIDGETS 0
|
||
#define LV_USE_DEMO_BENCHMARK 0
|
||
#define LV_USE_DEMO_STRESS 0
|
||
#define LV_USE_DEMO_MUSIC 0
|
||
#define LV_USE_DEMO_FLEX_LAYOUT 0
|
||
#define LV_USE_DEMO_KEYPAD_AND_ENCODER 0
|
||
#define LV_USE_DEMO_MULTILANG 0
|
||
#define LV_USE_DEMO_TRANSFORM 0
|
||
#define LV_USE_DEMO_SCROLL 0
|
||
#define LV_USE_DEMO_VECTOR_GRAPHIC 0
|
||
|
||
#endif /* LV_CONF_H */ |