# linux_lvgl_demo **Repository Path**: genvex/linux_lvgl_demo ## Basic Information - **Project Name**: linux_lvgl_demo - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-26 - **Last Updated**: 2026-10-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WalnutPi Gauge Dashboard WalnutPi 中文系统仪表盘,240×240 弧形仪表 + 丝滑动画。 ## 特性 - **4 页弧形仪表盘** — CPU / 内存 / 磁盘 / 系统概况 - **丝滑动效** — 集成 Rachel 项目的 LVGL::Anim_Path 贝塞尔插值引擎 - **全中文界面** — 16px 普惠体中文显示 - **双模交互** — 4 按键 + 触摸左/右/中三区 - **自动轮播** — 5 秒自动翻页 - **GPU 加速** — ARM NEON SIMD 硬件加速渲染 - **btop 暗色主题** — 蓝/绿/橙/红 颜色语义化 ## 硬件要求 - 核桃派 WalnutPi(Allwinner H616 / 4×Cortex-A53) - 240×240 SPI TFT LCD - 4 个物理按键(KEY1~KEY3 + KEY) - 1 个 LED(可选,用于按键反馈) - WiringPi 库 ## 快速开始 ```bash # 克隆(含子模块) git clone --recursive https://gitee.com/genvex/walnutpi-dashboard.git cd walnutpi-dashboard # 一键安装(编译 + 开机自启) sudo bash install.sh # 或手动编译 mkdir build && cd build cmake .. make dashboard -j4 sudo ./dashboard ``` ## 手动编译 ```bash # 安装依赖 sudo apt-get install cmake build-essential wiringpi # 初始化子模块 git submodule update --init --recursive # 编译 mkdir -p build && cd build cmake .. cmake --build . --target dashboard -j4 # 运行 sudo ./build/dashboard ``` ## 按键映射 | 按键 | wPi | 物理引脚 | 功能 | |------|-----|---------|------| | KEY1 | 27 | 36 | 上一页 | | KEY2 | 28 | 38 | 下一页 | | KEY3 | 29 | 40 | 跳回 CPU 页 | | KEY | 32 | 41 | 下一页 | | LED | 33 | 42 | 按键反馈 | ## 项目结构 ``` ├── dashboard.cpp 主程序 ├── CMakeLists.txt 构建系统(项目名 WalnutPiDashboard) ├── lv_conf.h LVGL 配置(NEON、字体等) ├── tick.c/h LVGL 时钟源 ├── font_puhui_16_4.c 16px 中文字体 ├── font_puhui_14_1.c 14px 中文字体 ├── cbin_font.c/h 字体工具 ├── lvgl/ LVGL 9.5 图形库(子模块) ├── lv_porting/ 显示/输入设备适配 └── src/rachel/ Rachel 动画引擎(lv_anim) ``` ## 配置开关 ### GPU 加速(lv_conf.h) ```c #define LV_USE_DRAW_SW_ASM LV_DRAW_SW_ASM_NEON // NEON SIMD ``` ### 自动轮播间隔(dashboard.cpp) ```c lv_timer_create(auto_switch_cb, 5000, NULL); // 5000ms ``` ### 刷新频率 ```c lv_timer_create(update_timer_cb, 2000, NULL); // 2000ms ``` ## 开机自启 安装脚本会自动创建 systemd 服务,或手动: ```bash sudo cp walnutpi-dashboard.service /etc/systemd/system/ sudo systemctl enable walnutpi-dashboard sudo systemctl start walnutpi-dashboard ``` ## 许可 MIT License ## 致谢 - [LVGL](https://github.com/lvgl/lvgl) — 嵌入式图形库 - [Forairaaaaa/Rachel](https://github.com/Forairaaaaa/Rachel) — SmoothMenu 动画系统 - [Forairaaaaa](https://github.com/Forairaaaaa/Rachel) — Rachel 项目 SmoothMenu 动画系统