#display #e-ink #epaper #epd #frame-buffer #read-write

no-std it8951

IT8951电子墨水显示屏驱动程序

5个版本 (3个重大更新)

0.4.1 2024年7月24日
0.4.0 2024年6月19日
0.3.0 2024年6月5日
0.2.0 2024年2月1日
0.1.0 2023年7月20日

#270嵌入式开发

Download history 1/week @ 2024-04-26 5/week @ 2024-05-10 5/week @ 2024-05-17 121/week @ 2024-05-31 31/week @ 2024-06-07 121/week @ 2024-06-14 51/week @ 2024-06-21 9/week @ 2024-06-28 12/week @ 2024-07-05 101/week @ 2024-07-19 51/week @ 2024-07-26 8/week @ 2024-08-02 2/week @ 2024-08-09

每月162次下载

MIT许可

65KB
1.5K SLoC

IT8951电子墨水显示屏驱动程序

此crate主要针对使用spi的waveshare 7.8英寸电子墨水显示屏进行开发: https://www.waveshare.com/wiki/7.8inch_e-Paper_HAT 驱动程序使用嵌入式_hal traits作为硬件抽象层。此驱动程序可以与嵌入式图形trait一起使用,目前仅支持Gray4(16位灰度)。

详细信息

  • IT8951具有图像加载引擎,可以在将其存储在本地帧缓冲区之前转换像素数据。
  • 可以在不使用图像加载引擎的情况下直接读取和写入内存
  • 重要 数据必须始终以16位字对齐!
  • 此crate使用alloc功能在堆上分配内存
    • 从控制器读取固件和LUT版本字符串
    • 为将像素写入控制器而创建暂存缓冲区。缓冲区按需分配,但每次只分配一个缓冲区,大小最多为1kByte。
    • 读取控制器内存时,创建一个与请求数据大小相同的暂存缓冲区。

待办事项

  • 支持与嵌入式-graphics一起使用的Gray2和Gray8
  • 支持显示引擎填充区域
  • 支持显示引擎每像素1位模式
  • 支持静态缓冲区分配

变更日志

0.4.1

  • 修复了fill_solid在零大小区域中的除以零错误
  • fill_solid正确跳过限制区域到显示边界

0.4.0

  • 公共API new 期望一个 Config 参数来设置超时和缓冲区大小。默认实现使用15秒的超时和1024字节的缓冲区大小。
  • 缓冲区数据类型从u16更改为u8
    • 公共APIload_image_areaload_imagememory_burst_write 函数现在使用u8作为缓冲区类型
    • 内存使用减少了一半(最大1kByte,而不是2kByte)
  • 行为 调用 init 现在不再清除eink显示屏。相反,直接调用 reset

依赖项

~540KB