Skip to content

Update/micropython v1.24.1 usermod#367

Open
diskman88 wants to merge 11 commits intolvgl:update/micropython_v1.24.1_usermodfrom
labplus-cn:update/micropython_v1.24.1_usermod
Open

Update/micropython v1.24.1 usermod#367
diskman88 wants to merge 11 commits intolvgl:update/micropython_v1.24.1_usermodfrom
labplus-cn:update/micropython_v1.24.1_usermod

Conversation

@diskman88
Copy link

No description provided.

	modified:   .gitmodules
	deleted:    lvgl
	deleted:    pycparser
	deleted:    lvgl/.devcontainer/__lv_conf.h__
	modified:   lv_conf.h
	modified:   lvgl/src/font/lv_font.h
	new file:   lvgl/src/font/lv_font_siyuan_heiti_medium_16.c
	modified:   lvgl/src/font/lv_symbol_def.h
Copy link
Collaborator

@PGNetHun PGNetHun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rejected because LVGL submodule was deleted, and instead LVGL source code is added directly.
That makes future LVGL updates more difficult.

@PGNetHun
Copy link
Collaborator

PGNetHun commented Mar 15, 2025

Hello @diskman88 ,

lv_micropython is updated with MicroPython v1.24.1 code changes, and LVGL is used as user module.
See PRs:

Thank you that you wanted to help to upgade to latest stable MicroPython version.
Could you please checkout latest lv_micropython, and test it that it works as you expect?
If there are any problems, please create github issue (or PR if you know also how to fix).

If everything is OK, could you please close this PR too?

diskman88 added 4 commits May 12, 2025 16:54
	modified:   lv_conf.h
	modified:   lvgl/src/font/lv_font.h
	deleted:    lvgl/src/font/lv_font_siyuan_heiti_medium_16.c
	new file:   lvgl/src/font/lv_font_siyuan_heiti_medium_24.c
	modified:   lvgl/src/font/lv_font_siyuan_heiti_medium_24.c
	modified:   lvgl/src/font/lv_font_siyuan_heiti_medium_24.c
Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 3000 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.

	modified:   lv_conf.h
	modified:   lv_conf.h
	new file:   lv_mp.c
	modified:   micropython.cmake
	new file:   micropython.cmake-bak
Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

16 issues found across 3000 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.

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="lvgl/.github/workflows/build_micropython.yml">

<violation number="1" location="lvgl/.github/workflows/build_micropython.yml:17">
P2: Third-party GitHub Action is pinned to @master, which is mutable and can introduce supply-chain risk. Pin the action to a specific commit SHA (or an immutable tag) to ensure reproducible, reviewed workflow code.</violation>

<violation number="2" location="lvgl/.github/workflows/build_micropython.yml:84">
P2: Matrix jobs upload artifacts with the same name in actions/upload-artifact@v4; v4 requires unique artifact names per workflow run, so these uploads will conflict and can fail or overwrite expectations.</violation>
</file>

<file name="lvgl/.github/workflows/check_style.yml">

<violation number="1" location="lvgl/.github/workflows/check_style.yml:8">
P2: Formatting job is skipped for same-repo pull_request events due to an inverted condition, so internal PRs bypass formatting checks.</violation>
</file>

<file name="lvgl/.devcontainer/setup.sh">

<violation number="1" location="lvgl/.devcontainer/setup.sh:8">
P2: Creates "vscode" but copies into ".vscode"; the destination directory doesn’t exist so the cp commands will fail. Create .vscode or copy into the created directory.</violation>
</file>

<file name="lvgl/.github/workflows/compile_docs.yml">

<violation number="1" location="lvgl/.github/workflows/compile_docs.yml:65">
P2: Uses deprecated `::set-output` workflow command; should write to `$GITHUB_OUTPUT` to avoid warnings and future removal breaking output propagation.</violation>
</file>

<file name="lvgl/.github/workflows/makefile_uefi.yml">

<violation number="1" location="lvgl/.github/workflows/makefile_uefi.yml:16">
P2: GitHub Action is referenced with a mutable `@master` branch, which can change without review and makes the workflow non‑reproducible. Pin to a specific release tag or commit SHA.</violation>
</file>

<file name="lvgl/demos/ebike/lv_demo_ebike.c">

<violation number="1" location="lvgl/demos/ebike/lv_demo_ebike.c:71">
P2: Observer registration can trigger immediate callback before main_cont is created; language_observer_cb dereferences main_cont without a NULL check, which can crash if the initial notification occurs.</violation>
</file>

<file name="lvgl/.github/workflows/close_old_issues.yml">

<violation number="1" location="lvgl/.github/workflows/close_old_issues.yml:18">
P2: Stale notification messages reference the "Abandoned" label, but the workflow applies the "💤 Stale" label; this misleads users about which label to remove to prevent auto-closing.</violation>
</file>

<file name="lvgl/.github/workflows/release_branch_updater.yml">

<violation number="1" location="lvgl/.github/workflows/release_branch_updater.yml:23">
P2: `git config` is executed outside the checked-out repository (repo is under `lvgl/`), so it will fail with “not in a git directory.”</violation>
</file>

<file name="lvgl/.github/workflows/check_conf.yml">

<violation number="1" location="lvgl/.github/workflows/check_conf.yml:19">
P2: Pinning Python 3.7 on ubuntu-22.04 is likely to break the workflow because setup-python no longer provides 3.7 for Ubuntu 22.04 toolcache (3.7 is EOL). Consider updating to a supported Python version.</violation>
</file>

<file name="lvgl/demos/ebike/lv_demo_ebike_stats.c">

<violation number="1" location="lvgl/demos/ebike/lv_demo_ebike_stats.c:420">
P2: subject_day is set to a 1-based day (week*7+1) but used directly as a 0-based index into the data arrays and chart point IDs, shifting displayed values/labels by one day.</violation>
</file>

<file name="lvgl/.github/workflows/makefile.yml">

<violation number="1" location="lvgl/.github/workflows/makefile.yml:16">
P2: GitHub Action is pinned to mutable `@master`, which is a supply-chain risk and makes builds non-deterministic. Pin to a specific commit SHA or trusted release tag.</violation>
</file>

<file name="lvgl/.github/workflows/check_bom.yml">

<violation number="1" location="lvgl/.github/workflows/check_bom.yml:21">
P2: UTF-16 BOM checks read 3 bytes but compare against a 2-byte BOM, so UTF-16LE/BE BOMs won’t be detected correctly. Use a 2-byte read (or compare only the first two bytes).</violation>
</file>

<file name="lvgl/.github/workflows/platformio_publish.yaml">

<violation number="1" location="lvgl/.github/workflows/platformio_publish.yaml:22">
P2: `pio pkg publish` requires an auth token in CI, but this workflow never exports one. With `--no-interactive` on a fresh GitHub runner, the publish step will fail due to missing PlatformIO credentials.</violation>
</file>

<file name="lvgl/Kconfig">

<violation number="1" location="lvgl/Kconfig:1371">
P2: LV_TINY_TTF_CACHE_GLYPH_CNT is declared as a bool but used as a numeric cache size; a bool cannot take default 256 and will coerce to 1/0, misconfiguring the cache size.</violation>
</file>

<file name="lvgl/demos/ebike/lv_demo_ebike_home.c">

<violation number="1" location="lvgl/demos/ebike/lv_demo_ebike_home.c:140">
P2: Speed values up to 90 are used as the roller selection index, but the roller has only 70 options, so indexes 70–90 are out of range.</violation>
</file>

Since this is your first cubic review, here's how it works:

  • cubic automatically reviews your code and comments on bugs and improvements
  • Teach cubic by replying to its comments. cubic learns from your replies and gets better over time
  • Add one-off context when rerunning by tagging @cubic-dev-ai with guidance or docs links (including llms.txt)
  • Ask questions if you need clarification on any suggestion

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: test-artifacts
Copy link

@cubic-dev-ai cubic-dev-ai bot Feb 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Matrix jobs upload artifacts with the same name in actions/upload-artifact@v4; v4 requires unique artifact names per workflow run, so these uploads will conflict and can fail or overwrite expectations.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At lvgl/.github/workflows/build_micropython.yml, line 84:

<comment>Matrix jobs upload artifacts with the same name in actions/upload-artifact@v4; v4 requires unique artifact names per workflow run, so these uploads will conflict and can fail or overwrite expectations.</comment>

<file context>
@@ -0,0 +1,85 @@
+    - name: Upload Artifacts
+      uses: actions/upload-artifact@v4
+      with:
+        name: test-artifacts
+        path: lib/lv_bindings/lvgl/tests/micropy_test/artifacts
</file context>
Fix with Cubic

matrix:
port: ['unix', 'esp32', 'stm32', 'rp2']
steps:
- uses: ammaraskar/gcc-problem-matcher@master
Copy link

@cubic-dev-ai cubic-dev-ai bot Feb 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Third-party GitHub Action is pinned to @master, which is mutable and can introduce supply-chain risk. Pin the action to a specific commit SHA (or an immutable tag) to ensure reproducible, reviewed workflow code.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At lvgl/.github/workflows/build_micropython.yml, line 17:

<comment>Third-party GitHub Action is pinned to @master, which is mutable and can introduce supply-chain risk. Pin the action to a specific commit SHA (or an immutable tag) to ensure reproducible, reviewed workflow code.</comment>

<file context>
@@ -0,0 +1,85 @@
+      matrix:
+        port: ['unix', 'esp32', 'stm32', 'rp2']
+    steps:
+    - uses: ammaraskar/gcc-problem-matcher@master
+    - name: Install Dependencies
+      run: |
</file context>
Fix with Cubic


jobs:
verify-formatting:
if: ${{ github.event_name != 'pull_request' || github.repository != github.event.pull_request.head.repo.full_name }}
Copy link

@cubic-dev-ai cubic-dev-ai bot Feb 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Formatting job is skipped for same-repo pull_request events due to an inverted condition, so internal PRs bypass formatting checks.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At lvgl/.github/workflows/check_style.yml, line 8:

<comment>Formatting job is skipped for same-repo pull_request events due to an inverted condition, so internal PRs bypass formatting checks.</comment>

<file context>
@@ -0,0 +1,38 @@
+
+jobs:
+  verify-formatting:
+    if: ${{ github.event_name != 'pull_request' || github.repository != github.event.pull_request.head.repo.full_name }}
+    runs-on: ubuntu-22.04
+    steps:
</file context>
Fix with Cubic

cd /workspace/lvgl_app
sudo chmod 777 .
mkdir build
mkdir vscode
Copy link

@cubic-dev-ai cubic-dev-ai bot Feb 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Creates "vscode" but copies into ".vscode"; the destination directory doesn’t exist so the cp commands will fail. Create .vscode or copy into the created directory.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At lvgl/.devcontainer/setup.sh, line 8:

<comment>Creates "vscode" but copies into ".vscode"; the destination directory doesn’t exist so the cp commands will fail. Create .vscode or copy into the created directory.</comment>

<file context>
@@ -0,0 +1,19 @@
+cd /workspace/lvgl_app
+sudo chmod 777 .
+mkdir build
+mkdir vscode
+
+cd lvgl/.devcontainer
</file context>
Fix with Cubic

run: rm -rf out_html/.doctrees
- name: Retrieve version
run: |
echo "::set-output name=VERSION_NAME::$(scripts/find_version.sh)"
Copy link

@cubic-dev-ai cubic-dev-ai bot Feb 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Uses deprecated ::set-output workflow command; should write to $GITHUB_OUTPUT to avoid warnings and future removal breaking output propagation.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At lvgl/.github/workflows/compile_docs.yml, line 65:

<comment>Uses deprecated `::set-output` workflow command; should write to `$GITHUB_OUTPUT` to avoid warnings and future removal breaking output propagation.</comment>

<file context>
@@ -0,0 +1,89 @@
+        run: rm -rf out_html/.doctrees
+      - name: Retrieve version
+        run: |
+          echo "::set-output name=VERSION_NAME::$(scripts/find_version.sh)"
+        id: version
+      - name: Deploy to subfolder
</file context>
Fix with Cubic

name: Build using Makefile
steps:
- uses: actions/checkout@v4
- uses: ammaraskar/gcc-problem-matcher@master
Copy link

@cubic-dev-ai cubic-dev-ai bot Feb 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: GitHub Action is pinned to mutable @master, which is a supply-chain risk and makes builds non-deterministic. Pin to a specific commit SHA or trusted release tag.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At lvgl/.github/workflows/makefile.yml, line 16:

<comment>GitHub Action is pinned to mutable `@master`, which is a supply-chain risk and makes builds non-deterministic. Pin to a specific commit SHA or trusted release tag.</comment>

<file context>
@@ -0,0 +1,21 @@
+    name: Build using Makefile
+    steps:
+    - uses: actions/checkout@v4
+    - uses: ammaraskar/gcc-problem-matcher@master
+    - name: Install prerequisites
+      run: scripts/install-prerequisites.sh
</file context>
Fix with Cubic

- name: UTF-8 BOM
run: |
grep -oarlE -m 1 --include="*.c" --include="*.h" --include="*.rst" --include="*.txt" --include="*.mk" --include="*.py" --include="*.cmake" --include="Makefile" $'\xEF\xBB\xBF' . | while read -r line; do
a=$(head -c 3 "$line")
Copy link

@cubic-dev-ai cubic-dev-ai bot Feb 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: UTF-16 BOM checks read 3 bytes but compare against a 2-byte BOM, so UTF-16LE/BE BOMs won’t be detected correctly. Use a 2-byte read (or compare only the first two bytes).

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At lvgl/.github/workflows/check_bom.yml, line 21:

<comment>UTF-16 BOM checks read 3 bytes but compare against a 2-byte BOM, so UTF-16LE/BE BOMs won’t be detected correctly. Use a 2-byte read (or compare only the first two bytes).</comment>

<file context>
@@ -0,0 +1,43 @@
+      - name: UTF-8 BOM
+        run: |
+          grep -oarlE -m 1 --include="*.c" --include="*.h" --include="*.rst" --include="*.txt" --include="*.mk" --include="*.py" --include="*.cmake" --include="Makefile" $'\xEF\xBB\xBF' . | while read -r line; do
+            a=$(head -c 3 "$line")
+            if [ "${a}" = $'\xEF\xBB\xBF' ]; then
+              echo "${line}" && exit 1
</file context>
Fix with Cubic

- name: Switch to the development version
run: pio upgrade --dev
- name: Publish
run: pio pkg publish --no-interactive --owner lvgl .
Copy link

@cubic-dev-ai cubic-dev-ai bot Feb 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: pio pkg publish requires an auth token in CI, but this workflow never exports one. With --no-interactive on a fresh GitHub runner, the publish step will fail due to missing PlatformIO credentials.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At lvgl/.github/workflows/platformio_publish.yaml, line 22:

<comment>`pio pkg publish` requires an auth token in CI, but this workflow never exports one. With `--no-interactive` on a fresh GitHub runner, the publish step will fail due to missing PlatformIO credentials.</comment>

<file context>
@@ -0,0 +1,22 @@
+      - name: Switch to the development version
+        run: pio upgrade --dev
+      - name: Publish
+        run: pio pkg publish --no-interactive --owner lvgl .
</file context>
Fix with Cubic

default n
depends on LV_USE_TINY_TTF
config LV_TINY_TTF_CACHE_GLYPH_CNT
bool "Tiny ttf cache entries count"
Copy link

@cubic-dev-ai cubic-dev-ai bot Feb 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: LV_TINY_TTF_CACHE_GLYPH_CNT is declared as a bool but used as a numeric cache size; a bool cannot take default 256 and will coerce to 1/0, misconfiguring the cache size.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At lvgl/Kconfig, line 1371:

<comment>LV_TINY_TTF_CACHE_GLYPH_CNT is declared as a bool but used as a numeric cache size; a bool cannot take default 256 and will coerce to 1/0, misconfiguring the cache size.</comment>

<file context>
@@ -0,0 +1,2057 @@
+			default n
+			depends on LV_USE_TINY_TTF
+		config LV_TINY_TTF_CACHE_GLYPH_CNT
+			bool "Tiny ttf cache entries count"
+			default 256
+			depends on LV_USE_TINY_TTF
</file context>
Fix with Cubic

lv_obj_t * roller = lv_observer_get_target_obj(observer);
int32_t speed = lv_subject_get_int(subject);

lv_roller_set_selected(roller, speed, LV_ANIM_ON);
Copy link

@cubic-dev-ai cubic-dev-ai bot Feb 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Speed values up to 90 are used as the roller selection index, but the roller has only 70 options, so indexes 70–90 are out of range.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At lvgl/demos/ebike/lv_demo_ebike_home.c, line 140:

<comment>Speed values up to 90 are used as the roller selection index, but the roller has only 70 options, so indexes 70–90 are out of range.</comment>

<file context>
@@ -0,0 +1,462 @@
+    lv_obj_t * roller = lv_observer_get_target_obj(observer);
+    int32_t speed = lv_subject_get_int(subject);
+
+    lv_roller_set_selected(roller, speed, LV_ANIM_ON);
+}
+
</file context>
Fix with Cubic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants