Additions:
This driver allows to control most functions of the USTC RTBox response
button box. In theory this driver should support boxes up to Box/Firmware
version 5. In practice it has only been tested by the Psychtoolbox
developer up to firmware and box version 1.3, therefore you may encounter
bugs for later versions. The box itself comes bundled with an alternative
driver called "RTBox" which is maintained by the developers of the box
hardware itself, in case this driver doesn't work with your box or
firmware.
The RTBox is a USB device which provides 4 response buttons (pushbuttons)
for subject responses and can report any button press- or release by the
subject. Additionally it has an input for reporting of external
electronic trigger signals and a photo-diode input for reporting of
the timebase of the boxe, e.g., time of a button press relative to the
photo-diode light trigger signal or electronic trigger signal, if this is
more convenient for a given experiment setup.
Current versions of the RTBox have additional functionality, e.g., more
digital trigger inputs, some sound trigger, and TTL trigger outputs.
See http://lobes.usc.edu/RTbox for up to date product information and
additional driver software.
verify that this is the case with our test sample of version 1 of the
RTbox hardware. While the pulse input port responded to some pulses sent
by one TTL compatible device, it failed to detect the majority of signals
from TTL most other test devices.
later versions of the hardware may be different than our experience with
our test sample.
- Send TTL to DB-25 port (pin 8 is bit 0). The second input is event code
(default 1 if omitted), 4-bit (0~15) for box versions < 5, and 8-bit
(0~255) for later versions. It can also be equivalent binary string, such
as '0011'.
The optional return arguments are the 'timeSent' when the TTL update was
performed, and an upper bound on the uncertainty 'confidence' of
'timeSent'.
In Version <5.0, the TTL width at DB-25 pins 17~24 is controlled by a
potentiometer inside the box. In Version >= 5, the width is also
controlled by 'TTLWidth' command.
- Set/get TTL polarity for DB-25 pins 1~8. The default is 0, meaning the
TTL resting is low. If you set newLevel to nonzero, the resting TTL will
be high level. If you need different polarity for different pins, let us
know. This function is only supported with firmware version 3.1 and
later.
In Version 5.0 and later, newLevel has second value, which is the
polarity for pins 17~24.
Deletions:
This driver allows to control all functions of the USTC RTBox response
button box. The box is a USB device which provides 4 response buttons
(pushbuttons) for subject responses and can report any button press- or
release by the subject. Additionally it has an input for reporting of
external electronic trigger signals and a photo-diode input for reporting of
timebase of the boxes, e.g., time of a button press relative to the
photo-diode light trigger signal or electronic trigger signal, if this is more
convenient for a given experiment setup.
See http://lobes.usc.edu/RTbox for some product information.
verify that this is the case with our test sample of a RTbox. While the
pulse input port responded to some pulses sent by one TTL compatible device,
it failed to detect the majority of signals from TTL most other test devices.
production level hardware may be different than our experience with our
test sample.
-- Set 4-bit TTL pulse on pins 5-8 of the DB-25 port (pin 8 is bit 0).
'eventCode' is a value from 0 to 15 (defaults to 1 if omitted).
It can also be a 4-bit binary string, such as '0011'. The 4 TTL pins will
be set to corresponding logic levels. E.g., eventCode = 1 is the same as
'0001', eventCode = 15 ""=="" '1111'.
The optional return arguments are the 'timeSent' when the TTL update was performed,
and an upper bound on the uncertainty 'confidence' of 'timeSent'.
- Set/get TTL polarity. The default is 0, meaning the TTL resting level is
logical low. If you set newLevel to a nonzero value, the resting TTL
level will be a logic high level. This function is only supported with
firmware version 3.1 and later.
Additions:
"http://svn.berlios.de/svnroot/repos/osxptb/beta/Psychtoolbox/PsychHardware/PsychRTBox.m">beta</a> | view WebSVN <a href=
"http://svn.berlios.de/wsvn/osxptb/trunk/Psychtoolbox/PsychHardware/PsychRTBox.m?op=log">changelog</a> of trunk branch</span>
Deletions:
"http://svn.berlios.de/svnroot/repos/osxptb/beta/Psychtoolbox/PsychHardware/PsychRTBox.m">beta</a> | view in <a href=
"http://svn.berlios.de/wsvn/osxptb/beta/Psychtoolbox/PsychHardware/PsychRTBox.m?view=markup">WebSVN with changelog</a></span>
Additions:
"http://svn.berlios.de/wsvn/osxptb/beta/Psychtoolbox/PsychHardware/PsychRTBox.m?view=markup">WebSVN with changelog</a></span>
Deletions:
"http://svn.berlios.de/viewcvs/osxptb/beta/Psychtoolbox/PsychHardware/PsychRTBox.m?view=markup">WebSVN with changelog</a></span>
Additions:
'tr' = Report reception of scanner trigger "TR" (TTL input from pin 7 of DB-9 port).
'tr' = Scanner trigger "TR" (TTL input from pin 7 of DB-9 port) received.
Note: 'tr' is only supported on boxes with Firmware version 3.0 or later.
sendTime = PsychRTBox('EngagePulseTrigger [, handle]);
sendTime = PsychRTBox('EngageTRTrigger [, handle]);
-- Engage trigger input on the box for reception of a one-shot trigger
be really enabled, call, e.g., PsychRTBox('Enable', handle, 'lighton'); instead,
as that function will wait until the trigger is really active.
Trigger events are special: If a trigger has been received, the
box auto-disables the trigger input, preventing reception of any
further trigger events, until the trigger gets reenabled. The trigger gets
Similar reasoning applies to Pulse and TR triggers.
of 0.3 msecs on RTBox versions with firmware versions 1.3 and older, which
can't be disabled, so even if you'd set a zero interval here, you'd still
get a minimum 0.3 msecs debounce period from the hardware itself.
Later versions of the firmware support the following
PsychRTBox('HardwareDebounce') command to control the hardware debounce
interval more fine-grained.
[oldValue] = PsychRTBox('HardwareDebounce' [, handle] [, scanNum]);
-- Set/get hardware debouncer setting. The hardware will treat a button
event as valid only if the button state stays stable for at least
'scanNum' scanning iterations of the firmware. The scan interval is about
67 microseconds. The valid scanNum is from 1 through 255, with a default
setting of 16 cycles for 1.072 msecs debounce interval.
For software debouncing at the driver level, see PsychRTBox('DebounceInterval')
above.
[timeSent, confidence] = PsychRTBox('TTL' [, handle] [, eventCode=1]);
-- Set 4-bit TTL pulse on pins 5-8 of the DB-25 port (pin 8 is bit 0).
'eventCode' is a value from 0 to 15 (defaults to 1 if omitted).
It can also be a 4-bit binary string, such as '0011'. The 4 TTL pins will
be set to corresponding logic levels. E.g., eventCode = 1 is the same as
'0001', eventCode = 15 ""=="" '1111'.
The optional return arguments are the 'timeSent' when the TTL update was performed,
and an upper bound on the uncertainty 'confidence' of 'timeSent'.
The width (duration) of the TTL pulse is controlled by the
PsychRTBox('TTLWidth') command.
This function is only supported for v3.0 RTBoxes and later, the ones with
EEG event code support.
[oldValue] = PsychRTBox('TTLWidth' [, handle][, widthSecs]);
- Set/get TTL pulse width in seconds. The default width is 0.97e-3, ie.
97 microseconds when the device is opened. The actual width may have some
small variation. The supported width ranges from 0.14e-3 to 35e-3 secs. A
infinite width 'inf' is also supported. Infinite width means the TTL will
stay until it is changed by the next PsychRTBox('TTL') command, such as
PsychRTBox('TTL',0).
This function is only supported for v3.0 RTBoxes and later, the ones with
EEG event code port support.
[oldValue] = RTBox('TTLResting' [, handle][, newLevel]);
- Set/get TTL polarity. The default is 0, meaning the TTL resting level is
logical low. If you set newLevel to a nonzero value, the resting TTL
level will be a logic high level. This function is only supported with
firmware version 3.1 and later.
Deletions:
'lightoff' = Report offset of light on photo-diode.
'lightoff' = Light pulse offset on photo-diode connected to light input port.
-- Engage light trigger input on the box for reception of a light trigger
be really enabled, call PsychRTBox('Enable', handle, 'lighton'); instead,
as this function will wait until the trigger is really active.
Light trigger events are special: If a light pulse has been received, the
box auto-disables the light trigger input, preventing reception of any
further light events, until the trigger gets reenabled. The trigger gets
of 0.3 msecs which can't be disabled, so even if you'd set a zero
interval here, you'd still get a minimum 0.3 msecs debounce period.
Additions:
==[[Psychtoolbox]] › [[PsychHardware]]==
"http://svn.berlios.de/svnroot/repos/osxptb/beta/Psychtoolbox/PsychHardware/PsychRTBox.m">beta</a> | view in <a href=
"http://svn.berlios.de/viewcvs/osxptb/beta/Psychtoolbox/PsychHardware/PsychRTBox.m?view=markup">WebSVN with changelog</a></span>
<code>Psychtoolbox/PsychHardware/PsychRTBox.m</code>
Deletions:
==[[src]] › [[Matlab]] › [[toolbox]] › [[Psychtoolbox]] › [[PsychHardware]]==
"http://svn.berlios.de/svnroot/repos/osxptb/beta/src/Matlab/toolbox/Psychtoolbox/PsychHardware/PsychRTBox.m">beta</a> | view in <a href=
"http://svn.berlios.de/viewcvs/osxptb/beta/src/Matlab/toolbox/Psychtoolbox/PsychHardware/PsychRTBox.m?view=markup">WebSVN with changelog</a></span>
<code>src/Matlab/toolbox/Psychtoolbox/PsychHardware/PsychRTBox.m</code>
Additions:
==[[src]] › [[Matlab]] › [[toolbox]] › [[Psychtoolbox]] › [[PsychHardware]]==
"http://svn.berlios.de/svnroot/repos/osxptb/beta/src/Matlab/toolbox/Psychtoolbox/PsychHardware/PsychRTBox.m">beta</a> | view in <a href=
"http://svn.berlios.de/viewcvs/osxptb/beta/src/Matlab/toolbox/Psychtoolbox/PsychHardware/PsychRTBox.m?view=markup">WebSVN with changelog</a></span>
<code>src/Matlab/toolbox/Psychtoolbox/PsychHardware/PsychRTBox.m</code>
Deletions:
==[[Psychtoolbox]] › [[PsychHardware]]==
"http://svn.berlios.de/svnroot/repos/osxptb/beta/Psychtoolbox/PsychHardware/PsychRTBox.m">beta</a> | view in <a href=
"http://svn.berlios.de/viewcvs/osxptb/beta/Psychtoolbox/PsychHardware/PsychRTBox.m?view=markup">WebSVN with changelog</a></span>
<code>Psychtoolbox/PsychHardware/PsychRTBox.m</code>
Additions:
Please note that the assignment of names to buttons must be unique, ie.
assigning the same name to multiple buttons is not allowed.
Additions:
external electronic trigger signals and a photo-diode input for reporting of
photo-diode light trigger signal or electronic trigger signal, if this is more
See http://lobes.usc.edu/RTbox for some product information.
Please note that while the device documentation claims that the external
electronic pulse port is able to receive TTL trigger signals, we couldn't
verify that this is the case with our test sample of a RTbox. While the
pulse input port responded to some pulses sent by one TTL compatible device,
it failed to detect the majority of signals from TTL most other test devices.
This indicates that the pulse port may not be fully TTL compliant and
will need additional tinkering for your setup. However, results with
production level hardware may be different than our experience with our
test sample.
'pulse' = Report electronic trigger events on external input port.
'pulse' = electronic pulse received on electronic pulse input port.
occurence of a electronic input port trigger signal since the last query.
Deletions:
external TTL trigger signals and a photo-diode input for reporting of
photo-diode light trigger signal or TTL trigger signal, if this is more
See http://lobes.usc.edu/RTbox for up to date product information.
'pulse' = Report TTL trigger events on external input port.
'pulse' = TTL pulse received on TTL pulse input port.
occurence of a TTL input port trigger signal since the last query.