#display #e-ink #epd #embedded-graphics #epaper #embedded-hal-driver

no-std epd-waveshare

基于 embedded-hal 的 Waveshare 电子纸显示屏驱动程序,之前作为 eink-waveshare-rs 发布

6 个版本 (3 个破坏性更新)

0.5.0 2021年11月28日
0.4.0 2020年4月6日
0.3.2 2019年6月17日
0.3.1 2019年4月6日
0.2.0 2018年11月6日

#395嵌入式开发

Download history 96/week @ 2024-03-11 61/week @ 2024-03-18 41/week @ 2024-03-25 91/week @ 2024-04-01 41/week @ 2024-04-08 57/week @ 2024-04-15 88/week @ 2024-04-22 43/week @ 2024-04-29 55/week @ 2024-05-06 54/week @ 2024-05-13 52/week @ 2024-05-20 56/week @ 2024-05-27 49/week @ 2024-06-03 40/week @ 2024-06-10 41/week @ 2024-06-17 67/week @ 2024-06-24

每月下载量 204
用于 2 crates

ISC 许可证

315KB
7K SLoC

Build Status

此库包含 Waveshare 电子纸模块的驱动程序(基本上与大连好显示的模块相同)。

它使用 嵌入式图形库 提供可选的图形支持。

需要 2018 版本兼容版本(Rust 1.31+)。

其他具有更多显示支持类似库的还有 arduino 的 u8g2GxEPD

示例

示例文件夹中有多个示例。使用 cargo run --example example_name 来尝试它们。

// Setup the epd
let mut epd = Epd4in2::new( & mut spi, cs, busy, dc, rst, & mut delay) ?;

// Setup the graphics
let mut display = Display4in2::default ();

// Draw some text
display.draw(
let _ = Text::new("Hello Rust!", Point::new(x, y))
.into_styled(text_style!(
            font = Font12x16,
            text_color = Black,
            background_color = White
        ))
.draw(display);
);

// Transfer the frame data to the epd and display it
epd.update_and_display_frame( & mut spi, & display.buffer()) ?;

(支持) 设备

设备(带链接) 颜色 柔性显示 局部刷新 支持 测试
7.5 英寸黑白 HD (A) 黑色,白色
7.5 英寸黑白 V2 (A) [1] 黑色,白色
7.5 英寸黑白 (A) 黑色,白色
4.2 英寸黑白 (A) 黑色,白色 非官方 [2]
1.54 英寸黑白 (A) 黑色,白色
2.13 英寸黑白 (A) V2 黑色,白色
2.13 英寸黑白/红 (B/C) V2 黑色,白色,红色
2.9 英寸黑白 (A) 黑色,白色
2.9 英寸黑白 V2 (A) 黑色,白色
1.54 英寸黑白/红 (B) 黑色,白色,红色
1.54 英寸黑白/黄 (C) 黑色,白色,黄色
2.9 英寸黑白/红 (B/C) 黑色,白色,红色
5.65 英寸 7 色彩 (F) 黑色,白色,红色,绿色,蓝色,黄色,橙色
2.7 英寸 3 色彩 (B) 黑色,白色,红色

[1]: 7.5 英寸黑白 V2 (A)

自 2019 年 11 月起,Waveshare 开始销售这些显示屏的更新版本。面板背面应该有“V2”标记贴纸。

使用 epd7in5_v2 代替 epd7in5,因为协议已更改。

[2]: 4.2 英寸电子墨水黑白 - 部分刷新

出厂时,Waveshare 的原始驱动程序仅支持完全更新。

这意味着:小心快速刷新更新
这个驱动程序可以实现,但可能会导致重影/烧屏效果,因此它被隐藏在一个功能后面。

界面

界面 描述
VCC 3.3V
GND GND
DIN SPI MOSI
CLK SPI SCK
CS SPI芯片选择(低电平有效)
DC 数据/命令控制引脚(高电平为数据,低电平为命令)
RST 外部复位引脚(低电平复位)
BUSY 忙碌状态输出引脚(低电平表示忙碌)

显示配置

在Waveshare EPD中使用了两种类型的显示配置,这需要在“新”电子纸驱动模块上设置。它们也被称为A和B,但你不应该将其与各种显示的A、B、C和D类型混淆,这些类型仅描述不同的类型(彩色变体)或新版本。在显示配置中,分离可能是由于包含的快速部分刷新显示。以下为表格形式

类型A 类型B
1.54英寸(A) 1.54英寸(B)
2.13英寸(A) 1.54英寸(C)
2.13英寸(D) 2.13英寸(B)
2.9英寸(A) 2.13英寸(C)
2.7英寸(A)
2.7英寸(B)
2.9英寸(B)
2.9英寸(C)
4.2英寸(A)
4.2英寸(B)
4.2英寸(C)
7.5英寸(A)
7.5英寸(B)
7.5英寸(C)

依赖项

~190KB