One day in late 2020, upon returning to campus, I was disappointed to discover that the Crestron touchscreen that I use to control the 10 projectors in The Marquette University Visualization Lab had died after months of neglect during the Covid-19 shutdown. Instead of replacing the unit, I decided to make a simple Python GUI to trigger the most common daily tasks of the Cave: powering on/off, opening/closing shutters, enabling/disabling stereoscopic 3D mode, and enabling/disabling the floor projectors.
The program is made in Python 3.12, and its only requirement is wxPython. "Build.bat" is an included shortcut that will build a standalone executable using PyInstaller, if desired. Python 3.13 and greater will require porting to telnetlib3.
In order to be useful for other Caves, some modification to the code will be required, as IPs and available commands are hardcoded in. To discover additional commands or their parameters, consult the serial command API reference, "M Series Serial API Commands Tech Ref.pdf", from Christie's website. The program is designed for use with Christie WU7K-M projectors, but should work similarly with other makes and models with slight adjustment to the commands.
Special Thanks to jmusarra, whose Pyjector was useful for emulating the projectors while working from home.
v1: 5/21. TKinter GUI v2: 11/23. WxPython GUI. v3: 5/25. Adding some tweaks and an autoshutdown.
- Run "python caveControl.py" , or CaveControl.exe.
- Press ESCAPE to quit, or close the window.