This guide is a list of frequently asked questions related to our products, and answers to these questions. The sections below are divided into general topics: Hardware, Software and General Troubleshooting. The Hardware section include a few subcategories for device-specific questions.
To navigate this page, use the table of contents in the side bar to navigate to a section, and then click on the question to toggle open the answer.
Some of the answers below contain links to third-party products like adapters and switches. None of these links are affiliate links; they are simply products we have tested and verify work with our devices.
If you have specific questions related to your system, feel free to reach out to our team of trained vision scientists and support staff at email@example.com
The short answer: our hardware is compatible with all recent major operating systems. We support:
- Windows 10
- Mac OSX (Note: our software utilities are not supported on macOS 11 “Big Sur”)
- Linux (Ubuntu 18.04 and 20.04, or equivalent)
The long answer: it depends on what you are trying to do. While our hardware supports all major operating systems, some of them are better suited to research. On the one hand, for timing-sensitive experiments and low-level control, open-source advocates like the makers of Psychtoolbox strongly recommend Linux-based operating systems. On the other hand, some major high-level experiment software tools like Presentation and E-Prime are only supported on Windows.
For the most flexibility, you might want to consider a partitioned machine that allows you to boot into multiple operating systems. If you are looking for an out-of-the-box solution we have a Linux/Windows PC build service, which is guaranteed to work with our products. Feel free to use the specifications for that machine as a guideline for building your own experiment computer.
For most of our hardware, you will need a graphics card that is capable of sending 1920 x 1080 resolution (also known as “high definition” or HD) video at a refresh rate of 120 Hz.
Most consumer-grade graphics cards have no problem with this, especially if you disable all other displays during data collection. You can check the graphics card specifications to verify it supports this output.
Note that some graphics card manufacturers will report maximum pixel resolution at 60 Hz rather than 120 Hz. Resolution and refresh rate are always a bandwidth tradeoff; to figure out the maximum resolution of these cards at 120 Hz, divide the reported resolution at 60 Hz by 2. If it is still above 1920 x 1080, the card will work for our products.
The other requirement is that the graphics card must have one of the following video outputs:
– Dual-link DVI
– DisplayPort mini/Thunderbolt 2
– USB-C/Thunderbolt 3
For the last three options you will need to use a video adapter to convert the video to dual-link DVI (see below). The one exception to this is the DATAPixx3 I/O hub, which uses a direct DisplayPort mini connection.
Your choice of card will also need to reflect your experiment goals. Psychtoolbox recommends ATI/AMD-brand cards that use open-source drivers and therefore receive more comprehensive testing and support from independent software developers. PsychoPy also recommends ATI/AMD or NVidia cards.
If you don’t have an experiment PC, or are looking to upgrade, we offer a Linux/Windows machine service guaranteed to work with our devices. This build includes a graphics card specifically approved by Psychtoolbox. You can find more details on our product page.
The DATAPixx series I/O hubs, VIEWPixx, VIEWPixx /3D and PROPixx controller all come with an onboard data acquisition system that can be used to log incoming data and send outgoing signals synchronized to events detected in the video signal. This is a powerful tool for managing multiple streams of data with microsecond-precise timing.
These acquisition systems come in two “flavours:”
Lite systems have the following features:
- Single hardware clock for all I/O
- Up to 24 TTL-based digital outputs, manually programmed or automated through Pixel Mode
- Up to 24 TTL-based digital inputs (e.g., triggers, button box input)
- Ability to synchronize I/O via our register based synchronization system
- Timestamping visual stimuli onsets based on frame refresh or a custom sequence of pixels, option to lock signal output to these events
- Option to connect a “console” monitor that mirrors the main display without adding any load to the graphics card
- Software support via our high level programs and MATLAB/Psychtoolbox and Python APIs
- TRACKPixx3 users can stream gaze data via four configurable analog channels
Full systems have all of the same features as the Lite, as well as:
- Audio output with deterministic timing
- Audio or microphone input
- Up to sixteen channels of analog input
- Up to four channels of analog output
Please note that I/O cables are not included in the purchase of the core system; if you need standard or custom cables for data acquisition and output, please let our team know.
Absolutely! All of our data acquisition systems are all field-upgradeable. Simply contact our sales team (firstname.lastname@example.org) and provide us with your device’s serial number. We will be happy to assist you.
Almost all of our products require video in the form of dual-link DVI. The exception is the DATAPixx3 I/O hub, which uses DisplayPort. Below are our recommendations for converting to dual-link DVI from other video protocols.
DisplayPort/DisplayPort mini/Thunderbolt 2: Works fine. The adapter must be “active” like this one from Startech (we also carry it in stock). We recommend the Startech model specifically because we have tested it with our devices. We cannot guarantee all third-party active adapters will work.
USB-C/Thunderbolt 3: Possible by converting to DisplayPort via adapter (we have tested this one) followed by a conversion from DisplayPort to dual-link DVI (see above).
Single-link DVI: Not recommended due to limited bandwidth.
HDMI: The encryption protocols on HDMI can wreak havoc on the display timing, and we do not recommend HDMI adapters for timing-sensitive research. For other applications, such as showing movies from a DVD player, you can use a passive adapter like this one.
VGA: Not recommended. Analog video protocols are notoriously difficult to digitize and can create all kinds of display artefacts, if they work at all.
Best practice during data collection is to disable all secondary displays and only run the stimulus display. This reduces load on your graphics card and minimizes the risk of frame dropping and other latency issues associated with overtaxing your graphics processor.
Of course, in some labs this impossible, or at least very inconvenient. Your main display may be in another room, or you may be required to monitor specific trial metadata in an experimenter view.
There are two general solutions for running multiple displays during an experiment. First, you can connect a monitor to the secondary video port on the side of your VPixx device (available on all screens and I/O hubs except for the VIEWPixx /EEG). The hardware will generate a copy of the experiment display and show it on this secondary “console” display. You can then use the console to keep track of participant progress.
Because the console duplicates the video to the main display, it does not add any load to your graphics card; however, by default it can only mirror the main display. Some of our special video modes allow for an overlay on the console, which allows you to show some trial metadata specifically in the experimenter view. The console output for the TRACKPixx3 2 kHz eye tracker can also show a live camera feed, in addition to the participant’s view.
Please note that not all monitors will work well as a console display. We maintain a list of third party screens we have tested and verified work well with our devices. For an up-to-date list, please contact email@example.com.
The second option for driving a secondary display is to drive it directly from a second port on the graphics card. The effect this will have on the performance of the main display will vary from system to system. A powerful graphics card may be able to manage both displays without significant frame dropping. If you decide on this route, it is a VERY good idea to run some synchronization tests prior to data collection, to ensure you have a tolerable rate of frame dropping and you are not compromising your stimulus presentation.
This response is focused on setting up hardware. For tips on how to set up triggers in software, please see our demos and our VOCAL guide to Pixel Mode. Pin assignment information can be found in your device user manual (MyVPixx > User Manuals).
VPixx hardware has several ports dedicated to input and output. Each port consists of a series of pins that are numbered according to an industry standard. Our I/O ports use a DB-25 connector, and so have 25 pins labelled 0-24.
Other common I/O port formats include BNC/coaxial (common in MRI/MEG systems) and other multi-pin D-sub connectors like DE-9. It is possible to have a cable with different types of connectors on each end, or a cable with one end that splits into multiple connectors or even exposed wires that can be slotted into other electronics.
In all cases, each pin on an I/O device has a specific role, or assignment. Pin assignments vary from system to system. Pin 1 on system “A” might listen for incoming digital signals, while pin 1 on system “B” acts as a ground.
In order to connect two I/O devices, you must know the specific pin assignments of both ends, and make sure your cable is wired to connect the appropriate pins to one another. Do not assume any cable with the correct number of pins is wired to work with your particular configuration. Connecting pins with incompatible assignments can do physical damage to your ports.
Pin assignment details for specific ports are typically provided by the manufacturer. Pin assignments for all VPixx I/O ports are listed in the specific device user manual (you can log in to MyVPixx and navigate to ‘User Manuals’ to find ours). The exception to this is a PC Parallel Port, which has a specific industry standard pin assignment.
Our team is familiar with many neuroimaging, eye tracking, and neurophysiological solutions and can provide advice on how best to connect hardware based on your specific synchronization needs. We manufacture a variety of trigger cables, custom cables and adapters in order to connect different systems safely. If you’re not sure how best to configure your system, we are happy to help.
For more details, please contact our team of trained vision scientists at firstname.lastname@example.org.
Instructions for running our automated calibration routines for the VIEWPixx and VIEWPixx /3D CRT replacement monitors, and the PROPixx DLP projector, can be found on page 115 of our Product Application Guide [pdf].
Please note that the automated calibration routines available in our vputil and PyPixx utilities are designed to work with the specific versions of the X-Rite i1 Pro and i1Display Pro sold by VPixx. These tools have custom software designed to work with our devices. An X-Rite device purchased from a third party vendor, or from X-Rite directly, will NOT work with our calibration routines. The VPixx versions of these tools will not support X-Rite’s own calibration and measurement software.
Our displays use LED light sources that have a very long lifespan. They are are factory calibrated prior to shipment according to the following specifications:
- VIEWPixx /EEG
- Luminance with scanning backlight: 100 cd/m^2
- Luminance without scanning backlight: 250 cd/m^2
- VIEWPixx /3D
- Luminance with scanning backlight: 100 cd/m^2
- Luminance without scanning backlight: 250 cd/m^2
- White point: D65
- Luminance with scanning backlight: 100 cd/m^2
- Luminance without scanning backlight: 250 cd/m^2
- White point: D65
- Luminance: Depends on projection screen size, type and distance
- White point: D65
We have found that our displays maintain luminance and chromaticity characteristics consistently for a long time. Your displays should not require re-calibration for about 5-10 years, depending on how heavily they are used. After 5 years you may wish to take occasional measurements to verify your displays are still within an acceptable range of luminance/white point.
VPixx Technologies develops and manufactures research tools, which are not regulated for use as diagnostic or medical equipment.
To be rated as a medical diagnostic device, research equipment must go through comprehensive regulatory testing specific to each country (e.g., FDA, MHRA). This certification process takes many years, and may or may not be recognized by other countries and governing bodies.
VPixx Technologies’ goal has always been to enable researchers to push the boundaries of what can be studied in vision research. Our products and tools are often developed by request, and in response to specific, pressing research questions. We have chosen to dedicate our efforts to this fast-paced development, rather than attempting to acquire medical ratings for our devices.
Yes! We manufacture a variety of screen sizes and shapes for tabletop, standalone and in-bore use.
All of our screens use a solid plastic frame with a thin, flexible screen material that minimizes internal reflections. We have different materials optimized for front- or rear-projection, and 2D or 3D stimuli. Our screens use aluminum bases and are safe for use in MRI, MEG and other ferromagnatically sensitive environments.
We do not offer hard acrylic screens or roll-up screens.
Need a custom screen solution? Please contact our science team (email@example.com) and we will be happy to assist you.
Screen material optimized for 3D has a silver/grey coating and preserves the clockwise and anticlockwise polarization of light for left- and right-eye images. This coating sacrifices a bit of image brightness, and has less uniform luminance across wide viewing angles. Screen material for 2D stimuli produces a brighter image and has a more uniform luminance distribution.
For front projection, we stock a ‘5D’ solution which is a good compromise between 2D and 3D screens.
For rear projection, researchers must choose between 2D and 3D optimized screen materials. It is possible to show 2D images on a 3D screen, especially on smaller screens. Conversely, 2D material will scatter 3D polarization and is not compatible with 3D stimulus presentation.
The SHIELDPixx MRI shielding enclosure is designed specifically for in-room installations with the PROPixx MRI-safe projector. It is not sold as an independent unit and cannot be used with third-party projection systems.
The PROPixx uses DLP technology, which has an inherently linear gamma of 1.
Yes! If you are moving labs, or changing your testing layout, and your current lens does not support the distance/size requirements of the new space, you can purchase a new lens and install it on your current projector. Along with the new lens, we will provide you with instructions on how to swap your lenses out. The process takes less than 15 minutes.
Please note, we do not accept used or returned lenses.
The PROPixx uses RGB LED light sources with a lifetime of approximately 60,000 hours. Even with heavy use, this light source should last decades.
In the event the light source exceeds its lifetime and must be replaced, the unit can be shipped to VPixx Technologies for disassembly, LED chip replacement, and full factory calibration. If you require this service, please contact our technical support team (firstname.lastname@example.org) for more details and a quote for the LED replacement costs.
We do not have specific recommendations for mounting brackets for the PROPixx. The PROPixx has three M4 mounting holes with a 0.7 mm pitch on the base for bolting the device to a ceiling or wall plate. Please see page 13 of the PROPixx user manual for spacing (measurements are in inches).
The PROPixx weighs roughly 15 kg (33 lbs). Please ensure your mounting solution is capable of supporting this weight before installing your PROPixx.
Once mounted, the PROPixx can be set to “ceiling mount” in PyPixx to invert the display.
The RESPONSEPixx button boxes use a digital TTL triggering system and terminates in a DB-25 connector. These boxes are designed to work with the digital input port on our data acquisition systems, including the DATAPixx video I/O hubs, the VIEWPixx /3D and VIEWPixx CRT replacement monitors, and the PROPixx Controller. When paired with these systems, the RESPONSEPixx provides microsecond-precise measurements of button press/release times.
It is possible to connect a RESPONSEPixx to the parallel port on your PC with an adapter manufactured by VPixx. You can then use the button boxes in conjunction with experiment software that samples parallel port input.
The disadvantage to this strategy is that you are then constrained by the sampling rate of the port and your experiment software. Just as there is a limit to how quickly your PC can check for keyboard presses and mouse clicks, there is a maximum sampling rate with which you can read input from the parallel port.
The precise sampling rate will depend on your particular experiment program and what is happening in your checking loop. It will absolutely be slower than the sampling rate of a digital input log running on separate, dedicated hardware. Depending on your experiment this may not be an issue, but it is certainly something to keep in mind when designing timing-sensitive research paradigms.
We can create custom button layouts according to your specifications. Please contact email@example.com with your desired layout (including spacing and number of buttons) or colour requests.
We do not. However, the ‘full’ versions of our data acquisition systems are capable of receiving analog signals from third party devices, such as joysticks.
VIEWPixx /EEG, VIEWPixx and VIEWPixx /3D
Our VIEWPixx series of monitors are LCD displays that use modern-day technology, but have custom hardware to mimic the highly desirable temporal properties of old-fashioned CRT displays. To find out more, check out this section of our VOCAL guide to the VIEWPixx series.
The exact number varies slightly from unit to unit. A good rule of thumb for most LCD monitors, including our VIEWPixx displays, is a gamma of 2.2.
If your experiment requires extremely precise gamma correction, the best method to determine your display-specific gamma is to measure it directly with a spectrophotometer or colorimeter.
All three of our VIEWPixx monitors use the following mounting standards:
- VESA MIS-D/E, MIS-F
- Hole pattern: 100 x 100 mm & 75 x 75 mm
This size is an industry standard, and mounting bracket manufacturers should specify if they are compatible. Please note, our monitor casing is metal and is fairly heavy (around 13.6 kg /30 lbs including the removable stand). Any mounting solution must be rated to support this weight.
At the office, we mount our test displays on mobile relay racks like these, along with a fixed TV wall mount bracket similar to these. This wall mount is large enough to be fixed on the rack and has adjustable brackets that can be used to attach the monitor. This solution works well for a mobile display.
The VIEWPixx series of monitors are designed to run at 100 Hz or 120 Hz. When the video signal drops below 100 Hz, the display automatically implements an internal frame buffer and begins resampling the video signal to maintain a screen refresh rate of 120 Hz. A flashing red square will appear in the top left corner of the screen whenever your display is in resampling mode.
This resampling mode can cause problems for timing-sensitive experiment tools. For this reason, we do not recommend using 60 Hz in experiments where timing is critical for stimulus presentation or data collection.
The VIEWPixx can display up to 12 bits per colour (bpc), and the VIEWPixx /3D can display up to 10 bpc. By default, both displays will show 8 bpc, high definition full-colour video at 120 Hz. This is the maximum possible bandwidth supported by a dual-link DVI protocol.
In order to show video at higher bit depths, it is necessary to make a tradeoff to free up bandwidth for the additional bits. You can use a special video mode like M16, C48 or L48. Each of these modes implements a different strategy to achieve high bit depth on the display:
- M16 – full resolution 16-bit* greyscale with up to 256 custom colours via overlay
- C48 – full range of 16-bit* colours at half the vertical resolution
- L48 – up to 256 custom 16-bit* colours implemented via hardware lookup table
Which tradeoff is appropriate for you will depend on your experiment requirements. For more details see the documentation for the following commands:
Datapixx('SetVideoMode') PsychImaging(‘AddTask’, ‘General’, ‘EnableDataPixxM16Output’); PsychImaging(‘AddTask’, ‘General’, ‘EnableDataPixxM16OutputWithOverlay’); PsychImaging(‘AddTask’, ‘General’, ‘EnableDataPixxC48Output’); PsychImaging(‘AddTask’, ‘General’, ‘EnableDataPixxL48Output’);
Note that you may need to instruct Psychtoolbox to use 32-bit floating point colour values in order to use these modes, e.g.:
PsychImaging(‘AddTask’, ‘General’, ‘EnableDataPixxC48Output’);
*16-bit refers to the capacity of the digital video signal. The display bpc will depend on the hardware and its limitations (maximum 10 bpc for the VIEWPixx /3D and 12 bpc for the VIEWPixx). In cases where the video signal contains more bits than the display can show, the least significant bits will be ignored.
You can find all details and documentation related to our releases at:
MyVPixx > What’s New
In PyPixx, navigate to System > About us. You will see a list of software and firmware revisions below the information about our company.
Don’t see this content? You may be using an older version of our tools. You can also get this information in the VPutil command-line software using ‘rev’.
If you have a recent copy of our software tools, you can check for software and firmware updates in the PyPixx program by navigating to:
System > Check Software Update
System > Firmware Update (requires hardware to be connected and powered on)
Don’t see these options? You are running an older version of our software tools. You can update to the newest version manually by installing the tools from our website, here. Once installation is complete, you can use PyPixx to check for firmware updates.
Any time you perform a software update, you will need to manually add the updated API libraries to your Psychtoolbox and Python folders in order to use them. For instructions see the following:
– Installing MATLAB .mex files
– Installing pypixxlib in Python
Your VPixx purchase should include a USB stick containing a copy of VPixx Software Tools. This includes all programs and software packages needed to run our devices. There is one set of Software Tools that covers all VPixx hardware.
Misplaced your USB? No problem! You can download a copy of our software tools from our website, here.
In Windows, open the USB contents/Downloads folder and launch setup.exe, and follow the instructions in the installation wizard.
In Linux, download or copy the .deb file to your machine and then run the following to install all tools and dependencies:
sudo dkpg -i VPixx_Software_Tools.deb
In Mac, mount the DMG by double clicking on it, then double click the VPixx Software Tools.pkg to launch the installation wizard and follow the instructions.
Once you have installed our software tools, you will need to manually add our API libraries to your Psychtoolbox and Python folders in order to use them. For instructions see the following:
– Installing MATLAB .mex files
– Installing pypixxlib in Python
PyPixx is our standalone software utility that allows you to:
- Setup hardware configuration
- Run basic diagnostics for your devices and graphics card pipeline
- Run demos on your VPixx hardware
- Enable some automated settings like Pixel Mode
- Calibrate your VPixx eye tracking system and toggle on recording
- Obtain system information
- Run automated screen calibration procedures and collect luminance and spectral measurements using our VPixx Edition X-Rite measurement tools
- And more!
PyPixx is included in our VPixx Software Tools.
VPutil is a command-line tool that is included with our VPixx Software Tools. It allows you to change basic settings on your VPixx device, install firmware updates, manually read the device register for diagnostic purposes, and run several demos to test hardware performance.
Our free software tools include a Python API that allows users to drive VPixx hardware via custom Python scripts.
In PsychoPy coder, these tools can be imported and their functions directly incorporated into your experiment code.
In PsychoPy’s builder interface, there is no integrated support for our tools. However, it is possible to insert custom code blocks into your routines that can drive our devices and record output. We recommend this code-based approach wherever possible, as low-level access to our devices allows the user to take advantage of the full range of our existing API and synchronization tools.
Not sure where to start? We are working on some VOCAL projects that demonstrate how to incorporate our tools into the PsychoPy builder. We will post a link to those here when they are available.
In the meantime, we are happy to provide one-on-one advice for integrating your devices into your PsychoPy builder project; please reach out to firstname.lastname@example.org if you would like assistance.
Absolutely. Our Python API comes in two flavours. Pypixxlib uses an object-oriented approach, while the libdpx wrapper permits more sequential programming. Which strategy you opt for is a matter of personal preference. Throughout several VOCAL guides we provide examples of both types of Python code.
For more details on how to install our Python tools, click here.
We do not currently provide software support for NeuroBehavioral Systems’ Presentation software. However, it is possible to configure our hardware to communicate with the Presentation PC via the parallel port and our DB25 digital output.
With this method, you can log button presses from our response boxes, capture automated frame-locked TTL triggers from our hardware via Pixel Mode, and synchronize your experiment code with eye tracking data from either of our eye tracking systems. For more details on how to set up this connection, please contact email@example.com.
Presentation does have MATLAB extension that allows users to run MATLAB scripts. As of April 2021, this extension only supports 32-bit MATLAB (r2015 and earlier). As soon as the extension supports 64-bit MATLAB, in theory it will be possible to use our full MATLAB API in Presentation.
It is possible to use our MATLAB/Psychtoolbox tools in E-Prime by running a MATLAB server. You will need a copy of MATLAB and administrator privileges to do this.
Full instructions for how to use our devices in E-Prime can be found on page 128 of the VPixx Application Guide [pdf].
In a lot of cases, if a piece of software has some kind of extension or tool for running MATLAB or Python code, there is a chance our API can be integrated into it.
Even if your software does not support these APIs, there is still the possibility to run the systems in parallel and use TTL triggers to synchronize events. Alternatively, you can take advantage of our data acquisition system to stream data (like eye position coordinates) onto our devices and log them on the same clock as your visual events.
Not sure whether integration might be possible with your existing experiment pipeline? Reach out to our technical support team at firstname.lastname@example.org and we will help you investigate.
If you recently crashed out of an experiment program, your VPixx Device Server may have frozen. You can restart it via the following methods:
- Search for the “services” application in the menu, and open it (should have a gear icon)
- Scroll down the list of services to “VPixx Device Server”, right click this and select “restart”
- Open a terminal and enter:
sudo launchctl stop com.vpixx.deviceserver
sudo launchctl start com.vpixx.deviceserver
- Open a terminal and enter
sudo systemctl restart vpixx-device-server
If this does not resolve the issue, please contact technical support (email@example.com)
If the console monitor is a make and model recommended by the VPixx team, or if it was purchased directly from us, this error is normal and should disappear on its own after about a minute. After this your screen will work normally.
If the message persists for several minutes, or is accompanied by other screen artefacts (like tearing or flickering), your monitor may not be suitable for use as a console. Please ensure it is set to 1920 x 1080 @ 120 Hz. If this does not resolve the issue, you may need to use a different monitor.
You may be sending video at an unsupported resolution or refresh rate. Check your graphics card and display settings and make sure they are set to one of our specified resolutions and refresh rates. Please also ensure your video cable is dual-link DVI, not single-link.
In some cases you may also need to specify your display EDID. The EDID is a setting on your display hardware that indicates to the graphics card the preferred resolution and refresh rate of the display.
If your desired resolution does not appear in your display settings, you can specify the display EDID in PyPixx in the Configuration widget. There are two ‘slots’ available, which you can set to two of your preferred settings. You may need to restart your VPixx device for the new EDIDs to take effect.
This is typically a sign that your video signal is being attenuated. This is common with longer cables. If you have a booster (small box connected to the video cable, located near the projector), you can try adjusting the dial on the side until you achieve a stable image. If you do NOT have a booster, you may want to try a different, shorter video cable.
The flashing red square in the top corner of the display indicates that your video frame rate has dropped below 100 Hz (usually to 60 Hz). When this happens, the VIEWPixx goes into “resampling” mode and repeats incoming video frames in order to continue displaying images at a rate of 120 Hz.
Resampling mode can cause problems for timing-sensitive experiments; the red square is a warning that is a bad idea to collect data while the display is behaving this way.
You can resolve the issue by changing your display settings such that the VIEWPixx is showing full HD (1920 x 1080) at 120 Hz. You can usually change this in your display settings.
If you don’t see an option for 1920 x 1080 @ 120 Hz, it may be that you are using a single-link DVI cable, not dual-link. In that case you may need to swap cables and restart the monitor to be able to change the display settings.
This error is usually caused by an outdated MATLAB executable (.mex file) in your Psychtoolbox folder. This file must be manually updated each time you update VPixx Software Tools. Please follow the steps here.
There are many possible reasons for this error, but common culprits are the following commands:
Both of these commands instruct your VPixx hardware to perform a register write when a specific event is detected in the video signal. They are non-blocking commands, so the rest of your MATLAB code will continue to run. However, your device is now in a “busy” state while it waits for the event, and any further attempts to perform a write or write-read to the device register will be queued until the event is detected and the write can execute.
Queuing many attempts to write to or read from the device register while it is “busy” can throw errors and crash your program. If this is happening to you, most likely your VideoSync or PixelSync commands are waiting for a very long time for their triggering event (or the event just doesn’t happen) and this is causing subsequent attempts to communicate with the device to stack up and crash the program.
If you are not using either of these commands in your code, you may want to check and see if one of your PsychDataPixx commands might be using them “under the hood.” PsychDataPixx commands that reference timing are almost certainly using these sync functions.
To fix these errors, please ensure the following:
- Video is running through your VPixx hardware to the display
- Your script calls VideoSync and PixelSync commands (or the PsychDataPixx functions invoking them) right before the screen flip which should trigger them, so there will be little delay
- For PixelSync: You are not applying blending, anti-aliasing or other display changes which could alter your PixelSync trigger after you have set it
- For PixelSync: Your graphics card is not dithering. Check out our guide to diagnosing and disabling dithering to learn more.
If these sync functions are not relevant or you want to get around them for debugging purposes, both functions have a timeout argument that can be set to 1-2 frames to cause them to execute right away and prevent queuing subsequent commands. Doing this renders their sync function useless and will definitely mess up any timing or synchronization that depends on them. We do not recommend doing this during data collection.
As a first step, please follow the instructions here and install your pypixxlib file in the appropriate Python folder. This is usually something like:
If you have done so already and the error persists, check for multiple instances of Python on your computer. Applications like PsychoPy and Anaconda have their own dedicated Lib\site-packages folders and you may need to install or copy pypixxlib into these folders to ensure your program sees it.
Depending on your software, you may also need to explicitly add site-packages to your path. Some Python IDEs have a PYTHONPATH manager that allows you to do this, usually in the “Tools” section of the menu
If you are using the PsychoPy builder, you can add locations to your path by navigating to File-> Preferences -> General and clicking on the little square with the ‘…’ from the row labelled “paths”.