Anduril ... 2?

Plasticity, in the philosophical sense as ā€œa capacity to receive form and a capacity to produce formā€. In my view, that is what makes AndĆŗril both unique and challenging, relative to current flashlight firmwares. One of the derivates of plasticity is the issue of programmability as a double-edged sword. I will try to elucidate this when I have more time.

ToyKeeper,

Thanks so much for your continued development on Anduril and other flashlight firmwares. It's a lot of work and I'm sure the community has benefited greatly from all your work!

I'll leave the UI suggestions to more experienced members here, but generally I like the list of proposed changes already. The only items I can suggest are not quite UI based, but just from some of the work stemming from the Lume flashlight drivers... so I'm not sure if they are that relevant or not for this thread.

  • Native support for enable pin in a more granular fashion - the current Anduril implementation for some of the new Emisar lights has most of the functionality but leaves EN high when it doesn't need to be, for example during FET usage. For the Lume driver I had to add some custom conditionals in code to turn it off when not being used.
  • Support for external algorithms in separate cfg file, e.g. a temperature management system - I'd like to implement a fuzzy logic temperature compensation for example
  • Support for external sensors in separate cfg file e.g. external temperature sensor which is implemented for Lume driver, with custom temperature formula definition

That said, Anduril is already super full-featured; anything additional is just a bonus :)

Thank you

You can change the config clicks to 10 or so in the code quite easily, CRX does that on his lights so ramp config is more hidden

the main question is if this means going to another MCU with more memory in the end as 8kb are too small then

That would be perfect IMO!

Some time ago I suggested moving them to FSM to simplify building of other UIs.
I still think it would be a good idea.

It would be great to have a lightshow sequence just like the Tesla :partying_face:

Crazyā€¦

Put microphone in flashlight, make it flash to music.

Then Facebook will buy it out and use it to spy on you.

if it hasnā€™t been said fork it. anduril and simplified version with new name ( iā€™d suggest Mjƶlnir ).

Have been making some good progress todayā€¦

  • Removed muggle mode, and replaced it with a ā€œsimple UIā€ overlay which restricts which actions are available
  • Made simple UI enabled by default (and after each factory reset)ā€¦ unless the config file specifies otherwise (so it can be default or not, per build target)
  • Made it so the simple UI use a smooth or stepped ramp
  • Created configurable floor/ceiling/steps vars for simple UI, but didnā€™t add a menu to actually configure it yet
  • Refactored a lot of ramp-related code
  • Made battcheck exit after one readout, when in simple UI
  • Added 4C from lockout to on (mem)
  • Added 4H from lockout to on (floor)
  • Added 5C from strobes to momentary
  • Moved all aux LED / button LED config actions to 7C / 7H, to make it consistent
  • Moved all config modes / menus to 7C, to make them harder to reach by accident (also, more consistent with aux config)
  • Removed beacon config modeā€¦ basically, instead of ā€œclick N timesā€ to set the timing in a menu, itā€™s ā€œhold for N secondsā€ to set the timing whenever beacon mode is active
  • Reduced overall size by 190 bytes

There is still much more to do, but this has been a good start.

add the best function from the Narsil software, i.e. the ability to disable thermal control will save a lot of trouble for some models and their users

1 Thank

Iā€™m scared of the idea that itā€™ll change because to me itā€™s soooooooooooo perfect already

This sounds very promising.

In stepped mode would be nice to have ability to control space in between steps. Fo example 1ma- 5mA - 20mA 50mA - 350ma - 1A - 3A

my understanding is individually programmable modes (steps) are not something Anduril is going to offer.

see

UI with individually programmable modes will be the best and ultimate UI ever made . Everyone will be happy :laughing:

I think ā€˜simpleā€™ mode should be more simple. Really basic. Click on, click off, or hold to ramp. Thatā€™s it. After all, that is really the only thing a muggle will be interested in. We flashaholics are so used to fantabulous features, weā€™ve forgotten what it was like to be a muggle. Anything but on/off/change levels is more than they want to absorb.

Not that I loan out my flashlights enough to make it matter to me personally. But I gave away a Nitecore EA41 recently along with a copy of the instructions, and the couple was intimidated by the fact that ā€œitā€™s so complicated, it comes with instructions.ā€ :person_facepalming: That really made me stop and think. The EA41 UI is not complicated.

Personally, I think itā€™s getting to a point where we may soon need to add in a feature where we click/hold a certain number and the light projects (in the beam on a white wall) the instruction manual! :laughing:

The steps arenā€™t individually-programmable, but they do accelerate up along a curve like what you described. They are spaced evenly along the ramp, but the ramp itself is curved.

The curve shape is different for each light though, calibrated to make it feel similar despite large differences in the underlying hardware. Except, of course, on lights where the manufacturer didnā€™t bother doing that and just copied firmware from another light. Those end up with weird ramp shapes and sub-par thermal response.

There are lights which work this way. They typically either come with a separate configurator app (which isnā€™t possible for most Anduril-based lights) or they take a long time to programā€¦ like an hour tapping buttons with the manual. Most people never bother configuring those because itā€™s too complicated.

However, a separate UI could be created which allows each step to be whatever the user wants. It could also allow user-defined button mappings similar to the YLP Unicorn. I think Inferion had a good idea there, and really put a lot of functionality into a small space. But if something like that is made, it would be a different UI, not Anduril.

One of the things Iā€™m doing with Anduril2 is to break the code into smaller pieces so itā€™ll be easier to maintain and easier to reuse parts in other UIs. So that may be helpful when attempting to create something more configurable for power users.

Thatā€™s a big part of why I made this thread. Iā€™m hoping to answer the question of ā€œwhat should the simple UI be like?ā€

The old muggle mode was just click for on/off and hold to ramp. Or a longer button sequence to exit. Nothing else. But people often said it was too simple, and they wanted to be able to check the battery status or lock the light or configure the ramp so it wasnā€™t stuck at factory settings.

So for now, thatā€™s basically what the new simple UI is. The currently-enabled functions are:

  • Ramp:
    • Click for on/off
    • Hold to change brightness (or press-release-hold to ramp down)
    • Double click to go to/from the top level (no turbo)
  • Battery check (3C)
  • Lockout (4C)
  • Long button sequence to go to advanced mode
  • Even longer button sequence to check the firmware version
  • Factory reset (hold button a few seconds while inserting battery)

It also respects settings configured in advanced mode, like the smooth/stepped ramp style, manual memory vs automatic memory, and (eventually) floor/ceiling levels. But those require going to advanced mode and back, so they donā€™t really affect anything for muggle purposes.

Are these the right features to have in simple mode? I donā€™t know. Thatā€™s what Iā€™m hoping to find out.

[quote=ToyKeeper]

Iā€™d remove the lockout. It is not really necessary, and might be a pain for beginners to get out again.
However, the battery check is a very useful feature, and not problematic when activated unintentional.

If lockout is disabled by a power cycle I donā€™t see the harm of having it there.

I would love to use the simple mode most of the time, and on lights like the ubiquitous FW-series, physical lockout is not an option. Electronic lockout is needed.