The controller software is fully functional again and I can get back to making holograms while continuing to upgrade the hardware and software.
Shown to the left is the board hooked up to two shutters and a light sensor. The lit LED is showing that the light sensor is seeing enough light to activate the input channel.
I’m now going to start the process of opening a sourceforge account and getting the controller software set up under an open-source license.
After I clean my office. It’s a disaster (again).
Why am I going open source?
Because other people have expressed an interest in working on general controller software as well as stepper control for stereogram generation.
The general roadmap I have in mind for the project is:
Generalized device object that encapsulates control of input and output devices such as light meters, shutters and switches in a device independent way.
I/O communication object that encapsulates communication between the devices and the software in a device dependent way (assumes the use of the Velleman K8000 interface).
Software control for opening and closing at least two shutters.
Software monitoring of two on/off light sensors to make sure that the shutters are opened and closed when they should be.
Settling and exposure times may be set in seconds.
Shutters may be set open/closed by the user and will be closed when settling begins.
Single-button activation which sets in motion a settling phase followed by an exposure phase.
Test mode may be set so that the settling and exposure phases don’t change the shutter state.
On-screen display of remaining times for settling and exposure in seconds.
On-screen display of the exposure target time in hh:mm.
On-screen display of the time of the last exposure in hh:mm.
Release of the source code under an appropriate open-source license.
Conversion of the code to use an open-source UI library. Preferably something that runs under windows, linux, mac and dos (I’d really like it to run on low-resource hardware).
Modification of the I/O object to include support for multiple platforms.
Modification of the I/O object to remove dependence on the dlportio library.
Conversion of the communication object to be device independent if there is sufficient demand.
Addition of an event list interface that allows the user to add, remove and re-order events. These events will include (at the least) timed delays, activation and deactivation of devices and value tests of input devices.
Profit! Ok, it’s TBD.
As soon as phase 1 is complete, I’ll open up the source code base to the public. and see where things go.