#mynewt #watchface #pinetime #lvgl #handdrawn

nightly no-std handdrawn-watchface

Mynewt 在 PineTime 智能手表上的手绘手表面

2 个稳定版本

2.1.1 2020年10月23日
1.0.0 2020年10月21日

#1433嵌入式开发

Apache-2.0

2.5MB
108

Rust + Mynewt 在 PineTime 智能手表上的手绘手表面

Hand-Drawn Watch Face for Rust + Mynewt on PineTime Smart Watch

在您的网页浏览器中预览此手表面

带有 LVGL 和 Mynewt 的 PineTime 智能手表的手绘 Rust 手表面...

  1. 蓝牙低功耗时间同步

  2. 仅时间,无日期

  3. 数字以位图形式呈现 (查看图形资源)

使用手表面框架 pinetime-watchface 构建。

要在 pinetime-rust-mynewt 固件中选择此手表面...

  1. handdrawn-watchface 添加到 pinetime-rust-mynewt/rust/app/Cargo.toml

  2. pinetime-rust-mynewt/rust/app/src/lib.rs 中设置 WatchFaceType

    /// Declare the Watch Face Type
    type WatchFaceType = handdrawn_watchface::HandDrawnWatchFace;
    

位图占用 160 KB 的 ROM。为了将它们放入 PineTime 的 512 KB 闪存中,需要从 PineTime 固件构建中删除大标题字体,只留下小字体。(WebAssembly 模拟器无需更改)

要从 PineTime 固件构建中删除标题字体,请编辑 pinetime-rust-mynewt/libs/pinetime_lvgl_mynewt/lv_conf.h 并更改...

#define LV_FONT_MONTSERRAT_48 1
...
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_48

到...

#define LV_FONT_MONTSERRAT_48 0
...
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_24

此手表面的 WebAssembly 模拟器是由 GitHub Actions 工作流程自动生成的:simulator.yml

WebAssembly 模拟器的源代码位于 mynewt 分支的 github.com/AppKaki/lvgl-wasm

参考文章...

"在 Rust 中创建您自己的 PineTime 手表面... 并在 crates.io 上发布"

依赖项

~19MB
~394K SLoC