Master merge - #112
Conversation
There was a problem hiding this comment.
3 issues found across 364 files
Note: This PR contains a large number of files. cubic only reviews up to 75 files per PR, so some files may not have been reviewed. We prioritized the most important files first.
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="CMakeLists.txt">
<violation number="1" location="CMakeLists.txt:2">
P2: Forcing CMAKE_C_COMPILER to gcc overrides user/toolchain selection and can break portability for non-gcc environments.</violation>
<violation number="2" location="CMakeLists.txt:4">
P2: Unconditionally setting CMAKE_BUILD_TYPE to Debug overrides user/CI build configurations for single-config generators and can force debug builds unexpectedly. Make this conditional so Release/RelWithDebInfo can be chosen externally.</violation>
<violation number="3" location="CMakeLists.txt:9">
P2: Clearing the USE_FREERTOS cache entry before declaring the option overrides any user-provided -DUSE_FREERTOS=ON value, effectively making the FreeRTOS toggle non-configurable via the CMake cache/CLI.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
| @@ -1,12 +1,12 @@ | |||
| cmake_minimum_required(VERSION 3.12.4) | |||
| cmake_minimum_required(VERSION 3.10) | |||
| set(CMAKE_C_COMPILER "gcc" CACHE STRING "C compiler" FORCE) | |||
There was a problem hiding this comment.
P2: Forcing CMAKE_C_COMPILER to gcc overrides user/toolchain selection and can break portability for non-gcc environments.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At CMakeLists.txt, line 2:
<comment>Forcing CMAKE_C_COMPILER to gcc overrides user/toolchain selection and can break portability for non-gcc environments.</comment>
<file context>
@@ -1,12 +1,12 @@
-cmake_minimum_required(VERSION 3.12.4)
+cmake_minimum_required(VERSION 3.10)
+set(CMAKE_C_COMPILER "gcc" CACHE STRING "C compiler" FORCE)
project(lvgl C CXX)
+set(CMAKE_BUILD_TYPE Debug)
</file context>
| cmake_minimum_required(VERSION 3.10) | ||
| set(CMAKE_C_COMPILER "gcc" CACHE STRING "C compiler" FORCE) | ||
| project(lvgl C CXX) | ||
| set(CMAKE_BUILD_TYPE Debug) |
There was a problem hiding this comment.
P2: Unconditionally setting CMAKE_BUILD_TYPE to Debug overrides user/CI build configurations for single-config generators and can force debug builds unexpectedly. Make this conditional so Release/RelWithDebInfo can be chosen externally.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At CMakeLists.txt, line 4:
<comment>Unconditionally setting CMAKE_BUILD_TYPE to Debug overrides user/CI build configurations for single-config generators and can force debug builds unexpectedly. Make this conditional so Release/RelWithDebInfo can be chosen externally.</comment>
<file context>
@@ -1,12 +1,12 @@
+cmake_minimum_required(VERSION 3.10)
+set(CMAKE_C_COMPILER "gcc" CACHE STRING "C compiler" FORCE)
project(lvgl C CXX)
+set(CMAKE_BUILD_TYPE Debug)
# Set the correct FreeRTOS port for your system (e.g., Posix for WSL)
</file context>
| set(LVGL_PRO_PROJECT_DIR | ||
| "" | ||
| CACHE PATH "Path to LVGL Pro Project folder") | ||
| unset(USE_FREERTOS CACHE) |
There was a problem hiding this comment.
P2: Clearing the USE_FREERTOS cache entry before declaring the option overrides any user-provided -DUSE_FREERTOS=ON value, effectively making the FreeRTOS toggle non-configurable via the CMake cache/CLI.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At CMakeLists.txt, line 9:
<comment>Clearing the USE_FREERTOS cache entry before declaring the option overrides any user-provided -DUSE_FREERTOS=ON value, effectively making the FreeRTOS toggle non-configurable via the CMake cache/CLI.</comment>
<file context>
@@ -1,12 +1,12 @@
-set(LVGL_PRO_PROJECT_DIR
- ""
- CACHE PATH "Path to LVGL Pro Project folder")
+unset(USE_FREERTOS CACHE)
option(USE_FREERTOS "Enable FreeRTOS" OFF) # Turn this on to enable FreeRTOS
</file context>
There was a problem hiding this comment.
1 issue found across 1 file (changes from recent commits).
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="simulator.code-workspace">
<violation number="1" location="simulator.code-workspace:86">
P2: VSCode workspace now hardcodes Windows/MSYS paths and `.exe` binaries without POSIX alternatives, but the project README claims the workspace should work on Windows, Linux, and macOS. This makes the preconfigured tasks/debugger unusable on Linux/macOS.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
| @@ -1,109 +1,134 @@ | |||
| { | |||
There was a problem hiding this comment.
P2: VSCode workspace now hardcodes Windows/MSYS paths and .exe binaries without POSIX alternatives, but the project README claims the workspace should work on Windows, Linux, and macOS. This makes the preconfigured tasks/debugger unusable on Linux/macOS.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At simulator.code-workspace, line 86:
<comment>VSCode workspace now hardcodes Windows/MSYS paths and `.exe` binaries without POSIX alternatives, but the project README claims the workspace should work on Windows, Linux, and macOS. This makes the preconfigured tasks/debugger unusable on Linux/macOS.</comment>
<file context>
@@ -1,106 +1,134 @@
+ {
+ "label": "Run: main.exe",
+ "type": "shell",
+ "command": "./bin/main.exe",
+ "options": {
+ "cwd": "${workspaceFolder}"
</file context>
Summary by cubic
Ports the 8-inch UI and assets, unifies multi-board compile flags, and now exports UI structure JSON at runtime. The build is simpler: submodules removed, CMake tuned for POSIX/debug, and FreeType font loading fixed.
New Features
Charger_PreDefine.hto centralize targets (AC/DC,MT7628,AM3354,SSD202, cabinet, 4.3").D-DIN-PRO-600-SemiBold.otf,calibri.ttf,calibrib.ttf).assets/fragment/(connectors, charging states, errors, detailed data, language picker, keypad, help/billing, no-price).Refactors
.gitmodules(nolvgl,lv_drivers,FreeRTOSsubmodules).gcc, setDebug, unset cachedUSE_FREERTOS, add include paths; POSIX-first withUSE_FREERTOSopt-in..otf/.ttfassets.Written for commit 6559ffb. Summary will update on new commits.