Can't find Cedrus Button Box component on macOS 14.0 with Standalone v2024.1.3

Hello :slight_smile:

Here are the troubleshooting steps Iā€™ve followed (with lots of help from @djmannion!). Step 3 fixes the duration error issue. Note that itā€™s currently not possible to specify allowed keys in buttonBox properties; if you try to specify keys the button box wonā€™t work (there might be a solution but I havenā€™t found one yet).

  1. Are your pyxid2 and psychopy-cedrus packages updated?

You should have pyxid2 1.0.6 and psychopy-cedrus 0.0.5.
To check/update, navigate to Tools ā†’ Plugin/packages manager ā†’ packages ā†’ open PIP terminal and run:

pip install --upgrade pyxid2
pip install --upgrade psychopy-cedrus
  1. Have you installed the D2XX Cedrus USB driver?

(More info on the Installing USB Driver for Mac OS X page from Cedrus)
I installed the macOS ARM driver by scrolling down to ā€œMac OS X
10.4 Tiger or laterā€ on this D2XX page.

Once downloaded, you will need to follow the instructions in the readme.rtf. Make sure you allow Apple security for libftd2xx.1.4.30.dylib (this simply involves opening the .dylib file by right clicking and pressing ā€œopenā€ instead of double clicking).

  1. Have you added a custom code component to resolve the ā€˜NoneTypeā€™ duration error?

In every routine that involves the button box, add a custom code component. Set the code type to Py, the timing to Begin experiment and add this code:

buttonBox.duration=1

See screenshot:

From what I understand, PsychoPy wants to assign the button box component a duration value, in the same way that an image might have a duration of time it appears on screen. The button box doesnā€™t really have a duration in that sense, so you end up with an error. This custom code sets the duration to the arbitrary value of 1. Iā€™ve checked (because Iā€™m measuring reaction time) and this doesnā€™t seem to affect the RT data.

  1. Fixing ā€œcanā€™t find Cedrus deviceā€ error

Finally, if you get an error along the lines of ā€œcanā€™t find Cedrus deviceā€, just unplug and replug the button box.

Hope that helps!

4 Likes