Anduril ... 2?

Sigh, I was looking for this. I wasn’t a fan of the new 2C behavior.

Edit2: is there a way to default a hybrid memory step and a timer?

Took a break from the light hobby for a bit. Anduril 2? I want to try it. Honestly haven’t read all pages. But I like what I have read.

Thank You TK.

Is there a page with a flowchart diagram, Is there a HEX file ? I have loose lexel driver with t85 I would like to play with.

Well, I’ve been fiddling with the code for a while now and I just don’t quite understand the eeprom management. If there is a way to set a hybrid memory step and a timer I would appreciate some guidance when someone has time.

Chad, I can’t comment on which hex to use, but they’re here along with a manual: Index of /torches/fsm/anduril2

A UI diagram isn’t official, but I think this is close: Anduril ... 2? - #591 by Lux-Perpetua

Thanks nick779. I’ll take a look. Still waiting on my Programmer and K4 from across the pond.

Apart from that one I made a new one. I don’t know if there will ever be an „official“ one made or approved by ToyKeeper but maybe this chart can be useful to start with.

How difficult would it be to tie the max fet level to the battery level? This would be for single emitter lights or lower power emitters. For example suppose you wanted to power a single sst-20 light. Full fet at 4.2v might fry the emitter so you’d want to limit the fet to an 80% duty cycle.

As your battery’s voltage decreases, down to 3.5V or so, you’d want 100% fet when using turbo instead of 80% fet to keep the output as high as possible from a cold start.

Is it possible to limit the fet to 80% at 4.2v but gradually ease the limit to 100% fet as the battery’s voltage lowers?

i don;t think you can do that since under load the ‘voltage’ lowers and does not indicate remaining capacity, like it does when it has been unloaded for an hour or so.

just saying, unless you have a coulomb counter type thing, you can;t really tell the battery;s condition under load.

Remaining capacity is not important if I understand this correctly.

We just don’t want to feed an emitter too much current at any one time. As a battery drains, the voltage will lower (and also sag at high currents) so we just need to limit the FET duty cycle when the voltage the battery supplies is too high, and ease then remove that limit as the battery’s voltage decreases to continue giving the emitter as much power as it had been getting before.

This is for cold starts where temperature regulation has not needed to kick in yet.

What you describe is current regulation and that is exactly what constant current drivers do. :wink:

I guess so. Once I delve a bit deeper into electronics, maybe I’ll be able to come up with something beyond stacking more 7135s on top of each other to increase the amps

I'm not sure if this has been brought up, but one thing I find particularly confusing is that going in and out of simple ui is not the same. I suppose there could be a reason for it, but if you get it wrong, you can unintentionally change the SimpleUI ramp config quite easily. I'm trying to find a way around this in the off-mode.c to make it always 10c to toggle, but I guess having it 10C to go in either direction could be confusing too.

Edit: Got 10c always toggle to work just fine, working on distinguishing blinks for simpleUI (1) vs adv (2).

Edit2: Couldn't find all of the states to see what was available, so I just used:


Edit3: One thing I noticed is that if a default hybrid memory timer is set, 10c first option does not disable it. It can be changed to 1 minute with the second option but not reset to 0 with the first.

I also noticed that the time required to step to the manual level seems random. Ex if set for 5-10 minutes, it takes significantly longer to reset.

Im still playing with the 2c turbo behavior and I can't really pick which I like more. Being locked from the factory to momentary turbo unless you manually ramp to the ramp/step ceiling may frustrate some users.

Still one heck of a rewrite and I love all of these new options.

Anduril 2 seems to be quite stable. I’ve been speaking to Barry about selling the LT1 with anduril 2 instead of anduril 1 since the simple UI of anduril 2 is sufficient for normal operation.

This would help make the LT1 friendlier for the masses who don’t want to navigate anduril while allowing people who want more functionality to exit into advanced UI.

Do you guys see any downsides to this?

I was using a readily available hex file, not building it from the source. So, my comment may be outdated: I find direct moon much easier with Andúril. A2 ramps up way too fast after the two blinks. What are they good for?

Which two blinks? That sounds like the old timing where it turns on immediately and blinks to let you know when you can release the button. The ramping hasn’t changed between Anduril 1 and 2

Ah, ok. On my light (3xSST-20) there’s nothing until the blinks. So might be a hardware specific problem.

Edit: Was able to find a good floor level. 5 gives a good moon level :slight_smile:

After playing around with a few lights with my flavor on them I’ve come to like Anduril2 quite a bit.

I do like 10C changing the UI no matter which one you are in along with the double blink for ADV UI.
I wish that USE_2C_MAX_TURBO was an in-light configurable item with the default as A2 behavior. Small lights I can see running A2 behavior, but bigger lights should have the option to switch if possible.

I still really like the factory reset thermal calibration and the voltage fudge factor being within the light now.

If I could be pardoned my absolute Paint skills.. I would dare to present you my own picasso:

Some premises from which I went on to get to this UI:

Everyone that I know using flashlights (so far that would only be me, myself and the guy writing this.. ) would be familiar with the following:

1C - On/Off

1H - Change something (usually brightness)

2C - Maximum blast!.. (1C usually being the fastest and easiest, or most intuitive action to take when in such trouble.. )

3C - You bet! it's the flashy Strobe (doesn't have to be the "police strobe" everyone so dearly "loves" though.. )

Locking a light from On would be kinda pointless imo (or at least not a must.. ?)

Momentary mode.. I guess it's too cumbersome to have/implement on a single e-Switch.. (other features might come more in handy before it)

AUX RGB LED's in the front of the blaster - Hmm, quite a bad idea I'd say.. especially in the wrong hands (and you bet the wrong hands would be your safest bet to what hands would this light fall into first thing unsupervised.. )

Indicator LED - gets no love.. Ever!.. (well, sometimes actually.. usually by the boring kind of flashlight manufacturers) When actually it's the most useful light in a flashlight, other than the main emitter/s..

Idiot proof UI and Advanced UI.. - Yeah, if anybody wants to burn the house or poke their eyes, they'd surely find other ways to do it, even without a flashlight.. Imho, better learn by mistake than be prevented from learning in the first place.. Sooner always better than.. never.

Consistency, consistency, consistency - Is the name of the winning game. That's not to deter from new features and good design, but what works always proves that is working on its own, so that's the reason behind some of the basic interactions choices that I've made. Still it's only Rev. 1 (and likely to stay as Rev. 1 since idk how to code and likely this will not spark any big interest)

A flashlight is to be used in the dark, thus the least amount of light should be plenty, especially with eye adaptation (unless you want to set something on fire.. at 100m away from you maybe ?) Just a random thought.

Anyways, this is what I've painted as my personal favorite Anduril based UI.

As a basic guide to what I tried to achieve:

From Off:

1C: On - Either Memorized lvl. (but I would avoid it to keep the memory from getting re written every shut Off.. ) or simply a default [1x7135_MAX] (which would be plenty light but also not overly bright in the dark)

1H: Moon -> Keep Holding for 2 ~ 3 seconds until you get a blip and then release for Beacon </> S.O.S. Emergency signaling Mode group [2C to Cycle between Beacon </> S.O.S.]

2C: Turbo (not Ceil) - It's likely that if you want to blast something with your hot stick as fast as a Double-Click, you really and I mean REEALY do not have the time to ramp ALL THE WAY UP to that forever and never to be reached Ceil.. Right ? So why bother with different types of MAX LVL and blah, blah nonsense.. Consistency is your best friend when God forbid, you no longer have your fine motor skills to rely on.. 1C to Off (as we've started from Off) 2C should only go back to MAX_LVL (Turbo) again, as the light thermally throttles (maybe the situation requires it.. Also.. of course - You bet it.. Consistency - 2C should ALWAYS go BLAST!.. ) 1H - Jump to and Ramp Down from Ceil. 3C - Tactical Strobe

2H: Momentary Turbo - The one mode that makes sense to have momentary action (I would even go as far as saying that the Turbo level should ONLY be a momentary mode.. well, this and the Tac Strobe that is.. ) Release for Off (or back to memorized lvl. from On)

3C: Tactical Strobe - Yep, the good one (non adjustable though, because compatibility / functional conflict reasons) Same stuff - Consistency - 1 Click for Off (since we've started from Off) and as well, for the sake of consistency, 1H should go ramping down from Ceil, just as Turbo (hence the non adjustable strobe - the compatibility/conflict issue I've just mentioned) 2C - Turbo

3H: Momentary Tactical Strobe - (not sure if this would be really needed, thus I have not yet.. "painted" it.. - would have same behavior as Turbo.. go Off on release ) It would conflict tho with the 3H for the Fun blinkies - I thought that it would be more consistent to have blinkies/strobe on the same 3 presses 3C for Strobe and 3H for the Fun ones though.. Idk yet.. Thus:

3H: Fun Blinky Modes Group - Candle and Thunder Storm! - THE ABSOLUTE BEST OF ANDURIL, YAY! (and maybe keep the "Party Strobe" in this mode cycle as well.. ? but I feel it's kinda redundant to the Tactical Strobe, which supposedly is an actual useful feature.. God forbid you'd ever need it though.. ) 2C to Cycle Candle > Thunder Storm > Repeat (or Candle > Thunder Storm > Party Strobe > Repeat.. )

4C: Lock - Consistency is still King!

5C: Batt Chk / Temp Chk - I think it's perfectly serviceable/practical to have these modes/this group not too easy to access, but also not too far out of reach (especially the Batt Chk.. ) Maybe 5H ? (nah.. too cumbersome to just check the battery voltage.. also there's a 7H to prevent fucking anything up in there, so, I'd say we're on the safe but still accessible side)

From On:

1C: Off

1H: Ramp Up/Dn (changes direction at slight release of the button / always resets to ramp Up direction after 1.5s)

2C: Turbo - 1C back to previous lvl. (as we've entered it from an On status) 1H start ramping down from Ceil (as currently already is) 2C back up to MAX_LVL after any throttling/stepdown, 3C Tactical Strobe

2H: Momentary Turbo - Again, useful/practical to have it (arguably the only way Turbo should even work in the first place.. But I guess the comfort of not having to keep a button pressed it's why 2C is there to stay)

3C: Tactical Strobe - 1C back to previous lvl. (same as with Turbo behavior) 1H start ramping down from Ceil (consistency again.. And practical as well) 2C Turbo

3H: Momentary Tactical Strobe - Still unsure if this would be needed (and still would need to break the consistency of 3C/3H from Off at least, thus 3H should be re assigned to something else.. )

4C: Cycle through the Illumination modes: Smooth Ramp > Discrete/Stepped Ramp > Bike Flasher > repeat.. (because I see the Bike Flasher as an actual illumination mode, not just a fun flashy mode.. Some people actually use their lights mostly as removable/portable bike lights) Also I see no big need to lock the light from the On state, thus, 4C it is.. (Bike flasher will only have/keep the smooth ramping style though.. ?)

4H: Alternativelly.. 4H would Cycle through the Standard Illumination Group (Smooth/Discrete) and Bike Flasher: Standard </> Bike (then we could also have a smooth and Discrete ramping style in the Bike flasher.. thus 4C would just cycle as originally 3C did, through Smooth/Stepped ramping styles)

5H: Anduril 2 default here - Sunset mode&setup (makes sense to me having it here, instead of accessing it from Off and grouped along with the Blinkies and Utility/Calibration modes cycle)

7H: Anduril 2 default again - Configure current Ramp (Smooth: Floor/Ceil, Discrete: Steps only - I would say that the steps for the discrete ramp style should be simply calculated as part of the whole ramp size and Moon/Turbo should be the 2 additional virtual steps, Moon being the lowest lvl. [1] in the ramp and Turbo being the MAX_LVL [150], everything in between being calculated as the Moon and Turbo would be the first and last steps at the ramp ends - Ex. For 5 Steps Moon would be Step "0", 1, 2, 3, 4 and 5 would be the 5 user requested steps and Turbo would be the "6th" virtually added "step" / ramp end.. I would even argue that the smooth ramp wouldn't even need to have any setup at all and the lowest lvl. would always be Moon, thus you'd be always able to ramp all the way down and Ceil should always be the last step from the discrete ramp.. you'd only loose the ability to set a floor for the smooth ramp and the ability to set different Ceil from the discrete ramp.. A good trade and easier and again, more consistent imo.. )

10C, 10H - Just the same as default Anduril 2, that being Manual Memory and memory setup (for the sake of memory and consistency, as mentioned in the begining, I wouldn't even use manual memory)

From Lockout:

Same as Anduril 2 default again, I suppose I am done with custom changes by now, also nothing I see worth changing further thus far.

Only one change though and the explanation will follow bellow:

1C: Light up the indicator RGB LED/s for 3 to 5 seconds (this/these RGB indicator LED/s should also light up for the 3 to 5 seconds at any button press, any interaction)

There is no more AUX LED's configuration as imo the AUX LED's, as mentioned in the picture edits should replace the (usually single or bi color) Indicator LED and simply indicate Voltage [Green to Red - Green > Lime > Yellow > Orange > Red > Flashing Red], special cases as over charged cell or other such issues [Purple], (maybe even temp.. ? not sure what colors would go here.. ) and UI/misc/setup notifications [Blue] for a brief period of time, never being constantly on to drain the battery (especially in Off or Lock states)

I would only add one mode where the RGB Indicator LED/s might be constantly operational (not On) from either the Off or Locked states and that is as a locator beacon, where it would be briefly flashing every couple of seconds, just like the actual Beacon from the main light emitter modes. Maybe even make the it configurable, so one could change the color or maybe the flash type.. (ex. single flash, double flash, triple flash, breathing, flash like the AUX lights are currently flashing in default Anduril/2, etc.. )

I'm quite sure I have forgot to mention or include someother changes, ideas or explanations, but I'm sooo very tired at this point, I just need to go to sleeep.. Bye!


not sure if this is a later version of Anduril 2, or a special version, but it doesn’t match my 5 lights flashed with Anduril 2 . . .

I didn’t look very hard, but its 3C for battery check, and 3H gets you to special modes that include bike strobe.

It's just a custom version that I've imagined and I tried to mod myself for my personal use, but with limited success as coding is.. not my native language let's just say..

I really like the graphic!