Home Semitone Lighting Call for contribution
Contribute to the Semitone Project

This is a list of features that users have been requesting or that would generally be nice to have. However these are things that I don't have the time to implement or personally have no use of and therefore low motivation to invest too much of my time.

If you have a nice feature request or a solution, or if you have even worked on one of these issues, please do not hesitate to contact me.

Semitone Diamond

Utility for configuration on host

Idea: A tool on host side (PC) that generates a binary EEPROM image (where the configuration data resides) from a given human-readable text file. The next step would be to implement a tool that reads a binary image and creates such a text file. Also, I could imagine using such a tool over a web frontend.

Example: One could write a text file that contains something like this:
chname.0 = "First channel"
scname.2 = "Third scene"
chstage.19 = 4 (or even resolved into something like fet-fwd-inv)
flashes = 0

Reason: There are people who do not want to add an LCD and buttons to their lighting controller because they just want to use it as DMX slave. However, they need some possibility to initially configure their controller. And using a hex editor on the binary image is not possible anymore since the image is now compacted (like a huge bit-packed struct) and also uses character mapping that even make it impossible to simply read/write the embedded 7bit strings for the scene and channel names.

3-Phase support

Idea: For load distribution it makes sense to connect the output stages to different phase lines. With the current software this is not possible. We currently have one timer that gets reset on each mains zero-cross.

Required: First, we need a free-running timer. We only have one hardware timer left in the controller so we have to calculate the phase delays. Currently all outputs are synced to the zero-cross. At the time of zero-crossing all channels are expected to be in a defined state (depending on the output stage type). This is not given if we have delayed outputs. The resync (phase 1) could happen just when phase 2 and phase 3 are being controlled. Any solutions?