In commit 2e19490 on the split_files branch I've updated the architecture a bit. The idea with this reorganization being that a System consists of a lamp, SMU, computer (which defines file locations), and IV system (which defines calibration parameters). The lamp and SMU are controllers with a common interface -- e.g. every lamp has the lamp_on, lamp_off, etc. methods -- where the actual instances are pulled in, but are separate from the main package.
My idea is that each of the hardware controllers has a unique name that can be specified in the settings. In the Computer settings you can specify folders to find the hardware controller implementations, and there will be a function that searches these folders, pulls in all the sound controllers, and uses the one with the matching name specified in the lamp or smu settings.
Another possibility would be to just specify the file location of the controllers directly in the lamp and smu settings.
In commit 2e19490 on the
split_filesbranch I've updated the architecture a bit. The idea with this reorganization being that aSystemconsists of a lamp, SMU, computer (which defines file locations), and IV system (which defines calibration parameters). The lamp and SMU are controllers with a common interface -- e.g. every lamp has thelamp_on,lamp_off, etc. methods -- where the actual instances are pulled in, but are separate from the main package.My idea is that each of the hardware controllers has a unique name that can be specified in the settings. In the
Computersettings you can specify folders to find the hardware controller implementations, and there will be a function that searches these folders, pulls in all the sound controllers, and uses the one with the matchingnamespecified in the lamp or smu settings.Another possibility would be to just specify the file location of the controllers directly in the lamp and smu settings.