mirror of
https://github.com/torlando-tech/pyxis.git
synced 2026-10-08 07:17:34 +00:00
197 lines
5.3 KiB
C
197 lines
5.3 KiB
C
/**
|
|
* @file lv_conf.h
|
|
* Configuration file for LittlevGL v8.3.x
|
|
* For T-Deck Plus LXMF Messenger
|
|
*/
|
|
|
|
#ifndef LV_CONF_H
|
|
#define LV_CONF_H
|
|
|
|
#include <stdint.h>
|
|
|
|
/*====================
|
|
COLOR SETTINGS
|
|
*====================*/
|
|
#define LV_COLOR_DEPTH 16
|
|
#define LV_COLOR_16_SWAP 1 /* Swap bytes for ST7789 (big-endian) */
|
|
#define LV_COLOR_MIX_ROUND_OFS 128 /* Round to nearest color for better anti-aliasing */
|
|
|
|
/*====================
|
|
MEMORY SETTINGS
|
|
*====================*/
|
|
/* Hybrid allocator: small allocations use fast internal RAM,
|
|
* large allocations (>1KB) use PSRAM to preserve internal heap.
|
|
* This balances UI performance with memory availability. */
|
|
#define LV_MEM_CUSTOM 1
|
|
#define LV_MEM_CUSTOM_INCLUDE "lv_mem_hybrid.h"
|
|
#define LV_MEM_CUSTOM_ALLOC lv_mem_hybrid_alloc
|
|
#define LV_MEM_CUSTOM_FREE lv_mem_hybrid_free
|
|
#define LV_MEM_CUSTOM_REALLOC lv_mem_hybrid_realloc
|
|
|
|
/*====================
|
|
HAL SETTINGS
|
|
*====================*/
|
|
/* Default display refresh period in milliseconds */
|
|
#define LV_DISP_DEF_REFR_PERIOD 16 /* ~60 FPS */
|
|
|
|
/* Input device read period in milliseconds */
|
|
#define LV_INDEV_DEF_READ_PERIOD 10
|
|
|
|
/* Use a custom tick source that tells LVGL elapsed time */
|
|
#define LV_TICK_CUSTOM 1
|
|
#if LV_TICK_CUSTOM
|
|
#define LV_TICK_CUSTOM_INCLUDE <Arduino.h>
|
|
#define LV_TICK_CUSTOM_SYS_TIME_EXPR (millis())
|
|
#endif
|
|
|
|
/*====================
|
|
FEATURE CONFIGURATION
|
|
*====================*/
|
|
/* Enable GPU support if available (ESP32-S3 doesn't have LVGL GPU) */
|
|
#define LV_USE_GPU_ESP32 0
|
|
|
|
/* Drawing */
|
|
#define LV_DRAW_COMPLEX 1
|
|
#define LV_SHADOW_CACHE_SIZE 0
|
|
#define LV_CIRCLE_CACHE_SIZE 4
|
|
#define LV_IMG_CACHE_DEF_SIZE 0
|
|
#define LV_GRADIENT_MAX_STOPS 2
|
|
#define LV_GRAD_CACHE_DEF_SIZE 0
|
|
#define LV_DITHER_GRADIENT 0
|
|
#define LV_DISP_ROT_MAX_BUF (10*1024)
|
|
|
|
/*====================
|
|
LOG SETTINGS
|
|
*====================*/
|
|
#define LV_USE_LOG 0
|
|
|
|
/*====================
|
|
FONT SETTINGS
|
|
*====================*/
|
|
#define LV_FONT_MONTSERRAT_8 1
|
|
#define LV_FONT_MONTSERRAT_10 0
|
|
#define LV_FONT_MONTSERRAT_12 1
|
|
#define LV_FONT_MONTSERRAT_14 1
|
|
#define LV_FONT_MONTSERRAT_16 1
|
|
#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_DEFAULT &lv_font_montserrat_14
|
|
|
|
#define LV_FONT_FMT_TXT_LARGE 0
|
|
#define LV_USE_FONT_COMPRESSED 1 /* Required by generated NomadNet font bitmaps */
|
|
#define LV_USE_FONT_SUBPX 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
|
|
|
|
/*====================
|
|
WIDGET USAGE
|
|
*====================*/
|
|
#define LV_USE_ARC 1
|
|
#define LV_USE_BAR 1
|
|
#define LV_USE_BTN 1
|
|
#define LV_USE_BTNMATRIX 1
|
|
#define LV_USE_CANVAS 1 /* Required for QR code */
|
|
#define LV_USE_CHECKBOX 1
|
|
#define LV_USE_DROPDOWN 1
|
|
#define LV_USE_IMG 1
|
|
#define LV_USE_LABEL 1
|
|
#define LV_LABEL_TEXT_SELECTION 1
|
|
#define LV_LABEL_LONG_TXT_HINT 1
|
|
#define LV_USE_LINE 1
|
|
#define LV_USE_ROLLER 1
|
|
#define LV_ROLLER_INF_PAGES 7
|
|
#define LV_USE_SLIDER 1
|
|
#define LV_USE_SWITCH 1
|
|
#define LV_USE_TEXTAREA 1
|
|
#define LV_TEXTAREA_DEF_PWD_SHOW_TIME 1500
|
|
#define LV_USE_TABLE 1
|
|
|
|
/*====================
|
|
EXTRA WIDGETS
|
|
*====================*/
|
|
#define LV_USE_ANIMIMG 0
|
|
#define LV_USE_CALENDAR 0
|
|
#define LV_USE_CHART 0
|
|
#define LV_USE_COLORWHEEL 0
|
|
#define LV_USE_IMGBTN 1
|
|
#define LV_USE_KEYBOARD 1
|
|
#define LV_USE_LED 0
|
|
#define LV_USE_LIST 1
|
|
#define LV_USE_MENU 0
|
|
#define LV_USE_METER 0
|
|
#define LV_USE_MSGBOX 1
|
|
#define LV_USE_SPAN 1
|
|
#define LV_USE_SPINBOX 0
|
|
#define LV_USE_SPINNER 1
|
|
#define LV_USE_TABVIEW 0
|
|
#define LV_USE_TILEVIEW 0
|
|
#define LV_USE_WIN 0
|
|
|
|
/*====================
|
|
3RD PARTY LIBRARIES
|
|
*====================*/
|
|
#define LV_USE_QRCODE 1
|
|
#define LV_USE_PNG 1 /* Worker-only lodepng decode; never file-source rendering. */
|
|
|
|
/* lv_snapshot_take() — used by the T:SCREENSHOT serial command for
|
|
* docs and automated UI testing. Pulls a full-screen RGB565 buffer
|
|
* (320x240x2 = 153KB) into a heap allocation; with LV_MEM_CUSTOM_ALLOC
|
|
* routing >1KB to PSRAM this lands in PSRAM and doesn't compete with
|
|
* internal RAM. ~5KB code-size cost. See scripts/screenshot.py. */
|
|
#define LV_USE_SNAPSHOT 1
|
|
|
|
/*====================
|
|
THEMES
|
|
*====================*/
|
|
#define LV_USE_THEME_DEFAULT 1
|
|
#define LV_THEME_DEFAULT_DARK 1
|
|
#define LV_THEME_DEFAULT_GROW 1
|
|
#define LV_THEME_DEFAULT_TRANSITION_TIME 80
|
|
#define LV_USE_THEME_BASIC 1
|
|
#define LV_USE_THEME_MONO 0
|
|
|
|
/*====================
|
|
LAYOUTS
|
|
*====================*/
|
|
#define LV_USE_FLEX 1
|
|
#define LV_USE_GRID 1
|
|
|
|
/*====================
|
|
OTHER SETTINGS
|
|
*====================*/
|
|
#define LV_USE_ASSERT_NULL 1
|
|
#define LV_USE_ASSERT_MALLOC 1
|
|
#define LV_USE_ASSERT_STYLE 0
|
|
#define LV_USE_ASSERT_MEM_INTEGRITY 0
|
|
#define LV_USE_ASSERT_OBJ 0
|
|
|
|
#define LV_SPRINTF_CUSTOM 0
|
|
#define LV_SPRINTF_USE_FLOAT 0
|
|
|
|
#endif /* LV_CONF_H */
|