feat(smartband): openvela smart band MVP (watchface, heart-rate, steps, swipe nav).
C + LVGL smart band app for the openvela track, covering the three preliminary tasks:
- watchface showing system time and date with seconds-level refresh;
- health data: simulated heart rate (value + scrolling PPG waveform) and step counter (progress ring + distance/calories);
- swipe navigation across watchface / heart / steps via LVGL tileview, with page dots and keyboard fallback.
Builds and renders on the host through LVGL’s built-in SDL backend; screenshots in demo/ are captured via lv_snapshot from the real render buffer. Includes exception handling for missing / out-of-range sensor data. openvela native-app porting notes in docs/PORTING_OPENVELA.md. Licensed Apache-2.0.
Signed-off-by: 林晨 (Leo Cheng) leo-cheng@vip.qq.com
openvela smart band app (watchface + heart-rate + steps), C + LVGL, host SDL simulator
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802047560号
openvela 智能手环应用(表盘 · 心率 · 计步)
基于 openvela 平台(C + LVGL) 的智能手环应用,2026 CCF 开源创新大赛「基于 openvela 的智能手环应用开发」参赛作品。
初赛三项功能全部实现,并在宿主机用 LVGL 官方内置 SDL 驱动真编译真运行、截图存证(
demo/):演示
滑动切页动图:
demo/demo.gif快速开始(Ubuntu / WSL)
交互方式:
--);项目结构
设计说明
tileview承载三页,左右滑动即切页并带内置过渡动画; 切页事件同步更新底部页码点;无触摸环境用方向键(keypad indev + 组焦点)同样可切。sensors.h定义与平台无关的读取接口,宿主机用合成数据(步频累加、心率有界随机游走、 类 PPG 波形);移植到 openvela 时换成 uORB 订阅即可,UI 与算法不改(见docs/PORTING_OPENVELA.md)。--占位并变警示色,不崩溃;--:--与time not synced;移植到 openvela
业务代码(页面 / 逻辑 / 异常兜底)与平台解耦,移植到 openvela 原生应用只需替换 数据源实现与入口 + 构建两处,UI 三页零改动。目录结构、
nuttx_add_application构建、uORB 数据源映射与诚实的“待环境实测”项,见docs/PORTING_OPENVELA.md。开源合规
LICENSE、NOTICE)。THIRD_PARTY.md; LVGL 按固定版本v9.4.0由构建脚本拉取,不随仓库分发。src/下全部为原创代码。团队
程柯雷(太原理工大学)|单人参赛。