我有一个硬件系统,它使用 GroovyGameGear.com 的 LED Wiz 来控制运行 Windows Embedded 的系统前面的 LED。GroovyGameGear 提供了一个 dll (SimpleLEDWiz.dll),我从 python (cdll from ctypes) 运行它来控制 LED 控制器,效果很好。
这是问题所在:我们正在将 Windows Embedded 换成 Ubuntu 12.04,我(显然)将不再能够使用提供的 dll 来控制 LED 控制器(是的,我已经尝试过 wine)。开发人员已向我发送了一些看似简单的数据传输规范,但我对如何使其工作感到迷茫。在 /dev/bus/usb 中连接时我可以看到该设备,但除此之外我不确定该怎么做。如果可能的话,我很想把它保存在 Python 中。这是 LED Wiz 团队发给我的信息:
"""这是您在 LED-Wiz 端需要了解的内容;
开发人员 ID:FAFA 设备编号:F0 到 FF
报告的格式非常简单:在任何给定时间总是发送 8 个字节,并且硬件期望进行两种类型的传输。
第一个是我们所说的“状态转储”。这将设置输出的状态,如下所示:
字节 0 = 64 这是一个标志,用来告诉单元这个数据包是一个状态转储。永远是 64
字节 1 - 字节 5 = 参考 KWZ-SBA 命令。
字节 6 和字节 7 = 0 这些总是 0 并且是“填充”
“状态转储”还将允许从“配置文件转储”遇到的任何问题中恢复,因为它会重置 LED-Wiz 中的所有数据计数器。偶尔使用状态转储以确保所有内容都同步是个好主意。由于 USB 通信经过了良好的错误检查,因此没有必要这样做,但这是一种很好的做法。
另一个是“配置文件转储”。这需要四个 8 字节块中的 32 字节数据。将每个块视为 KWZ-PBA 命令中数据的四分之一。"""
任何帮助将不胜感激!谢谢!