psychopy.org | Reference | Downloads | Github

ioLab Button Box no longer working?


#1

Hi everyone:

We’ve long been using psychopy with Mac OS El Capitan, using ioLab button box for responses. This has worked without problem for years. Recently someone upgraded the computer to High Sierra (!) and now whenever I try to include the ioLab button box in any way it crashes the program. I updated to PsychoPy 1.85.3, still didn’t work. I reverted back to an old OS (10.9.5) and PsychoPy 1.84.2 (which was what we were running before), and now it still doesn’t work. In short, bbox used to work fine and now it’s failing with any combination of OS and PsychoPy that I try.

After entering Participant number and hitting OK to begin, I get the following:

##################
######## Running: /Users/blackashtray/Desktop/test/untitled_lastrun.py #########
pyo version 0.8.0 (uses single precision)
2018-03-09 14:40:04.609 python[1604:507] ApplePersistenceIgnoreState: Existing state will not be touched. New state will be written to /var/folders/84/lyt4cnt91bd99c84h9yr8v340000gn/T/org.psychopy.PsychoPy2.savedState
###################

and a message that psychopy quit unexpectedly. (If it would help I could post the detailed report that goes with the failure.)

Any ideas about what might be causing this? It’s a total mystery to me as things have always worked fine with the ioLab device. When I make an experiment that DOESN’T include the bbox, it runs just fine. By the way the details of my program are irrelevant in that the failure occurs on everything I try, even if I just make text appear and then use the bbox to end the trial.

Thanks for any thoughts you might have!

##update: the same problem is happening on my laptop running Sierra 10.12.6 and psychopy 1.85.2
####update again: replacing all references to the iolab button box with keyboard presses runs just fine, so it does appear to be an iolab issue.


#2

I also get a crash, no error message, as other users have reported too. It crashes when making an instance of the USBBox() class, specifically when you call .open() on the device

I can find the bbox through hid.find_hid_devices() when its connected, which is a good sign. But I can’t then call its .open() method. So I suspect that its somehow related to the OS update impacting USB device handling. The ioLab library is about 8 years old, and the python hid library is 2-3 years old.

Does anyone know more about hid (and or hidapi and USB on recent Mac OS)?


#3

I have been able to get the ioLabs BBox to work with the demo on High Sierra by using PsychoPy version 1.82.01 (last version before 64 bit python). It maybe too old for your purposes but perhaps worth a try?