What hardware are you using? Does it have an e-switch, a clicky switch, or both? What kind of driver is in it?
Could you be a bit more specific about the interface? Specifically, in any given state, which actions cause which state changes? For example,
While off:
- Short click goes to (lowest/highest/memorized/other) mode.
- Long click goes to (… strobe?) mode.
- Double click goes to (whatever) mode.
While on:
- Short click increases brightness. (loop from max to min)
- Long click decreases brightness. (loop from min to max)
How do you turn the thing off?
I’m not aware of any firmwares which handle voltage monitoring properly on more than one cell in series. They generally need a zener mod, and that tends to interfere with voltage detection. I don’t have any hardware like that, so I don’t actually have a way to test it.
As far as the UI goes (if I understand it), the closest firmwares I’m aware of are two that I made for the Ferrero Rocher driver in a Roche F6. One is very close to STAR-momentary, with some additions:
While off:
- Short click to go to lowest level.
- Long click to go to highest level.
- Short-then-long to enter battery check mode.
While on:
- Short click to increase brightness. At highest mode, this turns the light off.
- Long press to decrease brightness. Hold until desired level is reached, then release. Stops at “off” if you hold long enough.
The other is based on the Olight Baton UI:
While off:
- Short click to go to memorized level.
- Long press to go to moon.
- Longer press to enter (or exit) soft-lockout mode. When unlocking, it’ll enter the last memorized mode.
- Double click to go to turbo.
While on:
- Short click to turn off.
- Long press to increase brightness. Hold until desired level is reached, then release. Loops from “turbo” to “low”, skipping “moon”.
- Double-click to enter strobe (or beacon) (not yet implemented).
There are other firmwares I haven’t tried though. I try to get everything into my firmware repository, but there are a bunch I haven’t added yet or haven’t gotten permission to add.