I have picked up this project again today. It is basically the 18650 version of this torch, where I replaced the puny XR-E Q5 with a neutral white XM-L T5 driven at 2.8A. I also wrote a basic driver that is using the magnetic selector ring as a simple up/down switch to cycle through the modes. That was the point where I got stuck, as I absolutely suck at designing UIs. Maybe some of you can come up with something decent.
This thing got two inputs. First the selector ring, which, for technical reasons, can only be used to detect movements clockwise or counter-clockwise. Second is the reverse clicky switch at the tail. It can be used at start-up to determine how long the light had been powered on before it was last turned off. This is what most cheap driver PCBs do.
I'd like to go with the standard BLF-VLD approach of having two mode groups, one main group and an extended group. The extended group contains all modes available, around ten different constant light level, strobes, beacons, distress signals, etc. The main group consists of 3-5 modes, which can be chosen from the extended group freely and in any order. The hard part is how to change from the main group into the extended group and how to program a chosen mode into the main group. I was thinking about as special turning sequence (e.g. up-down-up-down-up-up-down) but this seems a bit awkward. Another way could be clicking sequences, like three short taps at the tail switch in a row.
Well, any suggestions are welcome.