Доступ к Panatone Huey через Python - PullRequest
       39

Доступ к Panatone Huey через Python

3 голосов
/ 10 октября 2010

У меня есть Panatone Huey, калибровочный пробник монитора (устройство, которое вы подключаете к монитору, и оно дает вам цветные показания) - я хочу получать показания с устройства в Python.

Никогда раньше не писал такой драйвер устройства, я не уверен, с чего начать.

Я нашел два C / C ++ проекта с открытым исходным кодом, которые взаимодействуют с Heuy - ArgyllCMS и mcalib .

ArgyllCMS поставляется с командой spotread, которая возвращает показания с устройства, хотя он функционирует только как интерактивный инструмент командной строки, поэтому запуск его через subprocess не будет (легко) работать.

Код, который ArgyllCMS использует для связи с устройством, находится в spectro / huey.c

Не пробовал (только нашел его при написании этого вопроса), но mcalib содержит гораздо меньше кода, в основном просто heuy.cpp - однако у него есть тревожное количество FIXME комментариев и неполных методов и код создается автоматически (бесполезные имена переменных)

Кажется, есть три варианта:

  • Измените spotread для работы без каких-либо интерактивных подсказок, позвоните по номеру subprocess
  • Создайте модуль Python на основе C, используя huey.c или huey.cpp
  • Повторно реализовать интерфейс, используя что-то вроде PyUSB

Будучи гораздо более знакомым с Python, я испытываю желание использовать PyUSB, но будет ли это значительно более трудоемким, чем упаковка существующего кода с Python C API? Есть ли что-то очевидное в любой из реализаций C, что будет нелегко сделать в PyUSB?

1 Ответ

2 голосов
/ 10 октября 2010

Учитывая существование spotread, самый простой (хотя, возможно, и не лучший) способ продолжить это использовать pexpect .Позволяет взаимодействовать с другими программами командной строки.

...