2个不稳定版本
0.1.0 | 2022年3月2日 |
---|---|
0.0.1 | 2022年2月22日 |
1658 in 嵌入式开发
45KB
358 行
Rust嵌入式图形的Sparklines
Sparklines是嵌入在文字、数字或图像上下文中的小型、高分辨率的图形。Edward Tufte将Sparklines描述为“数据密集、设计简单、字大小的图形”。
探索文档
Rust包 · 报告错误 · 请求功能
关于项目
这个库是ESParklines库的Rust实现,这个库对于创建用于小型嵌入式系统屏幕的实时图表非常有用。
这个库设计得尽可能简单。它负责:
- 持有预先定义大小的数字数据类型缓冲区
- 使用传入的绘图函数绘制Sparklines
- 是显示驱动器无关的,因为你可以提供任何绘图函数
- 与嵌入式图形模拟器一起工作,这样你可以在开发机上快速迭代
(返回顶部)
构建工具
(返回顶部)
入门指南
确保你的rust
环境已经配置
安装
-
将库添加到你的
Cargo.toml
... [dependencies] embedded-graphics-sparklines = "0.1.0"
-
在你的代码中使用库
let mut display: SimulatorDisplay<BinaryColor> = SimulatorDisplay::new(Size::new(240, 135)); let bbox = Rectangle::new(Point::new(0, 26), Size::new(240, 90)); let draw_fn = |lastp, p| Line::new(lastp, p); // create sparkline object let mut sparkline = Sparkline::new( bbox, // position and size of the sparkline 32, // max samples to store in memory (and display on graph) BinaryColor::On, 1, // stroke size draw_fn, ); let output_settings = OutputSettingsBuilder::new() .theme(BinaryColorTheme::OledBlue) .build(); let mut window = Window::new("Sparkline", &output_settings); loop { let val = rand::thread_rng().gen_range(0..100); sparkline.add(val); sparkline.draw(&mut display)?; window.update(&display); thread::sleep( Duration::from_millis(100); }
-
实验并享受乐趣!😌如果你想运行快速演示,请查看
main.rs
。
(返回顶部)
快速入门
- 确保你已经设置了
cargo
- 安装cargo二进制包以便在计算机上轻松测试
$ cargo install embedded-graphics-sparklines
- 使用模拟器显示运行提供的二进制示例
$ embedded-graphics-sparklines --features build-binary
- 你应该看到类似以下的结果
(返回顶部)
路线图
- 添加测试
- 添加rustdocs
- 使用GitHub Actions进行CI集成
- 更好的错误生成和处理
请参阅开放问题以获取功能建议(和已知问题的)完整列表。
(返回顶部)
许可证
在MIT许可证下分发。有关更多信息,请参阅LICENSE
。
(返回顶部)
联系方式
Bernard Kobos - @bkobos - [email protected]
项目链接:https://github.com/bernii/embedded-graphics-sparklines
(返回顶部)
致谢
- ESParklines 项目,本内容基于此项目
(返回顶部)
依赖项
~4MB
~45K SLoC