mirror of
https://github.com/torlando-tech/pyxis.git
synced 2026-03-29 05:19:50 +00:00
Split T-Deck firmware from microReticulum examples/lxmf_tdeck/ into its own repo. microReticulum is consumed as a git submodule dependency pinned to feat/t-deck. All include paths updated from relative symlinks to bare includes resolved via library build flags. Both tdeck (NimBLE) and tdeck-bluedroid environments compile successfully. Licensed under AGPLv3. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
189 lines
4.8 KiB
C
189 lines
4.8 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 0
|
|
#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 0
|
|
#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 0
|
|
#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
|
|
|
|
/*====================
|
|
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 */
|