This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] DLP6500FLQ:使用 Python 控制 DLP6500和 DLPC9000

Guru**** 1076790 points
Other Parts Discussed in Thread: DLPC900, DLPC910
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/dlp-products-group/dlp/f/dlp-products-forum/1277651/dlp6500flq-controlling-dlp6500-and-dlpc9000-using-python

器件型号:DLP6500FLQ
主题中讨论的其他器件:DLPC900DLPC910

大家好、我是尝试使用 python 脚本来控制 DLP6500。 我只想上传图像 、并通过脚本控制曝光时间和黑暗时间来进行我的一个实验。 我曾尝试使用 pycrfter 6500库、但当我尝试连接到 DMD 时、收到资源繁忙错误。 我使用的是 Linux 系统和 DLPC9000板。 是否有任何其他可以使用的 python 库?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Godwyn、

    我认为您正在使用的 Python 库来自 GUI/FW 的较低版本、并且已过时。  

    首先、您是否能够使用当前的 GUI 和 FW 通过 Windows 10机器与电路板进行通信? [6.1.x FW / 5.1.x GUI"

    如果是、您能否告诉我您正在使用的 GUI 和 FW 版本?

    菲齐克斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您发送编修。 是的、我可以使用 Windows 计算机连接我的电路板、我正在使用的 GUI 版本是5.1.0、运行良好、但我想在我的一次实验中使用 Linux 系统上的 Python 脚本对其进行控制。 您对我如何使这项工作有什么建议吗?

    谢谢。

    戈德温

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Godwyn、

    TI 不为 USB 接口提供任何 Linux 驱动程序、但源代码位于随5.1.0安装的软件文件夹中。  如果您将其安装在默认位置(假设您的系统驱动器为"C")、则它将位于:

    "C:\Texas Instruments\DLPC900REF-SW-5.1.0\DLPC900REF-SW-5.1.0\DLPC900REF-GUI\Source

    为方便起见、我可以告诉大家的是、我们的客户已经为 C900平台的 USB 编写了他们自己的 Linux 驱动程序、但我当然无法访问代码、但我们可以做到。

    我不知道是否有 Linux 论坛能够提供相关帮助。

    另请务必查看 DLPC900软件编程人员指南- DLPU018、其中提供了 USB 和 I2C 命令。  此外、使用 GUI 和批处理日志记录、您可以查看 GUI 是如何构建 USB 有效负载的。

    我希望这对您有所帮助。

    菲齐克斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Fizix:  

           我明白、这很有帮助。 我将尝试这样做。 是否有任何 pip python 软件包可以很好地与这种器件?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Godwyn、

    您使用的是哪个版本的 Python?  据我所知、我们没有安装管理器。  我知道上面提到的3.4也包含了它。

    菲齐克斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Fizix:

           我正在使用 python 3.9。 我找不到可以用来设置 DMD 值和其他内容的联机库。 是否有相应的库、或者我是否必须自行编写所有这些库。 在 Linux 系统中、是否可以首先使用 python 脚本来控制和设置这些值?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Godwyn、

    我知道有可能制作 Python 应该能够使用的 Linux 驱动程序。  只需修改源代码使其适用于 Linux 平台。  但没有理由不能做到这一点。   

    正如我所提到的、我知道我们的几个客户已经编写了他们自己的 Linux 驱动程序/代码来控制 C900系统。  我不知道他们是否使用 Python。  不过、一旦您有了可以在 Linux 中发送命令的读/写引擎、就应该能够从 Python 调用该引擎或编写一个读/写 Python 引擎。

    菲齐克斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Fizix:

            谢谢你。 是否有办法在 Linux 系统上安装 Lightcrafter GUI?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Godwyn:

    "龙儿,你是我的女人,我是你的女人,我不会伤害你的。"

    我返回到 E2E 帖子、这个是由推导出来的、并找到了 DLP PyCrafter6500 python GitHub Repo。 自述文件指出,这 应该工作,但对于 Python 3.8,但不保证它。 您是否能够在 Linux 发行版上安装较早版本的 Python?

    我建议您创建一个具有早期 python 版本(当然为3.8或更低版本)的 python 虚拟环境、然后通过 pip 安装合适的 python 软件包以避免依赖问题。

    在此之后、我认为、如果您未更改固件的出厂设置、可以通过视觉确认执行的最简单的操作之一是打开与 DMD 的连接、并将其置于待机模式。 出厂提供的嵌入式固件或开箱即用(OOB)固件应在 DLPC900控制器正确配置并开始显示检测信号(LED 闪烁)后不久显示各种启动界面图形。 您应该能够在裸 DMD 上确认这一点。 尝试通过 PyCrafter6500 API 建立连接、然后向控制器发送待机命令。 如果此 STANDBY 命令与我们在 GUI 中使用的命令相同、图像应该会停止显示。 如果关闭 DMD、请在关闭电源之前让待机模式运行2分钟。

    以上是我在阅读 Git 存储库后理解的内容。

    请告诉我这是否对您有效。

    至于是否可以在 Linux 系统上安装 LightCrafter GUI、我并不完全确定。

    我已经转到 DLPC900页面并安装了 DLPC LightCrafter 5.0.0版本、然后在以下位置找到一些非常有用的文件:

    */ / DLPC900REF-SW-5.0./GUI/源/hidapi-MASTER/

    由于您使用的是 Linux 系统、因此 在命令行界面中运行"find ./-name README.txt"可能有助于查找要执行的操作。 查看包含*/ hidapi-master 的目录作为您的"root"目录。 这应该指向工作目录中的 README 文件以及 Linux 目录、其中提供了更多说明。

    此致、
    迈克尔·莱

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Michael、您好!

            我成功地在 Linux 系统上安装了 GUI、但如果我通过 USB 将电路板连接到 Linux 系统、该器件会显示已断开连接、如何让它与 Linux 系统进行通信。

    谢谢。

    戈德温

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Godwyn:

    请务必阅读我之前回复中所示的 readme.txt 文件、因为这些将是您的最佳答案。 正如 Fizix 上星期所说的那样,
    "TI 不为 USB 接口提供任何 Linux 驱动程序、但源代码位于与5.1.0一起安装的软件文件夹中。  如果您将其安装在默认位置(假设您的系统驱动器为"C")、则它将位于:

    "C:\Texas Instruments\DLPC900REF-SW-5.1.0\DLPC900REF-SW-5.1.0\DLPC900REF-GUI\Source

    为鼓励起见、我可以告诉大家、我们的客户已经为 C900平台的 USB 编写了他们自己的 Linux 驱动程序、但我当然无法访问代码、但我们可以做到。"

    我从未经历过 Linux 设置的步骤,但我和我提到的目录 Fizix 应该是你在你的机器上运行我们最新的 GUI 的起点。

    如果您愿意、我可以尝试在我们实验练习中的设置上运行 Pycrfter6500 python 脚本。 请允许我一到两个工作日、以便我可以对此进行测试。 这应该适用于任何操作系统。 我认为这仍然是你运行这些 python 脚本的主要目标?

    此致、
    迈克尔·莱

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Michael、您好!

             这将会有很大帮助。 如果您能让它运行、请让我知道您是怎么做的。

    谢谢。

    戈德温

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Godywn、

    好的、我可能还需要多住一两天。

    您是否还可以尝试查看是否可以使用低于3.8的 python 版本来运行它? 如果没有、您能浏览我之前提到的 readme.txt 文件以在 Linux 上运行吗? 从外观来看、USB 未进行通信、因为您需要设置 HID。 在继续之前、请告诉我这两项任务对您的影响如何。 谢谢!

    此致、
    迈克尔·莱

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    再次大家好、Godwyn、

    很抱歉耽误了我的时间、比我想象的要长一点。 我无法让它在我的 MS Windows 10计算机上正常运行使用 Zadig 安装 libusb 驱动程序的 Win32。 当我在 Pycrfter6500 repo 中运行测试脚本时,我会看到"AttributeError:'NoneType]对象没有属性"SET_CONFIGURATION",就像我在此回复底部链接的线程中的另一个用户一样。 我的设置是 python 3.7与 pyusb、winusb、USB、pipole 和 NumPy python 软件包安装。


    如果您希望使用 Pycrfter6500、请浏览下面的 E2E 链接 ,因为它是来自制作 python 脚本的人。 但是、不能保证其适用于最新的固件。 由于固件在某一时刻发生了重大变化、因此您可能必须使用 v4.x.x 之前的 GUI。 我无法确认哪个主要版本(2.x.x -> 3.x.x 或3.x.x 到4.x.x?)。

    在运行 Arch Linux 的个人计算机上进行进一步测试也会出现问题。 当我在命令行中运行"lsusb"以列出所有 USB 设备时、我看到 DLPC900 (从 Zadig 安装 libusb 驱动程序后)显示这是一个 rawhid 设备。 我的 Linux 环境无法运行测试脚本。

    我认为这是我的测试暂时可以进行的、因为这似乎更多地是关于您尝试使用的 python 脚本的问题。 这些 脚本并非由 TI 编写、因此您可能必须为创建此脚本的用户/人员在 GitHub 库中打开新问题。

    如果您想获得有关新参考软件(DLP900REF-GUI)的帮助、请在14天内创建新主题或重新打开这个主题、再次与我们联系。 同样、浏览 DLPC900参考软件参考软件目录中的自述文件、可以为您指明正确的方向。

    最后、以下是 通过编写 Pycrfter6500 Python 脚本创建的 E2E 线程:  

    此致、
    迈克尔·莱

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Michael、您好!

    我最终通过 python 脚本来使其在我的 Linux 系统上工作。 感谢您的帮助、它对我的系统工作非常有帮助。

    谢谢。此致、

    戈德温

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Godwyn:

    很高兴听到您的讲话! 您能告诉我您是如何实现这一目标的吗? 您是否使用了其他版本的 Python? 我很高兴知道你是如何做到的,所以其他人也可以在未来做到这一点。

    非常感谢、
    迈克尔·莱

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Michael、您好!

    我使用了 Python 3.9,它起作用了。 我在使用 Pycrafter6500.py 库时遇到了一些问题、这些问题最终解决了。

    此致、

    戈德温

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,迈克尔

    我现在又有一个问题、我正在使用 DLP900板、它可以显示多达400 1位模式。 我想知道 DLP910板的容量是多少。 我在信息表上找不到确切的信息。

    此致、

    戈德温

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Godwyn,

    DLPC910系统的架构非常不同。  它将取决于应用板上的可用存储器(我们使用了 Xilinx VC–707板)。   

    我们提供的示例 GUI 限制为64个模式、因为加载时间以非线性方式增加、但提供的源代码可以编辑并重新编译、以允许更多模式。

    菲齐克斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Fizix:

    我还有一个疑问。 我想显示10幅图像、但我想暂停在一幅图像上、仅在收到 TRIGGER_IN 信号时才显示下一幅图像、我正尝试在代码中使用此信号来等待按键、我想针对所有图像执行此操作。 可以使用 GUI 或代码来实现、因为如果我尝试这样做、只会在整个序列中发生、而不会在每个图像中发生。

    此致、

    戈德温

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Godwyn:

    这应该是可能的, 但我们不提供我知道的任何参考。 如果 Fizix 有任何参考设计、我能不能跟他谈谈呢?  如果您尚未阅读用户手册中链接的第5.5.2节、请阅读有关此内容的更多信息。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Godwyn,

    我已向您发送一个朋友邀请、看看我们是否可以更直接地联系。  我将继续、关闭该主题。  根据我们提出的内容、如果它对社区有帮助、我可以在此处发布一些内容。

    FIZix