Skip to content

examples/lvgldemo: SignBridge UI with SC2336 camera preview and boot screen - #123

Open
IsXiaoXiaoZhou wants to merge 4 commits into
open-vela:dev-ai-contest-2026from
IsXiaoXiaoZhou:signbridge-lvgldemo-ui
Open

IsXiaoXiaoZhou wants to merge 4 commits into
open-vela:dev-ai-contest-2026from
IsXiaoXiaoZhou:signbridge-lvgldemo-ui

Conversation

@IsXiaoXiaoZhou

Copy link
Copy Markdown

Summary

SignBridge UI for the ESP32-P4-Function-EV-Board demo (pairs with open-vela/nuttx#364).

  • boot screen (openvela logo + progress bar) then SignBridge main UI: camera preview / recognition result / speaker control (LVGL, light card layout, 1024x600)
  • SC2336 RAW8 1280x720@30fps camera preview via the native esp32p4 MIPI-CSI driver, rendered into an LVGL canvas (crop + nearest-neighbor grayscale)
  • g_lvgl_heartbeat exposed for the board bringup LVGL watchdog
  • CJK font libraries (16/40 px), logo assets, audio beep helper; modules guarded by CONFIG_EXAMPLES_LVGLDEMO

/check-cla

Signed-off-by: IsXiaoXiaoZhou zhouyuxiang.is@example.com

@IsXiaoXiaoZhou
IsXiaoXiaoZhou requested review from a team as code owners September 4, 2026 08:35
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

❌ CLA Signature Required

@IsXiaoXiaoZhou Some contributors need to sign the CLA:

  • zhouyuxiang.is@example.comNeeds to sign CLA

Please:

  1. Sign the CLA at: https://www.openvela.com/#/community/cla
  2. After signing, comment /check-cla to recheck

📋 View detailed check results: Action Run #33854176609


💡 Tip: All contributors must sign the CLA before the PR can be merged.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

❌ CLA Signature Required

@IsXiaoXiaoZhou Some contributors need to sign the CLA:

  • zhouyuxiang.is@example.comNeeds to sign CLA

Please:

  1. Sign the CLA at: https://www.openvela.com/#/community/cla
  2. After signing, comment /check-cla to recheck

📋 View detailed check results: Action Run #33862181523


💡 Tip: All contributors must sign the CLA before the PR can be merged.

- boot screen: openvela logo with progress bar, then hand over to the
  SignBridge main UI (light card layout: camera preview / recognition
  result / speaker control)
- camera module: SC2336 RAW8 1280x720@30fps over 2 lanes through the
  native esp32p4 MIPI-CSI driver; frames polled from an LVGL timer and
  rendered into a canvas preview (crop + nearest-neighbor grayscale
  RGB565); register sequence from the ESP-IDF validated config
- expose g_lvgl_heartbeat (referenced by the board bringup LVGL
  watchdog)
- assets: zh_font_16/zh_font_40 CJK glyph libraries, logo data, audio
  beep helper
- guard new modules with CONFIG_EXAMPLES_LVGLDEMO and keep the stock
  entry when the demo is disabled

Target board: esp32p4-function-ev-board (MIPI-DSI 1024x600 + GT911).

Signed-off-by: IsXiaoXiaoZhou <zhouyuxiang.is@example.com>
- camera_module: restructure around a frame-callback contract
  (esp32p4_mipi_csi_frame_cb_t) with an explicit capture state machine
  (CSI_START -> STREAMING), current-frame snapshot for the LVGL timer,
  crop + nearest-neighbor scale into the preview canvas
- ui_main / boot_screen / audio_beep / lvgldemo: translate file-header
  and inline comments to English (NuttX style), move declarations to
  the canonical section order, keep the UI <-> audio decoupling via
  board_audio_beep()
- zh_font_16 / zh_font_40: regenerate with lv_font_conv (full CJK
  symbol set, no local build paths in headers)
- lvgldemo: parameterize boot flow (BOOT_DURATION_MS, status text)

Signed-off-by: IsXiaoXiaoZHou <zhou15325553865@outlook.com>
- zh_font_16/zh_font_40: move the glyph_dsc table out of the
  "Public Functions" section (keep it under "Private Data") and mark
  the lv_font_t descriptor as "Public Data"; the previous marker
  layout made nxstyle treat data entries as function bodies
- logo_data.c/.h: add proper file header comment blocks, section
  markers, put the array brace on its own line and wrap pixel data
  to 8 values per line
- boot_screen.h/camera_module.h/ui_main.h: translate comments to
  English, fix long lines and add blank lines after comments
Guard the SignBridge UI sources (ui_main/boot_screen/audio_beep/
camera_module/fonts/logo) and the corresponding code in lvgldemo.c
with CONFIG_EXAMPLES_LVGLDEMO_SIGNBRIDGE, so the default LVGL demo
builds unchanged on targets without the ESP32-P4 camera stack.
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.

1 participant