2个版本

0.1.1 2019年12月21日
0.1.0 2019年12月4日

#54 in #embedded-graphics

MIT/Apache

265KB
249

HUB75

Example image

使用embedded-graphicsembedded-hal在Rust中控制以Hub75接口著称的廉价RGB矩阵显示器的库。

目前仅支持64x32分辨率的面板(已在"P3-(2121)64*32-16S-D10"面板上测试)。

有关接线说明,请参阅rpi-rgb-led-matrix

引脚分配

Hub 75 interface

问题解决

  • 闪烁

    减少颜色输出的位数,更频繁地调用output方法或使用更快的微控制器

  • 某些颜色显示不正确或根本不显示

    如果伽玛校正后的RGB组件之一小于提供的位数,则不会显示。例如,使用3位颜色时,值小于124将导致不显示(因为此时伽玛校正到31,小于1<<5)。

提高性能

有许多方法可以进一步提高性能,甚至能够实现8位颜色深度,不幸的是,这似乎无法通过当前的嵌入式hal抽象实现。

  • 使用二进制码调制,并使用单次定时器调整oe时间

    有关二进制码调制的进一步解释,请参阅使用二进制码调制的LED调光

  • 预渲染数据,以便更快地移位数据

    其想法是将GPIO状态预先计算,然后仅将其复制到GPIO输出寄存器。为此,r1、r2、g1、g2、b1、b2都需要连接到相同的端口。结合二进制码调制,这将占用更多的RAM,但速度会更快。然后可以替换输出循环为DMA,这将极大地降低CPU使用率,并实现非常高的刷新率。

许可证

根据您的选择,许可如下

贡献

除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交的任何旨在包含在作品中的贡献,均应按上述方式双许可,不附加任何额外条款或条件。

依赖项

~2.5MB
~20K SLoC