[dm][graphic] support graphic for dm#11047
Conversation
|
👋 感谢您对 RT-Thread 的贡献!Thank you for your contribution to RT-Thread! 为确保代码符合 RT-Thread 的编码规范,请在你的仓库中执行以下步骤运行代码格式化工作流(如果格式化CI运行失败)。 🛠 操作步骤 | Steps
完成后,提交将自动更新至 如有问题欢迎联系我们,再次感谢您的贡献!💐 |
📌 Code Review Assignment🏷️ Tag: componentsReviewers: Maihuanyi Changed Files (Click to expand)
📊 Current Review Status (Last Updated: 2025-12-15 15:18 CST)
📝 Review Instructions
|
There was a problem hiding this comment.
Pull request overview
This pull request adds comprehensive graphics framework support to RT-Thread's device manager (DM), introducing backlight control, framebuffer management, plane support, EDID handling, and boot logo rendering capabilities.
Key Changes
- Graphics device framework with plane-based architecture (primary, overlay, cursor)
- Backlight subsystem with GPIO and PWM driver support
- Framebuffer support including simple-framebuffer driver
- Boot logo rendering with PPM format support
- EDID structure definitions and simple EDID generation
- Test applications for graphics and HMI functionality
Reviewed changes
Copilot reviewed 24 out of 24 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| examples/test/hmi_test.c | HMI test application with graphics and input handling |
| examples/test/graphic_test.c | Graphics shader test with multiple pixel format support |
| components/drivers/include/drivers/lcd.h | Extended LCD header with framebuffer structures and VESA blanking |
| components/drivers/include/drivers/graphic.h | Core graphic device framework API and EDID structures |
| components/drivers/graphic/graphic.c | Main graphic device implementation with comprehensive ioctl support |
| components/drivers/graphic/graphic_primary.c | Primary plane operations for various bit depths |
| components/drivers/graphic/graphic_simple.c | Simple graphic device registration with EDID generation |
| components/drivers/graphic/logo/logo.c | Boot logo rendering engine |
| components/drivers/graphic/logo/SConscript | Build script for logo with PPM parsing |
| components/drivers/graphic/logo/Kconfig | Logo configuration options |
| components/drivers/graphic/logo/logo.html | PPM preview utility |
| components/drivers/graphic/framebuffer/fb-simple.c | Simple framebuffer driver with clock/regulator support |
| components/drivers/graphic/backlight/backlight.c | Backlight device framework core |
| components/drivers/graphic/backlight/backlight-gpio.c | GPIO-based backlight driver |
| components/drivers/graphic/backlight/backlight-pwm.c | PWM-based backlight driver with CIE1931 support |
| components/drivers/graphic/SConscript | Build script for graphic subsystem |
| components/drivers/graphic/Kconfig | Graphic subsystem configuration |
|
@Rbb666 AI 相关要求已修改 |
1. Add backlight framework for graphic. 2. Add framebuffer and plane, power, EDID for graphic framework 3. Add boot logo render for graphic 4. Update lcd.h Signed-off-by: GuEe-GUI <2991707448@qq.com>
1. Generic GPIO based backlight driver 2. Generic PWM based backlight driver 3. Simple framebuffer support 4. Standard 224-color RT-Thread logo 5. Standard 224-color RT-Thread white logo Signed-off-by: GuEe-GUI <2991707448@qq.com>
拉取/合并请求描述:(PR description)
[
]
当前拉取/合并请求的状态 Intent for your PR
必须选择一项 Choose one (Mandatory):
代码质量 Code Quality:
我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:
#if 0代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up