oveRTOS C API
Embedded RTOS framework — build system, configuration, and portable C API
Loading...
Searching...
No Matches
lv_conf_stm32f746g_discovery.h
1/*
2 * Copyright (C) 2026 Kamil Lulko <kamil.lulko@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-3.0-or-later
5 *
6 * This file is part of oveRTOS.
7 */
8
9/*
10 * Board-level LVGL v9 configuration for STM32F746G-Discovery.
11 *
12 * One source of truth for the three RTOS variants (FreeRTOS, NuttX, Zephyr).
13 * Each per-RTOS lv_conf.h is a thin wrapper that defines any RTOS-specific
14 * driver flags (currently just LV_USE_NUTTX) and includes this file via
15 * <ove/lv_conf_stm32f746g_discovery.h>. The angle-bracket form is required
16 * because NuttX/Zephyr stage lv_conf.h into a build directory away from
17 * the source tree, so a relative include would not resolve.
18 *
19 * The cross-target widget/feature/font enables come from
20 * <ove/lv_conf_common.h>, included at the bottom.
21 *
22 * Do not include this file directly outside an lv_conf.h.
23 */
24
25#ifndef OVE_LV_CONF_BOARD_STM32F746G_DISCOVERY_H
26#define OVE_LV_CONF_BOARD_STM32F746G_DISCOVERY_H
27
28#include <stdint.h>
29#include <stddef.h>
30
31/*====================
32 * COLOR + MEMORY
33 *====================*/
34
35/* RGB565 color display */
36#define LV_COLOR_DEPTH 16
37
38/* LVGL memory pool size (32KB for color display) */
39#define LV_MEM_SIZE (32 * 1024)
40
41/*=================
42 * OPERATING SYSTEM
43 *=================*/
44
45/* LV_OS_NONE — display is only accessed from a single task. STM32Cube
46 * FreeRTOS doesn't expose atomic.h that LVGL's os wrapper expects, and
47 * Zephyr/NuttX use a single LVGL handler thread guarded by oveRTOS locks. */
48#define LV_USE_OS LV_OS_NONE
49
50/*========================
51 * RENDERING CONFIGURATION
52 *========================*/
53
54#define LV_DRAW_BUF_ALIGN 32
55#define LV_DRAW_LAYER_SIMPLE_BUF_SIZE (4 * 1024)
56#define LV_DRAW_THREAD_STACK_SIZE (4 * 1024)
57
58#define LV_USE_DRAW_SW 1
59#if LV_USE_DRAW_SW == 1
60/* RGB565 only for color LCD */
61#define LV_DRAW_SW_SUPPORT_RGB565 1
62#define LV_DRAW_SW_SUPPORT_RGB565A8 0
63#define LV_DRAW_SW_SUPPORT_RGB888 0
64#define LV_DRAW_SW_SUPPORT_XRGB8888 0
65#define LV_DRAW_SW_SUPPORT_ARGB8888 0
66#define LV_DRAW_SW_SUPPORT_L8 0
67#define LV_DRAW_SW_SUPPORT_AL88 0
68#define LV_DRAW_SW_SUPPORT_A8 0
69#define LV_DRAW_SW_SUPPORT_I1 0
70
71#define LV_DRAW_SW_DRAW_UNIT_CNT 1
72#define LV_USE_DRAW_ARM2D_SYNC 0
73#define LV_USE_NATIVE_HELIUM_ASM 0
74#define LV_DRAW_SW_COMPLEX 1
75#define LV_USE_DRAW_SW_ASM LV_DRAW_SW_ASM_NONE
76#define LV_USE_DRAW_SW_COMPLEX_GRADIENTS 0
77#endif
78
79/*==================
80 * DEFAULT FONT
81 *==================*/
82
83#define LV_FONT_DEFAULT &lv_font_montserrat_32
84
85/*==================
86 * Shared widgets / layouts / themes / features
87 *==================*/
88
89#include <ove/lv_conf_common.h>
90
91#endif /* OVE_LV_CONF_BOARD_STM32F746G_DISCOVERY_H */