/** * @file lv_conf.h * @brief LVGL v9 配置(STM32F407ZGTx,160x160 单色 1bpp,离屏渲染+网络推流) * @note 本项目仅用作离屏渲染:flush 把 1bpp 像素写入内存帧缓冲, * 由 RemoDispBus 协议按需经网络发出。无真实屏、无触摸。 */ #ifndef LV_CONF_H #define LV_CONF_H /* 1bpp 单色 */ #define LV_COLOR_DEPTH 1 #define LV_COLOR_CHROMA_KEY 0x000000 /* 必需控件(lv_menu 依赖 flex/label/button) */ #define LV_USE_OBJ 1 #define LV_USE_FLEX 1 #define LV_USE_LABEL 1 #define LV_USE_BUTTON 1 #define LV_USE_MENU 1 /* 刷新周期(ms):离屏渲染,无需高刷 */ #define LV_DEF_REFR_PERIOD 20 /* 关闭动画/日志,省 RAM 与代码 */ #define LV_USE_ANIMATION 0 #define LV_USE_LOG 0 /* 不使用 LVGL 自带 OS 抽象,由 ui_task 手动调用 lv_timer_handler */ #define LV_USE_OS 0 #define LV_OS_PRIORITY 0 #define LV_OS_TASK_NAME "ui" /* 内存池:1bpp 小界面,菜单页较多,给 40KB */ #define LV_MEM_SIZE (40 * 1024) #define LV_MEM_ADR 0 /* 0 = 内部静态分配 */ /* 断言全部关闭,减少体积 */ #define LV_USE_ASSERT_NULL 0 #define LV_USE_ASSERT_MALLOC 0 #define LV_USE_ASSERT_USER_CODE 0 #define LV_USE_ASSERT_OBJ 0 #define LV_USE_ASSERT_STYLE 0 #define LV_USE_ASSERT_LAYOUT 0 /* 内置字体:先启用 Latin 以通过编译; * 中文 1bpp 字库由 fontconverter 生成后通过 ui_font_cn_12 接入并替换默认字体 */ #define LV_FONT_MONTSERRAT_12 1 #define LV_FONT_MONTSERRAT_14 0 #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_28 0 #define LV_FONT_MONTSERRAT_32 0 #define LV_FONT_MONTSERRAT_48 0 #define LV_FONT_UNSCII_8 0 #define LV_FONT_UNSCII_16 0 #define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 0 #define LV_FONT_SIMSUN_16_CJK 0 /* 预留:中文全字库(若启用需对应源文件) */ /* 默认字体:阶段一先用 Latin 12;中文接入后改为 &ui_font_cn_12 */ #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(ui_font_cn_12) #define LV_FONT_DEFAULT &ui_font_cn_12 /* 文本编码 UTF-8(菜单含中文) */ #define LV_TXT_ENC LV_TXT_ENC_UTF8 /* 主题:关闭默认主题,控件用内置基础样式,省代码 */ #define LV_USE_THEME_DEFAULT 0 #define LV_USE_THEME_BASIC 0 /* 绘制相关:1bpp 无需 GPU/抗锯齿 */ #define LV_DRAW_SW_COMPLEX_GRAD 0 #define LV_DRAW_SW_YIELD 0 #define LV_DRAW_SW_ASYNC 0 /* 输入设备:启用键盘/编码器(远程按键走 keypad) */ #define LV_USE_KEYBOARD 0 #define LV_USE_MOUSEWHEEL 0 #define LV_USE_ENCODER 0 /* 不使用的第三方扩展 */ #define LV_USE_PNG 0 #define LV_USE_BMP 0 #define LV_USE_JPG 0 #define LV_USE_GIF 0 #define LV_USE_QRCODE 0 #define LV_USE_BARCODE 0 #define LV_USE_IME_PINYIN 0 #define LV_USE_GRIDNAV 0 #define LV_USE_FRAGMENT 0 /* 裁剪未用控件,减小体积(menu/label/btn/img 等保留) */ #define LV_USE_ANIMIMG 0 #define LV_USE_ARC 0 #define LV_USE_CHART 0 #define LV_USE_CHECKBOX 0 #define LV_USE_COLORWHEEL 0 #define LV_USE_DROPDOWN 0 #define LV_USE_IMGBTN 0 #define LV_USE_KEYBOARD 0 #define LV_USE_LED 0 #define LV_USE_LIST 0 #define LV_USE_METER 0 #define LV_USE_MSGBOX 0 #define LV_USE_ROLLER 0 #define LV_USE_SCALE 0 #define LV_USE_SLIDER 0 #define LV_USE_SPAN 0 #define LV_USE_SPINBOX 0 #define LV_USE_SPINNER 0 #define LV_USE_SWITCH 0 #define LV_USE_TABVIEW 0 #define LV_USE_TILEVIEW 0 #define LV_USE_WIN 0 #define LV_USE_TABLE 0 #define LV_USE_CALENDAR 0 #define LV_USE_CANVAS 0 #define LV_USE_IMAGE 1 /* lv_menu 返回图标依赖 */ #define LV_USE_TEXTLINE 0 #endif /* LV_CONF_H */