Cedrus Community Forums

Cedrus Community Forums (http://community.cedrus.com/index.php)
-   General (http://community.cedrus.com/forumdisplay.php?f=5)
-   -   New RB-*30 protocol (http://community.cedrus.com/showthread.php?t=1159)

khasiv January 20th, 2011 12:02 PM

New RB-*30 protocol
 
We are using a Mac (mini, if it matters) with one of the new RB-730s. As far as I can tell, in the old code, when the device was connected to the computer, it should create a new tty.* in /dev/, resulting in the ability to access the serial port, judging by previous code in MATLAB, the code bases for C++, and Python.

However, while this device is detected by the computers as USB <-> Serial, and it is recognized in the latest version of SuperLab as being a seven button button box, it does not have the behavior expected. In particular, this box does not create or change any of the serial ports on the computer, and the C++ and Python functions do not even recognize that a device is attached, presumably because they're looking for something.

What has changed in the implementation of this device, so that I may be able to access it using standard programming languages outside SuperLab?

--khasiv

Hisham January 20th, 2011 01:38 PM

Usb-
 
Indeed, there has been a change, forced upon us by a change in Microsoft Windows 64-bit security policy (Vista and 7). This change took effect on units that started shipping in September 2010.

USB devices must have unique vendor and product IDs. Units shipped prior to last September had our own product ID (we were and still are using the vendor ID of the chip supplier). Units that started shipping in September now use the generic, standard product ID. That's why both Macs and PCs will now recognize it as "USB <-> Serial".

The only thing that's affected by this change is the name of serial port, as seen by Mac OS. In fact, in the recently released SuperLab 4.5, the portion of the code that auto-detects the presence of the response pad was unchanged -- it just worked. The code enumerates all the available pseudo-serial ports and finds if the response pad is using one of them.

In summary: you should still be able to have Matlab (or any other) code communicate with the response pad just like before. Only the serial port name needs to be updated. See also this support note for Mac users.

khasiv January 20th, 2011 02:42 PM

Quote:

Originally Posted by Hisham (Post 3927)
The only thing that's affected by this change is the name of serial port, as seen by Mac OS. In fact, in the recently released SuperLab 4.5, the portion of the code that auto-detects the presence of the response pad was unchanged -- it just worked. The code enumerates all the available pseudo-serial ports and finds if the response pad is using one of them.

In summary: you should still be able to have Matlab (or any other) code communicate with the response pad just like before. Only the serial port name needs to be updated. See also this support note for Mac users.

I have tried using the Python libraries supplied by you guys, but even that code checks all available ports and finds nothing. Is there some quick and dirty way to see what port it's plugged into, or is it supposed to be obvious?

khasiv January 26th, 2011 10:03 AM

Wow, that's misleading
 
Turns out that the button box we ordered (and received after September 2010) actually needed to have the driver installed, to have the USB <-> Serial connection configured, and to have the computer restarted before the machine could be assigned a serial port in /dev/, which, for reference, can be found with the command in Terminal
Quote:

ls /dev/ | grep "tty\."

khasiv January 26th, 2011 10:27 AM

And obviously, use the cu.usbserial value to call it in MATLAB code...

Hisham January 27th, 2011 04:35 PM

Thanks for following up and letting me know. I'll look into this next week and update our web instructions accordingly if necessary.


All times are GMT -7. The time now is 01:47 AM.


Copyright Cedrus Corporation, 1991-2014.