GUI

Dependencies:   BSP_DISCO_F746NG

Committer:
inistol
Date:
Mon Jan 13 15:13:51 2020 +0000
Revision:
0:78fce1e0dede
Test GUI

Who changed what in which revision?

UserRevisionLine numberNew contents of line
inistol 0:78fce1e0dede 1 /**
inistol 0:78fce1e0dede 2 * @file lv_conf.h
inistol 0:78fce1e0dede 3 *
inistol 0:78fce1e0dede 4 */
inistol 0:78fce1e0dede 5
inistol 0:78fce1e0dede 6 /*
inistol 0:78fce1e0dede 7 * COPY THIS FILE AS `lv_conf.h` NEXT TO the `lvgl` FOLDER
inistol 0:78fce1e0dede 8 */
inistol 0:78fce1e0dede 9
inistol 0:78fce1e0dede 10 #if 1 /*Set it to "1" to enable content*/
inistol 0:78fce1e0dede 11
inistol 0:78fce1e0dede 12 #ifndef LV_CONF_H
inistol 0:78fce1e0dede 13 #define LV_CONF_H
inistol 0:78fce1e0dede 14 /* clang-format off */
inistol 0:78fce1e0dede 15
inistol 0:78fce1e0dede 16 #include <stdint.h>
inistol 0:78fce1e0dede 17
inistol 0:78fce1e0dede 18 /*====================
inistol 0:78fce1e0dede 19 Graphical settings
inistol 0:78fce1e0dede 20 *====================*/
inistol 0:78fce1e0dede 21
inistol 0:78fce1e0dede 22 /* Maximal horizontal and vertical resolution to support by the library.*/
inistol 0:78fce1e0dede 23 #define LV_HOR_RES_MAX 480
inistol 0:78fce1e0dede 24 #define LV_VER_RES_MAX 320
inistol 0:78fce1e0dede 25
inistol 0:78fce1e0dede 26 /* Color depth:
inistol 0:78fce1e0dede 27 * - 1: 1 byte per pixel
inistol 0:78fce1e0dede 28 * - 8: RGB233
inistol 0:78fce1e0dede 29 * - 16: RGB565
inistol 0:78fce1e0dede 30 * - 32: ARGB8888
inistol 0:78fce1e0dede 31 */
inistol 0:78fce1e0dede 32 #define LV_COLOR_DEPTH 32
inistol 0:78fce1e0dede 33
inistol 0:78fce1e0dede 34 /* Swap the 2 bytes of RGB565 color.
inistol 0:78fce1e0dede 35 * Useful if the display has a 8 bit interface (e.g. SPI)*/
inistol 0:78fce1e0dede 36 #define LV_COLOR_16_SWAP 0
inistol 0:78fce1e0dede 37
inistol 0:78fce1e0dede 38 /* 1: Enable screen transparency.
inistol 0:78fce1e0dede 39 * Useful for OSD or other overlapping GUIs.
inistol 0:78fce1e0dede 40 * Requires `LV_COLOR_DEPTH = 32` colors and the screen's style should be modified: `style.body.opa = ...`*/
inistol 0:78fce1e0dede 41 #define LV_COLOR_SCREEN_TRANSP 0
inistol 0:78fce1e0dede 42
inistol 0:78fce1e0dede 43 /*Images pixels with this color will not be drawn (with chroma keying)*/
inistol 0:78fce1e0dede 44 #define LV_COLOR_TRANSP LV_COLOR_LIME /*LV_COLOR_LIME: pure green*/
inistol 0:78fce1e0dede 45
inistol 0:78fce1e0dede 46 /* Enable chroma keying for indexed images. */
inistol 0:78fce1e0dede 47 #define LV_INDEXED_CHROMA 1
inistol 0:78fce1e0dede 48
inistol 0:78fce1e0dede 49 /* Enable anti-aliasing (lines, and radiuses will be smoothed) */
inistol 0:78fce1e0dede 50 #define LV_ANTIALIAS 1
inistol 0:78fce1e0dede 51
inistol 0:78fce1e0dede 52 /* Default display refresh period.
inistol 0:78fce1e0dede 53 * Can be changed in the display driver (`lv_disp_drv_t`).*/
inistol 0:78fce1e0dede 54 #define LV_DISP_DEF_REFR_PERIOD 30 /*[ms]*/
inistol 0:78fce1e0dede 55
inistol 0:78fce1e0dede 56 /* Dot Per Inch: used to initialize default sizes.
inistol 0:78fce1e0dede 57 * E.g. a button with width = LV_DPI / 2 -> half inch wide
inistol 0:78fce1e0dede 58 * (Not so important, you can adjust it to modify default sizes and spaces)*/
inistol 0:78fce1e0dede 59 #define LV_DPI 100 /*[px]*/
inistol 0:78fce1e0dede 60
inistol 0:78fce1e0dede 61 /* Type of coordinates. Should be `int16_t` (or `int32_t` for extreme cases) */
inistol 0:78fce1e0dede 62 typedef int16_t lv_coord_t;
inistol 0:78fce1e0dede 63
inistol 0:78fce1e0dede 64 /*=========================
inistol 0:78fce1e0dede 65 Memory manager settings
inistol 0:78fce1e0dede 66 *=========================*/
inistol 0:78fce1e0dede 67
inistol 0:78fce1e0dede 68 /* LittelvGL's internal memory manager's settings.
inistol 0:78fce1e0dede 69 * The graphical objects and other related data are stored here. */
inistol 0:78fce1e0dede 70
inistol 0:78fce1e0dede 71 /* 1: use custom malloc/free, 0: use the built-in `lv_mem_alloc` and `lv_mem_free` */
inistol 0:78fce1e0dede 72 #define LV_MEM_CUSTOM 0
inistol 0:78fce1e0dede 73 #if LV_MEM_CUSTOM == 0
inistol 0:78fce1e0dede 74 /* Size of the memory used by `lv_mem_alloc` in bytes (>= 2kB)*/
inistol 0:78fce1e0dede 75 # define LV_MEM_SIZE (32U * 1024U)
inistol 0:78fce1e0dede 76
inistol 0:78fce1e0dede 77 /* Complier prefix for a big array declaration */
inistol 0:78fce1e0dede 78 # define LV_MEM_ATTR
inistol 0:78fce1e0dede 79
inistol 0:78fce1e0dede 80 /* Set an address for the memory pool instead of allocating it as an array.
inistol 0:78fce1e0dede 81 * Can be in external SRAM too. */
inistol 0:78fce1e0dede 82 # define LV_MEM_ADR 0
inistol 0:78fce1e0dede 83
inistol 0:78fce1e0dede 84 /* Automatically defrag. on free. Defrag. means joining the adjacent free cells. */
inistol 0:78fce1e0dede 85 # define LV_MEM_AUTO_DEFRAG 1
inistol 0:78fce1e0dede 86 #else /*LV_MEM_CUSTOM*/
inistol 0:78fce1e0dede 87 # define LV_MEM_CUSTOM_INCLUDE <stdlib.h> /*Header for the dynamic memory function*/
inistol 0:78fce1e0dede 88 # define LV_MEM_CUSTOM_ALLOC malloc /*Wrapper to malloc*/
inistol 0:78fce1e0dede 89 # define LV_MEM_CUSTOM_FREE free /*Wrapper to free*/
inistol 0:78fce1e0dede 90 #endif /*LV_MEM_CUSTOM*/
inistol 0:78fce1e0dede 91
inistol 0:78fce1e0dede 92 /* Garbage Collector settings
inistol 0:78fce1e0dede 93 * Used if lvgl is binded to higher level language and the memory is managed by that language */
inistol 0:78fce1e0dede 94 #define LV_ENABLE_GC 0
inistol 0:78fce1e0dede 95 #if LV_ENABLE_GC != 0
inistol 0:78fce1e0dede 96 # define LV_GC_INCLUDE "gc.h" /*Include Garbage Collector related things*/
inistol 0:78fce1e0dede 97 # define LV_MEM_CUSTOM_REALLOC your_realloc /*Wrapper to realloc*/
inistol 0:78fce1e0dede 98 # define LV_MEM_CUSTOM_GET_SIZE your_mem_get_size /*Wrapper to lv_mem_get_size*/
inistol 0:78fce1e0dede 99 #endif /* LV_ENABLE_GC */
inistol 0:78fce1e0dede 100
inistol 0:78fce1e0dede 101 /*=======================
inistol 0:78fce1e0dede 102 Input device settings
inistol 0:78fce1e0dede 103 *=======================*/
inistol 0:78fce1e0dede 104
inistol 0:78fce1e0dede 105 /* Input device default settings.
inistol 0:78fce1e0dede 106 * Can be changed in the Input device driver (`lv_indev_drv_t`)*/
inistol 0:78fce1e0dede 107
inistol 0:78fce1e0dede 108 /* Input device read period in milliseconds */
inistol 0:78fce1e0dede 109 #define LV_INDEV_DEF_READ_PERIOD 30
inistol 0:78fce1e0dede 110
inistol 0:78fce1e0dede 111 /* Drag threshold in pixels */
inistol 0:78fce1e0dede 112 #define LV_INDEV_DEF_DRAG_LIMIT 10
inistol 0:78fce1e0dede 113
inistol 0:78fce1e0dede 114 /* Drag throw slow-down in [%]. Greater value -> faster slow-down */
inistol 0:78fce1e0dede 115 #define LV_INDEV_DEF_DRAG_THROW 20
inistol 0:78fce1e0dede 116
inistol 0:78fce1e0dede 117 /* Long press time in milliseconds.
inistol 0:78fce1e0dede 118 * Time to send `LV_EVENT_LONG_PRESSSED`) */
inistol 0:78fce1e0dede 119 #define LV_INDEV_DEF_LONG_PRESS_TIME 400
inistol 0:78fce1e0dede 120
inistol 0:78fce1e0dede 121 /* Repeated trigger period in long press [ms]
inistol 0:78fce1e0dede 122 * Time between `LV_EVENT_LONG_PRESSED_REPEAT */
inistol 0:78fce1e0dede 123 #define LV_INDEV_DEF_LONG_PRESS_REP_TIME 100
inistol 0:78fce1e0dede 124
inistol 0:78fce1e0dede 125 /*==================
inistol 0:78fce1e0dede 126 * Feature usage
inistol 0:78fce1e0dede 127 *==================*/
inistol 0:78fce1e0dede 128
inistol 0:78fce1e0dede 129 /*1: Enable the Animations */
inistol 0:78fce1e0dede 130 #define LV_USE_ANIMATION 1
inistol 0:78fce1e0dede 131 #if LV_USE_ANIMATION
inistol 0:78fce1e0dede 132
inistol 0:78fce1e0dede 133 /*Declare the type of the user data of animations (can be e.g. `void *`, `int`, `struct`)*/
inistol 0:78fce1e0dede 134 typedef void * lv_anim_user_data_t;
inistol 0:78fce1e0dede 135
inistol 0:78fce1e0dede 136 #endif
inistol 0:78fce1e0dede 137
inistol 0:78fce1e0dede 138 /* 1: Enable shadow drawing*/
inistol 0:78fce1e0dede 139 #define LV_USE_SHADOW 1
inistol 0:78fce1e0dede 140
inistol 0:78fce1e0dede 141 /* 1: Enable object groups (for keyboard/encoder navigation) */
inistol 0:78fce1e0dede 142 #define LV_USE_GROUP 1
inistol 0:78fce1e0dede 143 #if LV_USE_GROUP
inistol 0:78fce1e0dede 144 typedef void * lv_group_user_data_t;
inistol 0:78fce1e0dede 145 #endif /*LV_USE_GROUP*/
inistol 0:78fce1e0dede 146
inistol 0:78fce1e0dede 147 /* 1: Enable GPU interface*/
inistol 0:78fce1e0dede 148 #define LV_USE_GPU 1
inistol 0:78fce1e0dede 149
inistol 0:78fce1e0dede 150 /* 1: Enable file system (might be required for images */
inistol 0:78fce1e0dede 151 #define LV_USE_FILESYSTEM 1
inistol 0:78fce1e0dede 152 #if LV_USE_FILESYSTEM
inistol 0:78fce1e0dede 153 /*Declare the type of the user data of file system drivers (can be e.g. `void *`, `int`, `struct`)*/
inistol 0:78fce1e0dede 154 typedef void * lv_fs_drv_user_data_t;
inistol 0:78fce1e0dede 155 #endif
inistol 0:78fce1e0dede 156
inistol 0:78fce1e0dede 157 /*1: Add a `user_data` to drivers and objects*/
inistol 0:78fce1e0dede 158 #define LV_USE_USER_DATA 0
inistol 0:78fce1e0dede 159
inistol 0:78fce1e0dede 160 /*========================
inistol 0:78fce1e0dede 161 * Image decoder and cache
inistol 0:78fce1e0dede 162 *========================*/
inistol 0:78fce1e0dede 163
inistol 0:78fce1e0dede 164 /* 1: Enable indexed (palette) images */
inistol 0:78fce1e0dede 165 #define LV_IMG_CF_INDEXED 1
inistol 0:78fce1e0dede 166
inistol 0:78fce1e0dede 167 /* 1: Enable alpha indexed images */
inistol 0:78fce1e0dede 168 #define LV_IMG_CF_ALPHA 1
inistol 0:78fce1e0dede 169
inistol 0:78fce1e0dede 170 /* Default image cache size. Image caching keeps the images opened.
inistol 0:78fce1e0dede 171 * If only the built-in image formats are used there is no real advantage of caching.
inistol 0:78fce1e0dede 172 * (I.e. no new image decoder is added)
inistol 0:78fce1e0dede 173 * With complex image decoders (e.g. PNG or JPG) caching can save the continuous open/decode of images.
inistol 0:78fce1e0dede 174 * However the opened images might consume additional RAM.
inistol 0:78fce1e0dede 175 * LV_IMG_CACHE_DEF_SIZE must be >= 1 */
inistol 0:78fce1e0dede 176 #define LV_IMG_CACHE_DEF_SIZE 1
inistol 0:78fce1e0dede 177
inistol 0:78fce1e0dede 178 /*Declare the type of the user data of image decoder (can be e.g. `void *`, `int`, `struct`)*/
inistol 0:78fce1e0dede 179 typedef void * lv_img_decoder_user_data_t;
inistol 0:78fce1e0dede 180
inistol 0:78fce1e0dede 181 /*=====================
inistol 0:78fce1e0dede 182 * Compiler settings
inistol 0:78fce1e0dede 183 *====================*/
inistol 0:78fce1e0dede 184 /* Define a custom attribute to `lv_tick_inc` function */
inistol 0:78fce1e0dede 185 #define LV_ATTRIBUTE_TICK_INC
inistol 0:78fce1e0dede 186
inistol 0:78fce1e0dede 187 /* Define a custom attribute to `lv_task_handler` function */
inistol 0:78fce1e0dede 188 #define LV_ATTRIBUTE_TASK_HANDLER
inistol 0:78fce1e0dede 189
inistol 0:78fce1e0dede 190 /* With size optimization (-Os) the compiler might not align data to
inistol 0:78fce1e0dede 191 * 4 or 8 byte boundary. This alignment will be explicitly applied where needed.
inistol 0:78fce1e0dede 192 * E.g. __attribute__((aligned(4))) */
inistol 0:78fce1e0dede 193 #define LV_ATTRIBUTE_MEM_ALIGN
inistol 0:78fce1e0dede 194
inistol 0:78fce1e0dede 195 /* Attribute to mark large constant arrays for example
inistol 0:78fce1e0dede 196 * font's bitmaps */
inistol 0:78fce1e0dede 197 #define LV_ATTRIBUTE_LARGE_CONST
inistol 0:78fce1e0dede 198
inistol 0:78fce1e0dede 199 /* Export integer constant to binding.
inistol 0:78fce1e0dede 200 * This macro is used with constants in the form of LV_<CONST> that
inistol 0:78fce1e0dede 201 * should also appear on lvgl binding API such as Micropython
inistol 0:78fce1e0dede 202 *
inistol 0:78fce1e0dede 203 * The default value just prevents a GCC warning.
inistol 0:78fce1e0dede 204 */
inistol 0:78fce1e0dede 205 #define LV_EXPORT_CONST_INT(int_value) struct _silence_gcc_warning
inistol 0:78fce1e0dede 206
inistol 0:78fce1e0dede 207 /*===================
inistol 0:78fce1e0dede 208 * HAL settings
inistol 0:78fce1e0dede 209 *==================*/
inistol 0:78fce1e0dede 210
inistol 0:78fce1e0dede 211 /* 1: use a custom tick source.
inistol 0:78fce1e0dede 212 * It removes the need to manually update the tick with `lv_tick_inc`) */
inistol 0:78fce1e0dede 213 #define LV_TICK_CUSTOM 1
inistol 0:78fce1e0dede 214 #if LV_TICK_CUSTOM == 1
inistol 0:78fce1e0dede 215 #define LV_TICK_CUSTOM_INCLUDE "something.h" /*Header for the sys time function*/
inistol 0:78fce1e0dede 216 #define LV_TICK_CUSTOM_SYS_TIME_EXPR (millis()) /*Expression evaluating to current systime in ms*/
inistol 0:78fce1e0dede 217 #endif /*LV_TICK_CUSTOM*/
inistol 0:78fce1e0dede 218
inistol 0:78fce1e0dede 219 typedef void * lv_disp_drv_user_data_t; /*Type of user data in the display driver*/
inistol 0:78fce1e0dede 220 typedef void * lv_indev_drv_user_data_t; /*Type of user data in the input device driver*/
inistol 0:78fce1e0dede 221
inistol 0:78fce1e0dede 222 /*================
inistol 0:78fce1e0dede 223 * Log settings
inistol 0:78fce1e0dede 224 *===============*/
inistol 0:78fce1e0dede 225
inistol 0:78fce1e0dede 226 /*1: Enable the log module*/
inistol 0:78fce1e0dede 227 #define LV_USE_LOG 0
inistol 0:78fce1e0dede 228 #if LV_USE_LOG
inistol 0:78fce1e0dede 229 /* How important log should be added:
inistol 0:78fce1e0dede 230 * LV_LOG_LEVEL_TRACE A lot of logs to give detailed information
inistol 0:78fce1e0dede 231 * LV_LOG_LEVEL_INFO Log important events
inistol 0:78fce1e0dede 232 * LV_LOG_LEVEL_WARN Log if something unwanted happened but didn't cause a problem
inistol 0:78fce1e0dede 233 * LV_LOG_LEVEL_ERROR Only critical issue, when the system may fail
inistol 0:78fce1e0dede 234 * LV_LOG_LEVEL_NONE Do not log anything
inistol 0:78fce1e0dede 235 */
inistol 0:78fce1e0dede 236 # define LV_LOG_LEVEL LV_LOG_LEVEL_WARN
inistol 0:78fce1e0dede 237
inistol 0:78fce1e0dede 238 /* 1: Print the log with 'printf';
inistol 0:78fce1e0dede 239 * 0: user need to register a callback with `lv_log_register_print_cb`*/
inistol 0:78fce1e0dede 240 # define LV_LOG_PRINTF 0
inistol 0:78fce1e0dede 241 #endif /*LV_USE_LOG*/
inistol 0:78fce1e0dede 242
inistol 0:78fce1e0dede 243 /*=================
inistol 0:78fce1e0dede 244 * Debug settings
inistol 0:78fce1e0dede 245 *================*/
inistol 0:78fce1e0dede 246
inistol 0:78fce1e0dede 247 /* If Debug is enabled LittelvGL validates the parameters of the functions.
inistol 0:78fce1e0dede 248 * If an invalid parameter is found an error log message is printed and
inistol 0:78fce1e0dede 249 * the MCU halts at the error. (`LV_USE_LOG` should be enabled)
inistol 0:78fce1e0dede 250 * If you are debugging the MCU you can pause
inistol 0:78fce1e0dede 251 * the debugger to see exactly where the issue is.
inistol 0:78fce1e0dede 252 *
inistol 0:78fce1e0dede 253 * The behavior of asserts can be overwritten by redefining them here.
inistol 0:78fce1e0dede 254 * E.g. #define LV_ASSERT_MEM(p) <my_assert_code>
inistol 0:78fce1e0dede 255 */
inistol 0:78fce1e0dede 256 #define LV_USE_DEBUG 1
inistol 0:78fce1e0dede 257 #if LV_USE_DEBUG
inistol 0:78fce1e0dede 258
inistol 0:78fce1e0dede 259 /*Check if the parameter is NULL. (Quite fast) */
inistol 0:78fce1e0dede 260 #define LV_USE_ASSERT_NULL 1
inistol 0:78fce1e0dede 261
inistol 0:78fce1e0dede 262 /*Checks is the memory is successfully allocated or no. (Quite fast)*/
inistol 0:78fce1e0dede 263 #define LV_USE_ASSERT_MEM 1
inistol 0:78fce1e0dede 264
inistol 0:78fce1e0dede 265 /* Check the strings.
inistol 0:78fce1e0dede 266 * Search for NULL, very long strings, invalid characters, and unnatural repetitions. (Slow)
inistol 0:78fce1e0dede 267 * If disabled `LV_USE_ASSERT_NULL` will be performed instead (if it's enabled) */
inistol 0:78fce1e0dede 268 #define LV_USE_ASSERT_STR 0
inistol 0:78fce1e0dede 269
inistol 0:78fce1e0dede 270 /* Check NULL, the object's type and existence (e.g. not deleted). (Quite slow)
inistol 0:78fce1e0dede 271 * If disabled `LV_USE_ASSERT_NULL` will be performed instead (if it's enabled) */
inistol 0:78fce1e0dede 272 #define LV_USE_ASSERT_OBJ 0
inistol 0:78fce1e0dede 273
inistol 0:78fce1e0dede 274 /*Check if the styles are properly initialized. (Fast)*/
inistol 0:78fce1e0dede 275 #define LV_USE_ASSERT_STYLE 1
inistol 0:78fce1e0dede 276
inistol 0:78fce1e0dede 277 #endif /*LV_USE_DEBUG*/
inistol 0:78fce1e0dede 278
inistol 0:78fce1e0dede 279 /*================
inistol 0:78fce1e0dede 280 * THEME USAGE
inistol 0:78fce1e0dede 281 *================*/
inistol 0:78fce1e0dede 282 #define LV_THEME_LIVE_UPDATE 0 /*1: Allow theme switching at run time. Uses 8..10 kB of RAM*/
inistol 0:78fce1e0dede 283
inistol 0:78fce1e0dede 284 #define LV_USE_THEME_TEMPL 0 /*Just for test*/
inistol 0:78fce1e0dede 285 #define LV_USE_THEME_DEFAULT 0 /*Built mainly from the built-in styles. Consumes very few RAM*/
inistol 0:78fce1e0dede 286 #define LV_USE_THEME_ALIEN 0 /*Dark futuristic theme*/
inistol 0:78fce1e0dede 287 #define LV_USE_THEME_NIGHT 0 /*Dark elegant theme*/
inistol 0:78fce1e0dede 288 #define LV_USE_THEME_MONO 0 /*Mono color theme for monochrome displays*/
inistol 0:78fce1e0dede 289 #define LV_USE_THEME_MATERIAL 0 /*Flat theme with bold colors and light shadows*/
inistol 0:78fce1e0dede 290 #define LV_USE_THEME_ZEN 0 /*Peaceful, mainly light theme */
inistol 0:78fce1e0dede 291 #define LV_USE_THEME_NEMO 0 /*Water-like theme based on the movie "Finding Nemo"*/
inistol 0:78fce1e0dede 292
inistol 0:78fce1e0dede 293 /*==================
inistol 0:78fce1e0dede 294 * FONT USAGE
inistol 0:78fce1e0dede 295 *===================*/
inistol 0:78fce1e0dede 296
inistol 0:78fce1e0dede 297 /* The built-in fonts contains the ASCII range and some Symbols with 4 bit-per-pixel.
inistol 0:78fce1e0dede 298 * The symbols are available via `LV_SYMBOL_...` defines
inistol 0:78fce1e0dede 299 * More info about fonts: https://docs.littlevgl.com/#Fonts
inistol 0:78fce1e0dede 300 * To create a new font go to: https://littlevgl.com/ttf-font-to-c-array
inistol 0:78fce1e0dede 301 */
inistol 0:78fce1e0dede 302
inistol 0:78fce1e0dede 303 /* Robot fonts with bpp = 4
inistol 0:78fce1e0dede 304 * https://fonts.google.com/specimen/Roboto */
inistol 0:78fce1e0dede 305 #define LV_FONT_ROBOTO_12 0
inistol 0:78fce1e0dede 306 #define LV_FONT_ROBOTO_16 1
inistol 0:78fce1e0dede 307 #define LV_FONT_ROBOTO_22 0
inistol 0:78fce1e0dede 308 #define LV_FONT_ROBOTO_28 0
inistol 0:78fce1e0dede 309
inistol 0:78fce1e0dede 310 /* Demonstrate special features */
inistol 0:78fce1e0dede 311 #define LV_FONT_ROBOTO_12_SUBPX 1
inistol 0:78fce1e0dede 312 #define LV_FONT_ROBOTO_28_COMPRESSED 1 /*bpp = 3*/
inistol 0:78fce1e0dede 313
inistol 0:78fce1e0dede 314 /*Pixel perfect monospace font
inistol 0:78fce1e0dede 315 * http://pelulamu.net/unscii/ */
inistol 0:78fce1e0dede 316 #define LV_FONT_UNSCII_8 0
inistol 0:78fce1e0dede 317
inistol 0:78fce1e0dede 318 /* Optionally declare your custom fonts here.
inistol 0:78fce1e0dede 319 * You can use these fonts as default font too
inistol 0:78fce1e0dede 320 * and they will be available globally. E.g.
inistol 0:78fce1e0dede 321 * #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(my_font_1) \
inistol 0:78fce1e0dede 322 * LV_FONT_DECLARE(my_font_2)
inistol 0:78fce1e0dede 323 */
inistol 0:78fce1e0dede 324 #define LV_FONT_CUSTOM_DECLARE
inistol 0:78fce1e0dede 325
inistol 0:78fce1e0dede 326 /*Always set a default font from the built-in fonts*/
inistol 0:78fce1e0dede 327 #define LV_FONT_DEFAULT &lv_font_roboto_16
inistol 0:78fce1e0dede 328
inistol 0:78fce1e0dede 329 /* Enable it if you have fonts with a lot of characters.
inistol 0:78fce1e0dede 330 * The limit depends on the font size, font face and bpp
inistol 0:78fce1e0dede 331 * but with > 10,000 characters if you see issues probably you need to enable it.*/
inistol 0:78fce1e0dede 332 #define LV_FONT_FMT_TXT_LARGE 0
inistol 0:78fce1e0dede 333
inistol 0:78fce1e0dede 334 /* Set the pixel order of the display.
inistol 0:78fce1e0dede 335 * Important only if "subpx fonts" are used.
inistol 0:78fce1e0dede 336 * With "normal" font it doesn't matter.
inistol 0:78fce1e0dede 337 */
inistol 0:78fce1e0dede 338 #define LV_FONT_SUBPX_BGR 0
inistol 0:78fce1e0dede 339
inistol 0:78fce1e0dede 340 /*Declare the type of the user data of fonts (can be e.g. `void *`, `int`, `struct`)*/
inistol 0:78fce1e0dede 341 typedef void * lv_font_user_data_t;
inistol 0:78fce1e0dede 342
inistol 0:78fce1e0dede 343 /*=================
inistol 0:78fce1e0dede 344 * Text settings
inistol 0:78fce1e0dede 345 *=================*/
inistol 0:78fce1e0dede 346
inistol 0:78fce1e0dede 347 /* Select a character encoding for strings.
inistol 0:78fce1e0dede 348 * Your IDE or editor should have the same character encoding
inistol 0:78fce1e0dede 349 * - LV_TXT_ENC_UTF8
inistol 0:78fce1e0dede 350 * - LV_TXT_ENC_ASCII
inistol 0:78fce1e0dede 351 * */
inistol 0:78fce1e0dede 352 #define LV_TXT_ENC LV_TXT_ENC_UTF8
inistol 0:78fce1e0dede 353
inistol 0:78fce1e0dede 354 /*Can break (wrap) texts on these chars*/
inistol 0:78fce1e0dede 355 #define LV_TXT_BREAK_CHARS " ,.;:-_"
inistol 0:78fce1e0dede 356
inistol 0:78fce1e0dede 357 /* If a word is at least this long, will break wherever "prettiest"
inistol 0:78fce1e0dede 358 * To disable, set to a value <= 0 */
inistol 0:78fce1e0dede 359 #define LV_TXT_LINE_BREAK_LONG_LEN 12
inistol 0:78fce1e0dede 360
inistol 0:78fce1e0dede 361 /* Minimum number of characters in a long word to put on a line before a break.
inistol 0:78fce1e0dede 362 * Depends on LV_TXT_LINE_BREAK_LONG_LEN. */
inistol 0:78fce1e0dede 363 #define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 3
inistol 0:78fce1e0dede 364
inistol 0:78fce1e0dede 365 /* Minimum number of characters in a long word to put on a line after a break.
inistol 0:78fce1e0dede 366 * Depends on LV_TXT_LINE_BREAK_LONG_LEN. */
inistol 0:78fce1e0dede 367 #define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 3
inistol 0:78fce1e0dede 368
inistol 0:78fce1e0dede 369 /* The control character to use for signalling text recoloring. */
inistol 0:78fce1e0dede 370 #define LV_TXT_COLOR_CMD "#"
inistol 0:78fce1e0dede 371
inistol 0:78fce1e0dede 372 /* Support bidirectional texts.
inistol 0:78fce1e0dede 373 * Allows mixing Left-to-Right and Right-to-Left texts.
inistol 0:78fce1e0dede 374 * The direction will be processed according to the Unicode Bidirectioanl Algorithm:
inistol 0:78fce1e0dede 375 * https://www.w3.org/International/articles/inline-bidi-markup/uba-basics*/
inistol 0:78fce1e0dede 376 #define LV_USE_BIDI 0
inistol 0:78fce1e0dede 377 #if LV_USE_BIDI
inistol 0:78fce1e0dede 378 /* Set the default direction. Supported values:
inistol 0:78fce1e0dede 379 * `LV_BIDI_DIR_LTR` Left-to-Right
inistol 0:78fce1e0dede 380 * `LV_BIDI_DIR_RTL` Right-to-Left
inistol 0:78fce1e0dede 381 * `LV_BIDI_DIR_AUTO` detect texts base direction */
inistol 0:78fce1e0dede 382 #define LV_BIDI_BASE_DIR_DEF LV_BIDI_DIR_AUTO
inistol 0:78fce1e0dede 383 #endif
inistol 0:78fce1e0dede 384
inistol 0:78fce1e0dede 385 /*Change the built in (v)snprintf functions*/
inistol 0:78fce1e0dede 386 #define LV_SPRINTF_CUSTOM 0
inistol 0:78fce1e0dede 387 #if LV_SPRINTF_CUSTOM
inistol 0:78fce1e0dede 388 # define LV_SPRINTF_INCLUDE <stdio.h>
inistol 0:78fce1e0dede 389 # define lv_snprintf snprintf
inistol 0:78fce1e0dede 390 # define lv_vsnprintf vsnprintf
inistol 0:78fce1e0dede 391 #endif /*LV_SPRINTF_CUSTOM*/
inistol 0:78fce1e0dede 392
inistol 0:78fce1e0dede 393 /*===================
inistol 0:78fce1e0dede 394 * LV_OBJ SETTINGS
inistol 0:78fce1e0dede 395 *==================*/
inistol 0:78fce1e0dede 396
inistol 0:78fce1e0dede 397 /*Declare the type of the user data of object (can be e.g. `void *`, `int`, `struct`)*/
inistol 0:78fce1e0dede 398 typedef void * lv_obj_user_data_t;
inistol 0:78fce1e0dede 399
inistol 0:78fce1e0dede 400 /*1: enable `lv_obj_realaign()` based on `lv_obj_align()` parameters*/
inistol 0:78fce1e0dede 401 #define LV_USE_OBJ_REALIGN 1
inistol 0:78fce1e0dede 402
inistol 0:78fce1e0dede 403 /* Enable to make the object clickable on a larger area.
inistol 0:78fce1e0dede 404 * LV_EXT_CLICK_AREA_OFF or 0: Disable this feature
inistol 0:78fce1e0dede 405 * LV_EXT_CLICK_AREA_TINY: The extra area can be adjusted horizontally and vertically (0..255 px)
inistol 0:78fce1e0dede 406 * LV_EXT_CLICK_AREA_FULL: The extra area can be adjusted in all 4 directions (-32k..+32k px)
inistol 0:78fce1e0dede 407 */
inistol 0:78fce1e0dede 408 #define LV_USE_EXT_CLICK_AREA LV_EXT_CLICK_AREA_OFF
inistol 0:78fce1e0dede 409
inistol 0:78fce1e0dede 410 /*==================
inistol 0:78fce1e0dede 411 * LV OBJ X USAGE
inistol 0:78fce1e0dede 412 *================*/
inistol 0:78fce1e0dede 413 /*
inistol 0:78fce1e0dede 414 * Documentation of the object types: https://docs.littlevgl.com/#Object-types
inistol 0:78fce1e0dede 415 */
inistol 0:78fce1e0dede 416
inistol 0:78fce1e0dede 417 /*Arc (dependencies: -)*/
inistol 0:78fce1e0dede 418 #define LV_USE_ARC 1
inistol 0:78fce1e0dede 419
inistol 0:78fce1e0dede 420 /*Bar (dependencies: -)*/
inistol 0:78fce1e0dede 421 #define LV_USE_BAR 1
inistol 0:78fce1e0dede 422
inistol 0:78fce1e0dede 423 /*Button (dependencies: lv_cont*/
inistol 0:78fce1e0dede 424 #define LV_USE_BTN 1
inistol 0:78fce1e0dede 425 #if LV_USE_BTN != 0
inistol 0:78fce1e0dede 426 /*Enable button-state animations - draw a circle on click (dependencies: LV_USE_ANIMATION)*/
inistol 0:78fce1e0dede 427 # define LV_BTN_INK_EFFECT 0
inistol 0:78fce1e0dede 428 #endif
inistol 0:78fce1e0dede 429
inistol 0:78fce1e0dede 430 /*Button matrix (dependencies: -)*/
inistol 0:78fce1e0dede 431 #define LV_USE_BTNM 1
inistol 0:78fce1e0dede 432
inistol 0:78fce1e0dede 433 /*Calendar (dependencies: -)*/
inistol 0:78fce1e0dede 434 #define LV_USE_CALENDAR 1
inistol 0:78fce1e0dede 435
inistol 0:78fce1e0dede 436 /*Canvas (dependencies: lv_img)*/
inistol 0:78fce1e0dede 437 #define LV_USE_CANVAS 1
inistol 0:78fce1e0dede 438
inistol 0:78fce1e0dede 439 /*Check box (dependencies: lv_btn, lv_label)*/
inistol 0:78fce1e0dede 440 #define LV_USE_CB 1
inistol 0:78fce1e0dede 441
inistol 0:78fce1e0dede 442 /*Chart (dependencies: -)*/
inistol 0:78fce1e0dede 443 #define LV_USE_CHART 1
inistol 0:78fce1e0dede 444 #if LV_USE_CHART
inistol 0:78fce1e0dede 445 # define LV_CHART_AXIS_TICK_LABEL_MAX_LEN 20
inistol 0:78fce1e0dede 446 #endif
inistol 0:78fce1e0dede 447
inistol 0:78fce1e0dede 448 /*Container (dependencies: -*/
inistol 0:78fce1e0dede 449 #define LV_USE_CONT 1
inistol 0:78fce1e0dede 450
inistol 0:78fce1e0dede 451 /*Color picker (dependencies: -*/
inistol 0:78fce1e0dede 452 #define LV_USE_CPICKER 1
inistol 0:78fce1e0dede 453
inistol 0:78fce1e0dede 454 /*Drop down list (dependencies: lv_page, lv_label, lv_symbol_def.h)*/
inistol 0:78fce1e0dede 455 #define LV_USE_DDLIST 1
inistol 0:78fce1e0dede 456 #if LV_USE_DDLIST != 0
inistol 0:78fce1e0dede 457 /*Open and close default animation time [ms] (0: no animation)*/
inistol 0:78fce1e0dede 458 # define LV_DDLIST_DEF_ANIM_TIME 200
inistol 0:78fce1e0dede 459 #endif
inistol 0:78fce1e0dede 460
inistol 0:78fce1e0dede 461 /*Gauge (dependencies:lv_bar, lv_lmeter)*/
inistol 0:78fce1e0dede 462 #define LV_USE_GAUGE 1
inistol 0:78fce1e0dede 463
inistol 0:78fce1e0dede 464 /*Image (dependencies: lv_label*/
inistol 0:78fce1e0dede 465 #define LV_USE_IMG 1
inistol 0:78fce1e0dede 466
inistol 0:78fce1e0dede 467 /*Image Button (dependencies: lv_btn*/
inistol 0:78fce1e0dede 468 #define LV_USE_IMGBTN 1
inistol 0:78fce1e0dede 469 #if LV_USE_IMGBTN
inistol 0:78fce1e0dede 470 /*1: The imgbtn requires left, mid and right parts and the width can be set freely*/
inistol 0:78fce1e0dede 471 # define LV_IMGBTN_TILED 0
inistol 0:78fce1e0dede 472 #endif
inistol 0:78fce1e0dede 473
inistol 0:78fce1e0dede 474 /*Keyboard (dependencies: lv_btnm)*/
inistol 0:78fce1e0dede 475 #define LV_USE_KB 1
inistol 0:78fce1e0dede 476
inistol 0:78fce1e0dede 477 /*Label (dependencies: -*/
inistol 0:78fce1e0dede 478 #define LV_USE_LABEL 1
inistol 0:78fce1e0dede 479 #if LV_USE_LABEL != 0
inistol 0:78fce1e0dede 480 /*Hor, or ver. scroll speed [px/sec] in 'LV_LABEL_LONG_ROLL/ROLL_CIRC' mode*/
inistol 0:78fce1e0dede 481 # define LV_LABEL_DEF_SCROLL_SPEED 25
inistol 0:78fce1e0dede 482
inistol 0:78fce1e0dede 483 /* Waiting period at beginning/end of animation cycle */
inistol 0:78fce1e0dede 484 # define LV_LABEL_WAIT_CHAR_COUNT 3
inistol 0:78fce1e0dede 485
inistol 0:78fce1e0dede 486 /*Enable selecting text of the label */
inistol 0:78fce1e0dede 487 # define LV_LABEL_TEXT_SEL 0
inistol 0:78fce1e0dede 488
inistol 0:78fce1e0dede 489 /*Store extra some info in labels (12 bytes) to speed up drawing of very long texts*/
inistol 0:78fce1e0dede 490 # define LV_LABEL_LONG_TXT_HINT 0
inistol 0:78fce1e0dede 491 #endif
inistol 0:78fce1e0dede 492
inistol 0:78fce1e0dede 493 /*LED (dependencies: -)*/
inistol 0:78fce1e0dede 494 #define LV_USE_LED 1
inistol 0:78fce1e0dede 495
inistol 0:78fce1e0dede 496 /*Line (dependencies: -*/
inistol 0:78fce1e0dede 497 #define LV_USE_LINE 1
inistol 0:78fce1e0dede 498
inistol 0:78fce1e0dede 499 /*List (dependencies: lv_page, lv_btn, lv_label, (lv_img optionally for icons ))*/
inistol 0:78fce1e0dede 500 #define LV_USE_LIST 1
inistol 0:78fce1e0dede 501 #if LV_USE_LIST != 0
inistol 0:78fce1e0dede 502 /*Default animation time of focusing to a list element [ms] (0: no animation) */
inistol 0:78fce1e0dede 503 # define LV_LIST_DEF_ANIM_TIME 100
inistol 0:78fce1e0dede 504 #endif
inistol 0:78fce1e0dede 505
inistol 0:78fce1e0dede 506 /*Line meter (dependencies: *;)*/
inistol 0:78fce1e0dede 507 #define LV_USE_LMETER 1
inistol 0:78fce1e0dede 508
inistol 0:78fce1e0dede 509 /*Message box (dependencies: lv_rect, lv_btnm, lv_label)*/
inistol 0:78fce1e0dede 510 #define LV_USE_MBOX 1
inistol 0:78fce1e0dede 511
inistol 0:78fce1e0dede 512 /*Page (dependencies: lv_cont)*/
inistol 0:78fce1e0dede 513 #define LV_USE_PAGE 1
inistol 0:78fce1e0dede 514 #if LV_USE_PAGE != 0
inistol 0:78fce1e0dede 515 /*Focus default animation time [ms] (0: no animation)*/
inistol 0:78fce1e0dede 516 # define LV_PAGE_DEF_ANIM_TIME 400
inistol 0:78fce1e0dede 517 #endif
inistol 0:78fce1e0dede 518
inistol 0:78fce1e0dede 519 /*Preload (dependencies: lv_arc, lv_anim)*/
inistol 0:78fce1e0dede 520 #define LV_USE_PRELOAD 1
inistol 0:78fce1e0dede 521 #if LV_USE_PRELOAD != 0
inistol 0:78fce1e0dede 522 # define LV_PRELOAD_DEF_ARC_LENGTH 60 /*[deg]*/
inistol 0:78fce1e0dede 523 # define LV_PRELOAD_DEF_SPIN_TIME 1000 /*[ms]*/
inistol 0:78fce1e0dede 524 # define LV_PRELOAD_DEF_ANIM LV_PRELOAD_TYPE_SPINNING_ARC
inistol 0:78fce1e0dede 525 #endif
inistol 0:78fce1e0dede 526
inistol 0:78fce1e0dede 527 /*Roller (dependencies: lv_ddlist)*/
inistol 0:78fce1e0dede 528 #define LV_USE_ROLLER 1
inistol 0:78fce1e0dede 529 #if LV_USE_ROLLER != 0
inistol 0:78fce1e0dede 530 /*Focus animation time [ms] (0: no animation)*/
inistol 0:78fce1e0dede 531 # define LV_ROLLER_DEF_ANIM_TIME 200
inistol 0:78fce1e0dede 532
inistol 0:78fce1e0dede 533 /*Number of extra "pages" when the roller is infinite*/
inistol 0:78fce1e0dede 534 # define LV_ROLLER_INF_PAGES 7
inistol 0:78fce1e0dede 535 #endif
inistol 0:78fce1e0dede 536
inistol 0:78fce1e0dede 537 /*Slider (dependencies: lv_bar)*/
inistol 0:78fce1e0dede 538 #define LV_USE_SLIDER 1
inistol 0:78fce1e0dede 539
inistol 0:78fce1e0dede 540 /*Spinbox (dependencies: lv_ta)*/
inistol 0:78fce1e0dede 541 #define LV_USE_SPINBOX 1
inistol 0:78fce1e0dede 542
inistol 0:78fce1e0dede 543 /*Switch (dependencies: lv_slider)*/
inistol 0:78fce1e0dede 544 #define LV_USE_SW 1
inistol 0:78fce1e0dede 545
inistol 0:78fce1e0dede 546 /*Text area (dependencies: lv_label, lv_page)*/
inistol 0:78fce1e0dede 547 #define LV_USE_TA 1
inistol 0:78fce1e0dede 548 #if LV_USE_TA != 0
inistol 0:78fce1e0dede 549 # define LV_TA_DEF_CURSOR_BLINK_TIME 400 /*ms*/
inistol 0:78fce1e0dede 550 # define LV_TA_DEF_PWD_SHOW_TIME 1500 /*ms*/
inistol 0:78fce1e0dede 551 #endif
inistol 0:78fce1e0dede 552
inistol 0:78fce1e0dede 553 /*Table (dependencies: lv_label)*/
inistol 0:78fce1e0dede 554 #define LV_USE_TABLE 1
inistol 0:78fce1e0dede 555 #if LV_USE_TABLE
inistol 0:78fce1e0dede 556 # define LV_TABLE_COL_MAX 12
inistol 0:78fce1e0dede 557 #endif
inistol 0:78fce1e0dede 558
inistol 0:78fce1e0dede 559 /*Tab (dependencies: lv_page, lv_btnm)*/
inistol 0:78fce1e0dede 560 #define LV_USE_TABVIEW 1
inistol 0:78fce1e0dede 561 # if LV_USE_TABVIEW != 0
inistol 0:78fce1e0dede 562 /*Time of slide animation [ms] (0: no animation)*/
inistol 0:78fce1e0dede 563 # define LV_TABVIEW_DEF_ANIM_TIME 300
inistol 0:78fce1e0dede 564 #endif
inistol 0:78fce1e0dede 565
inistol 0:78fce1e0dede 566 /*Tileview (dependencies: lv_page) */
inistol 0:78fce1e0dede 567 #define LV_USE_TILEVIEW 1
inistol 0:78fce1e0dede 568 #if LV_USE_TILEVIEW
inistol 0:78fce1e0dede 569 /*Time of slide animation [ms] (0: no animation)*/
inistol 0:78fce1e0dede 570 # define LV_TILEVIEW_DEF_ANIM_TIME 300
inistol 0:78fce1e0dede 571 #endif
inistol 0:78fce1e0dede 572
inistol 0:78fce1e0dede 573 /*Window (dependencies: lv_cont, lv_btn, lv_label, lv_img, lv_page)*/
inistol 0:78fce1e0dede 574 #define LV_USE_WIN 1
inistol 0:78fce1e0dede 575
inistol 0:78fce1e0dede 576 /*==================
inistol 0:78fce1e0dede 577 * Non-user section
inistol 0:78fce1e0dede 578 *==================*/
inistol 0:78fce1e0dede 579
inistol 0:78fce1e0dede 580 #if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_WARNINGS) /* Disable warnings for Visual Studio*/
inistol 0:78fce1e0dede 581 # define _CRT_SECURE_NO_WARNINGS
inistol 0:78fce1e0dede 582 #endif
inistol 0:78fce1e0dede 583
inistol 0:78fce1e0dede 584 /*--END OF LV_CONF_H--*/
inistol 0:78fce1e0dede 585
inistol 0:78fce1e0dede 586 /*Be sure every define has a default value*/
inistol 0:78fce1e0dede 587 #include "lvgl/src/lv_conf_checker.h"
inistol 0:78fce1e0dede 588
inistol 0:78fce1e0dede 589 #endif /*LV_CONF_H*/
inistol 0:78fce1e0dede 590
inistol 0:78fce1e0dede 591 #endif /*End of "Content enable"*/