Триггеры отправки PsychoPy в 64-битной ОС

У меня возникла проблема с отправкой триггеров для записи ЭЭГ с помощью автономной версии PsychoPy v1.81.00 на 64-битной ОС Win7. Я следил за описаниями здесь и не получайте (больше) ошибок. Однако триггеры не отображаются на записывающем компьютере (Brainvision Recorder под Win7 32bit).

Что я сделал:

  1. Загружен и установлен InpOutBinaries_1500 через InpOutBinaries_1500\Win32\InstallDriver.exe
  2. Скопировал остальные файлы (inpout32.dll, .h и .lib, а также vssver2.scc) в рабочий каталог моего скрипта.
  3. Пробовал отправлять триггерные коды с помощью windll.inpout32.Out32(0x378, triggerCode)

Код триггера не отображается в Brainvision Recorder, но кажется, что он правильно установлен при вызове print str(windll.inpout32.Inp32(0x378)).

Спасибо за каждый совет или идею!


person Mario Reutter    schedule 05.11.2014    source источник


Ответы (1)


Мне удалось решить проблему. Я не совсем уверен, какие шаги на самом деле разрезают кривую, но я рекомендую следующее:

Загрузите и установите LPT Test Utility на компьютер для проведения презентаций.

Сначала эта программа устанавливает inpout32.dll автоматически и правильно, независимо от того, используете ли вы 32- или 64-разрядную ОС. Более того, это помогает вам контролировать и манипулировать выводами вашего параллельного порта. Если использование стандартных адресов (от LPT1 до LPT3) не работает, выберите LPTX и введите свой адрес вручную (см. здесь, где можно получить адрес параллельного порта на ПК с Windows). Если триггеры не отображаются на записывающем компьютере с помощью этой программы, проблема не связана с PsychoPy.

Если это не помогло, (пере)установите драйвер параллельного порта. При использовании Windows 7 в этом нет необходимости, но на самом деле я решил одну серьезную проблему. Если это все еще не помогает, вероятно, повреждены аппаратные компоненты (разъем/карта параллельного порта, кабель(и), блок синхронизации).

Если триггеры работают с программой "LPT Test Utility", но не с использованием PsychoPy, необходимо индивидуальное устранение неполадок в зависимости от вашего кода. Конечно, вам нужно вставить адрес порта, который работал с «LPT Test Utility», в ваш код PsychoPy.

from psychopy import core
from ctypes import windll

windll.inpout32.Out32(portaddress, triggerCode) #sends the trigger with triggerCode being an integer between 0 and 255
core.wait(0.05) #wait 50ms
windll.inpout32.Out32(portaddress, 0) #deletes the trigger i.e. resets the pins

С наилучшими пожеланиями,

Марио

person Mario Reutter    schedule 12.11.2014
comment
Хотя утилита LPT Test Utility на самом деле мне не подошла, она навела меня на правильный путь. Parallel-Port-Tester — аналогичная программа, на которую мне указали на правильный адрес LPT для использования. - person S.A.; 23.11.2017