【发布时间】:2011-04-23 10:36:50
【问题描述】:
我有一个 Panatone Huey,一个显示器校准探针(连接到显示器的设备,它会为您提供颜色读数) - 我想用 Python 从设备获取读数。
以前从未编写过这样的设备驱动程序,我不知道从哪里开始。
我发现有两个与 Heuy 接口的开源 C/C++ 项目 - ArgyllCMS 和 mcalib。
ArgyllCMS 带有一个spotread 命令,它从设备返回读数,尽管它仅用作交互式命令行工具,因此通过subprocess 运行它不会(轻松)工作。
ArgyllCMS 用于与设备通信的代码位于spectro/huey.c
没有尝试过(只是在写这个问题时才发现),但是 mcalib 包含的代码要少得多,主要是 heuy.cpp - 但是它有数量令人担忧的 FIXME cmets 和不完整的方法,并且代码似乎已自动生成(无用的变量名)
似乎有三个选项:
- 修改
spotread使其在没有任何交互提示的情况下工作,通过subprocess调用它 - 围绕
huey.c或huey.cpp创建一个基于C 的Python 模块 - 使用类似PyUSB 的东西重新实现接口
由于对 Python 更加熟悉,我很想使用 PyUSB,但这会比使用 Python C API 包装现有代码更有效吗?在这两种 C 实现中是否有任何明显的东西在 PyUSB 中不容易实现?
【问题讨论】:
标签: python colors usb device-driver