Back to PSM Lab
DLP Light Commander
The DLP Light Commander is a projector with really, really fast refresh rates and precision timing.
Overview
Quick Stats |
Resolution |
1024x768 only |
Compatible OS |
Windows XP, Windows 7 (32 & 64-bit) |
Static Image Frame Rate (Monochromatic) |
6 Hz to 5000 Hz |
Dynamic Input Frame Rate (Colour) |
60 Hz |
Dynamic Input Frame Rate (Monochromatic) |
1440 Hz |
Onboard Static Image Memory |
90MB, enough for 960 bit planes |
Part Number |
1015647 |
Serial Number |
2910M00395 |
The DLP Light Commander is a projector that allows for extremely high frame rates, precise control over exposure time, colour balance of monochromatic light, and IR light. It is extremely finicky but very powerful. It runs on 32-bit operating systems only, and has only been tested with Windows XP. There are three different modes for display: Video, where it operates as a normal colour projector at up to 60 Hz; Structured Light, where it displays a series of static, monochromatic images read from onboard memory at rates of up to 5000Hz; and Real Time Structured Light, where it displays monochromatic images from a dynamic input (such as DVI) at up to 1440 Hz. In the software, Structured Light and Real Time Structured Light are differentiated only by source - they are both found under "Structured Light".
NB: Do not set the "LED Strength" parameter to any value greater than 60%. See Errata E0031 on the software download page for more details.
Installation & Start up
Hardware
The DLP Light Commander comes with a power cord, a USB cable, an HDMI to DVI converter cable (the HDMI end connects to the projector itself), and a user manual.
Software Download and Installation
Go to the following link and click on support:
http://www.logicpd.com/products/development-kits/dlp-lightcommander-development-kit
You will need to sign up for an account. To register, you will need the following information:
- Part #: 1015647
- Serial #: 2910M00395
Download the control software and the software user manual, which should give you the following files respectively:
- 1017179A_DLP_LC_Control_SW_1-0-73-859.zip
- 1015703Rev2_DLP_LightCommander_SW_UM.pdf
Extract the zip file and install the software.
Turning the Projector On
- Plug the projector into a power source, leave it turned off
- Switch the projector to "Run" rather than "Park"
- Plug the USB cable
- Switch projector on
- Install the USB driver automatically (if necessary), or wait until the computer recognizes the projector
- Start up the control software
Using the Control Software
The software is finicky, but relatively straight forward. The best advice is to follow the User Manual's instructions. One key difference between the control software and the different modes cited in the documentation is that the software separates projection mode and input mode. That is, it has two light modes:
Video (colour, standard frame rates) and
Structured Light (monochromatic, faster frame rates). The difference between Real Time Structured Light Mode and Structured Light Mode as cited in other documentation is the input mode (static image vs. DVI).
The software has different
solutions, which have different
projects contained within them. The easiest method to creating a new project is using the wizard found in the "New" menu. Note that that bits per pixel is specified when creating a project. Also, switching between Structured Light and Video modes does not always seem to work; creating a new project is often necessary.
Important: Make sure that the DLP Light Commander is plugged in via USB and turned on (in "run" mode) before starting the software.
The USB cable is used to change real-time settings (such as flipping the image horizontally or vertically) and to compile and download a program to the projector. Once the projector has its program in memory, you can unplug the USB cable and the projector will continue to operate. DVI input can come from anywhere.
Note that turning the projector off will lose whatever program is stored in memory.
Static image control programs must be tediously constructed by importing every image individually. If the project is in Structured Light mode, you will be asked to specify a threshold for converting it to a bitmap. Images can be either cycle at the specified frame rate, or manually stepped forward/backward.
APIs exist for writing more elaborate control programs, but they have not been confirmed by anyone in the lab. See Additional Features below for more information.
The Different Modes
There are three different modes for display: Video, where it operates as a normal colour projector at up to 60 Hz; Structured Light, where it displays a series of static, monochromatic images read from onboard memory at rates of up to 5000Hz; and Real Time Structured Light, where it displays monochromatic images from a dynamic input (such as DVI) at up to 1440 Hz. In the software, Structured Light and Real Time Structured Light are differentiated only by source - they are both found under "Structured Light".
Important: When changing whether a project is using one of the Structured Lights or Video, you must create a new project. The software fails to compile when you change this without creating a new project.
Video
Video allows for colour projection at standard frame rate either from DVI input or static (colour) images. Video can be displayed at up to 60 Hz, and a maximum of 40 images can be stored in the projector's memory.
Structured Light
This mode displays predefined images at extremely high frame rates (from 6 to 5000 Hz). You must individually import each image into the project, and specify thresholding to create a bitplane. The projector can
only store 960 bitplanes in memory. These images will cycle at the specified frame rate, or can be manually stepped through using the control software. There are APIs that might allow for more elaborate manipulation of stored images; see Additional Features for more information.
Real-Time Structured Light
This mode allows for frame rates of up to 1440 Hz specified in real time. The projector takes 24-bit RGB colour information as 24 bit planes, rendering monochromatic light at 24x the computer's expressed frame rate (24 x 60 = 1440). To do this, specify 1-bit colour in the wizard when creating a new project, set the projection mode to Structured Light and the input to DVI. Then, have your display program render RGB colour as 24 bits, with each subsequent bit representing a pixel at a different frame rate. That means that the 8 red bits are the first 8 subframes (called "patterns" by the documentation), the 8 green bits are the next 8 subframes, and the blue bits are the final 8.
Tips & Tricks
- If the projector is reading input from DVI and is not displaying correctly, try the following:
- Put the projector into "Park"
- Pull the HDMI end of the cable out of the projector
- Plug the HDMI cable back in
- Put the projector into "Run"
- On the Acer Aspire netbook (Windows 7), plugging the HDMI cable in and switching the projector on is a sure-fire way to cause a blue-screen-of-death.
Additional Features
There are several additional features that have not been confirmed by a PSM lab member.
API
It is possible to create a batch file using commands the DLP Light Commander understands. Relevant documentation can be found at the following links:
Sample code can be found by taking the following steps (on Windows XP):
- Go to http://www.ti.com
- Search for "DLP200app" in the keywords box
- Click on "DLPC200 Configuration and support firmware
- Click on "Reference Application Source Code for DLP 200 API"
- Fill out a form for so-called "government approval" (turnaround was instant for me)
- Install, then look at the installation directory ( "Program Files\Texas Instruments-DLP\ DLP LightCommander API Ref Apps\" )
Triggers
The projector has three jacks for analogue triggers that allow for synchronization with cameras or many other devices. The 3 external BNC connectors (User Syncs) are for output synchronization only. There is also an input trigger but this is not exposed on the exterior ports. You need to attach the trigger directly to pins on the board. See the discussion
here
and
this photo of an input trigger.
Loading Images
Images can be loaded via the DLP software application. This requires generating (max) 1024x768 images and loading each one via the GUI. The software will convert these to DBI files. The DBI format is not published, nor is there an external tool to produce these images. However, the software will produce a DBI file from the loaded patterns, and save it to the hard drive. It's apparently fairly straightforward to reverse-engineer this format.
Direct Access to API
The LogicPD control software GUI is tedious to use for repeated experiments, and cannot be scripted. Defining a pattern sequence requires that you click the "add" button, navigate to a file (the file choose defaults to only displaying BMP images), select and add it, optionally choose a threshold value, and click OK. Then it takes a few seconds to convert the file to the native DBI format. For a sequence of hundreds of patterns, this can take a very long time, and making changes to the patterns will be tedious and error-prone. Fortunately, the DBI format is very simple and can be reverse engineered. Even more fortunately, all the important bits are implemented in a DLL file (the control software simply calls this) and one of those DLL functions can execute a batch file (text file) containing commands that map directly onto DLL functions. It's very easy to call these functions from Python. See the attached
script for an example of how to generate the DBI files and display them in sequence. There are some tricky aspects to this (particularly dealing with triggers), described in more detail in the script comments. To run the script, make sure that PortabilityLayer.dll and DlpCommDLL.dll (from the SDK) are in the same directory.
--
BradAtcheson - 20 Sep 2011
--
OliverSchneider - 27 Apr 2011