RB-740 with Psychopy2 builder

I am trying to create a lexical decision experiment using the builder mode in Psychopy2 (v. 1.85.1) on Mac OS X. Psychopy includes a special component for using cedrus button boxes, but my experiment throws an error when I try to use it. I have attempted using the rb-740 with multiple DIP settings, all of which result in the following error:

6.3865 ERROR could not find a Cedrus device.

I have downloaded the newest drivers for using the button box as a keyboard. This did not change the behavior.

I have also reinstalled pyxid (pure python library for communicating with Cedrus XID devices) to no avail. Any suggestions?

Can you send me your PsychoPy script?

Sent.

Is there any update on this?

The issue will be diagnosed soon.

I will contact you when there is an update. Thank you for your patience.

Hello,

Has this issue been resolved? I am having the exact same issue.

A developer has looked into this experiment for you. Since it uses pyxid, the RB has to be in response pad mode in order to be detected. If the Device Manager sees it as a keyboard it won’t be picked up. However, that isn’t the problem here.

The error you’re seeing is coming from the experiment itself, rather than pyxid or PsychoPy. You’re seeing it because PsychoPy generated code incompatible with pyxid. I’m attaching a sample showcasing the exact problem with the code that was generated (it borrows from the experiment heavily). You should be able to run the *.py in PsychoPy Coder, and if there isn’t anything else wrong, you should see output similar to this:

Devices found: [<ResponseDevice “Cedrus RB-834”>]
Device <ResponseDevice “Cedrus RB-834”> found!
Press any key on the pad!
Got a key!
Got a key!
We still have <ResponseDevice “Cedrus RB-834”> , though!
3.4827 ERROR could not find a Cedrus device.

The problem is that the code attempts to scan for Cedrus devices multiple times and use the new scan results every time. Instead, you should only scan once and then refer back to the devices you found. We’re working on an updated version of pyxid that works differently and avoids this issue, but it won’t be out until some time next year. In the meantime, someone will have to manually edit the Python code generated by the Builder to only refer to a single set of scan results.