The menus in Anduril 1 required the user to go through all the options before exiting. People complained that it was annoying having to wait so long (like 15 seconds) just to change one option. Menus in Anduril 2 edit one option at a time, which works better for most use cases, but it’s less convenient when the user wants to edit multiple things at once.
As for customizing the menu appearance for each option, for just one specific menu, it would be possible by copy-pasting or modifying the menu function, but also quite possibly confusing or ambiguous. It’s not always clear what a channel mode does, just by looking, especially if one or more channels emit invisible frequencies of light or if there are multiple blend modes with non-obvious differences.
For now, each light has a compile option to choose how to handle menus. The default is to use the current active channel mode as-is. However, it can also choose to set specific channel modes for the “buzz” part of the menu and the “blink”. One model already does this, using red for the buzz and white for the blink. However, on a generic build like “Emisar 2-channel”, the firmware has no idea what each channel is going to be, and some combinations would be really annoying or even unusable. So it uses the default.
I don’t think it will be feasible to make the channel menu mode self-documenting. Maybe it could use each channel mode briefly while scrolling through them, but the details of each one won’t be clear without actual documentation. It’s hard to tell the user “this mode uses the blend value of mode 1, plus its own additional blend of channel 3, and BTW you’re in the middle of a menu right now”, just by changing the color of a pixel for a few seconds. Especially when the compiled code needs to be shorter than that sentence.
This comment uses more bytes than the entire multi-channel code system.
At some point, is it better to reprogram on an app and just flash the specs using the tool?
Similar to the Overready optical app.
I just did the ‘raise ceiling for each channel, double click turbo for only 1 channel thing’, and am exhausted. Kidding, but I’d of rather picked that and then ‘downloaded’ it to the light. All that clicking…
Yeah, fair enough, that was my instant guess, and ultimately I don’t think it’s asking too much for sellers of lights to just include a list of what the modes are and their order.
I have an ongoing project to do something a little like that (I imagine, never had an Oveready) in terms of setting up defaults and enabling/disabling features for a custom build but it’s a long way from being done and my life is too much of a mess to reliably have time to work on it. Also, it’ll probably be a command line script because I hate UI design, unless someone else here wants to handle that part for me…
The Channel Mode Menu activates each channel mode while they scroll by, to help the user choose the right one. So it is at least somewhat easier to remember which one is which.
RGB aux LEDs run in high mode for 3s after turning the torch off. This makes it easier for the user to see the voltage color. (red aux is really hard to see in low mode when other colors are active)
While asleep, voltage is measured once per second now instead of every 8 seconds. Try going directly from turbo to “Off” to see the effect, as the battery recovers.
Average power use while asleep was reduced about 15 uA, by vastly shortening the time the ADC is active during each reading. On a D4Sv2 in aux low mode, I measured 101 uA before, and 86 uA afterward. I took an average of 30k samples each time.
Voltage readings should be more stable in sleep mode now… though I can’t really test it since the oscillation is basically impossible to trigger on purpose. It’ll take months (at minimum) to confirm. However, it did at least eliminate a spurious low-voltage warning that I previously had a kludge workaround for, so the workaround isn’t needed any more.
Basically, I fixed an obscure bug which has been there for a long time. Details are in the change log. Plus a couple of minor new features.
I try this last firmware in D4K and is fantastic but i not understand how to choose the extreme tint ramp with only one tint at time.
I configure 9H with extreme ramp but when I use 3C from on I see 2 leds than 4 leds then 4 leds (but 2 of 4 seems to be a bit dimmer) then 4 leds plus dimmer than 2 other leds in cycle. I don’t see 4, 2, 2,4 in cycle
Also the 3C from off for battery check is too high for my eyes. I think for check battery voltage we con use one color of the aux or the led but please use level 20 because I am blind now😂
I haven’t tried the new hex out yet, but 3C will switch between algos, then 3H to ramp between the two when both channels are available. Might take a little trial and error to determine which is which.
I implemented this feature in my anduril fork a while ago. At the moment the aux colour needs to be defined at build-time, so tell me which you’d like and I can make a build. There’s an additional item on the 9H menu: 1C = blink numbers using low aux, 2C = high aux, 3+C: Main emitters, where the number of clicks is the ramp level to use (e.g. 5C = blink main emitters at ramp level 5). I’m undecided as to the best way (both from a UI perspective and how to code it space-efficiently) to make the colour selectable at runtime.
@ToyKeeper, feel free to take this code/idea. If you want a merge request let me know although I know you’ll probably come up with something equivalent that takes like half the MCU space
I’m not sure I understand what LEDs your light uses or what configuration you’re aiming for.
The firmware has a few “channel modes”, but most of those modes have no tint ramp. All modes are enabled by default but some might not be relevant for your hardware, so what I’d recommend doing first is to turn some of those modes off.
Using “On → 9H”, it has a menu to select which channel modes you want. Try holding the button until the menu ends, without selecting anything. This should show 5 settings you can choose… LED group 1 only, LED group 2 only, both, both (but less bright), and both (with one brighter than the other).
Those 5 modes are:
Channel 1 only. Works as a single color light. Has no tint ramp.
Channel 2 only. Same as above, but with the other half of the LEDs.
Both, tied together. Still works like a single color light, with no tint ramp. It simply has all the LEDs on at once. This mode can reach full brightness, using maximum power on both channels, but it does not allow the user to change the tint.
Tint ramping. The user can use 3H to change the blend ratio between the two channels.
Automatic tint. The blend ratio is changed automatically based on brightness. The user can use 3H to invert the tint (warm to cool, or cool to warm), but no other controls are available.
It sounds like you wanted modes 1 and 2? Or maybe 1, 2, and 4? I’m not sure what the goal is, what you want the end result to look like.
Let’s say you wanted 1, 2, and 4… and don’t want 3 or 5. To do that, after a factory reset, the process would be:
Off → 10H: go to advanced mode
Off → 1C: turn on
On → 9H: hold until 3rd blink, then release. Wait until light stops buzzing. Mode 3 is now disabled.
On → 9H: hold until 5th blink, then release. Wait until light stops buzzing. Mode 5 is now disabled.
After this, you should be able to use “On → 3C” to switch between 3 channel modes: channel 1, channel 2, and both (tint ramp). In that last one, 3H can ramp the tint.
As a side note, mode 4 (tint ramp) has an additional option that some people might want to use. This firmware has the ability to do stepped tint ramping. The option is hidden in a different menu though.
Off → 9H: Misc config menu. Release after the 1st blink to configure smooth or stepped tint ramping. At the buzz, click 0 or more times to set a tint ramp style:
0: smooth ramp
1: middle tint only
2: extreme tints only
3+: stepped ramp with 3+ steps
One setup people might find interesting is… turn off every channel mode except the tint-ramping one. Configure the tint ramp for 3 steps. With this setup, “On → 3C” changes the brightness ramp style (smooth or stepped) because there are no other channel modes enabled. Using “On → 3H” switches between channel 1, middle tint, and channel 2.