11个版本 (7个重大更新)
0.8.0 | 2024年5月24日 |
---|---|
0.7.1 | 2023年5月24日 |
0.6.0 | 2023年1月12日 |
0.5.0 | 2022年10月19日 |
0.1.0 | 2021年9月9日 |
#46 in 硬件支持
7,809 每月下载量
在 3 crate 中使用
120KB
2.5K SLoC
mipidsi
此crate提供了一种通用的显示驱动程序,用于连接实现MIPI显示命令集的TFT显示器。
使用display_interface通过传输(目前为SPI、I2C和并行GPIO)与硬件通信。
通过batch
功能(默认开启)支持可选的绘图批处理
注意:
- 这个crate的名称有点不幸,因为这个驱动程序通过display_interface支持的所有传输方式与使用MIPI显示命令集的显示器通信,但目前不支持MIPI显示串行接口。
许可证
在MIT许可证下授权(LICENSE或http://opensource.org/licenses/MIT)。
架构
Display
驱动程序本身包含大部分功能。每个特定的显示器模型实现它支持的每种颜色格式的Model
trait。每个模型也可以有不同的变体,这些变体通过Builder
结构体处理。
使用embedded-graphics-core提供绘图API。
模型
每个支持的显示器模型可以通过Builder::with_model
调用或通过提供的快捷函数(如Builder::st7789
)使用。外部crate可以用于提供额外的模型,甚至可以通过特型扩展扩展显示构造函数池。
现在还支持通过Builder
逻辑处理的屏幕大小和窗口地址偏移量不同的变体(见文档)。
支持的模型列表
- GC9A01
- ILI9341
- ILI9342C
- ILI9486
- ST7735
- ST7789
- ST7796
迁移
请参阅 MIGRATION.md 文档。
故障排除
请参阅 TROUBLESHOOTING.md 文档。
示例
// create a DisplayInterface from SPI and DC pin, with no manual CS control
let di = SPIInterfaceNoCS::new(spi, dc);
// create the ILI9486 display driver in rgb666 color mode from the display interface and use a HW reset pin during init
let mut display = Builder::new(ILI9486Rgb666, di)
.reset_pin(rst)
.init(&mut delay)?; // delay provider from your MCU
// clear the display to black
display.clear(Rgb666::BLACK)?;
最低支持的Rust版本(MSRV)
本包保证在稳定版Rust 1.75.0及以上版本中编译。它可能可以在较旧版本中编译,但在任何新的补丁版本中可能都会改变。
依赖项
~645KB
~11K SLoC