ANDURIL USER MANUAL & LIST OF LIGHTS

This is awesome! Thank you.

Ahh I understand now, but the diagram is still confusing. The blue dotted lines from tempcheck and beacon need to have a 4C. Everywhere else in the diagram there is a blue dotted line, the number of clicks is indicated, and they are not all the same. Sorry, it’s kind of hard to explain this stuff.

Not sure where to ask this, but.. any chance Anduril would support drivers with only 7135's ? Let's say 3 or 4 of them for an XP-E / XP-G or up to 8 or so for your usual XP-L / XM-L or the likes ?

Regards.

Yes, just calculate the ramps. Needs a microcontroller supported by Anduril, of course (at least ATtiny85).

Yes, it works fine on 7135-only drivers. It just needs the hwdef-.h and cfg-.h files configured accordingly.

It doesn’t really care much what type of chips are on each power channel. It just needs to know what kind of PWM signal to send them for a smooth and visually-linear ramp.

Recently I wanted to show FW1A to my mom and the first thing she did was clicking a bunch of times (because when she clicked once it turned on the lowest lewel, not visible, so she clicked 4 extra times “to turn it on for sure”), entered config mode and changed ramping levels… It’s my first Anduril light, so I spended an hour trying to figure out what happened.

And you know, 5 clicks is not that far away from 6 clicks - disabling Muggle mode. And children are clicking a bunch of times with no reason as well.

What do you think, would it be a good idea to change disabling Muggle mode from 6C to 6H?

That’s actually on the todo list, along with some other button mapping changes. I’ve just been trying to reach some sort of consensus about what to change before doing it, since there has also been feedback saying not to remap the buttons. Breaking backward UI compatibility can be an awkward and unpleasant process for everyone involved, even if the changes are probably an upgrade.

Some of the ideas…

  • Change 6C to 6H for muggle mode. Either both enter+exit, or for exit-only. Helps keep people from getting out by accident, and may also help people avoid getting in by accident.
  • Remove muggle mode entirely? It’s kind of bad and wastes a lot of space which could be used for other things. Or at least refactor it to make it more robust.
  • Add 4H from lockout for “exit lockout and immediately start ramping up from the floor”.
  • Make 4C from lockout turn the light on immediately? (meh)
  • Move config modes from 4C to 5C, and move the manual memory stuff from 5C/5H to 4C/4H. (makes config modes a bit harder to get into by accident, and makes memory control easier to access)
  • Remove beacon config mode and replace it with “hold to set timing”.

Plus some other things which could be nice if there’s room…

  • Sunset mode timer and brightness configuration
  • Auto-lock after being off for N minutes?

… but mostly I need to work on underlying stuff in FSM:

  • Completely rewrite how interrupts work
  • Make a thermal simulator
  • Rewrite the thermal code entirely
  • Replace the PWM-ramp-based brightness controls with a hybrid PWM-DSM method, if possible
  • Make a better method for doing smooth brightness adjustments
  • Refactor ramping logic into a single place for better consistency and reduced size
  • Fix the micro-timing of state-change events by putting them into the event queue instead of handling them immediately
  • Clean up how the hardware abstraction layer works
  • Clean up a bunch of messy and disorganized code
  • Add support for more MCUs
  • Add support for 4-channel tint mixing (currently only does 2-channel)
  • Add support for a second e-switch
  • Add support for clicky switches (mem-decay offtime, OTC offtime, OTSM offtime, fast-clicks tracking, etc)
  • Rewrite the button LED / aux LED / RGB LED code entirely to clean it up
  • Make a build system so all UIs are built and tested regularly
  • Update other UIs to support multiple build targets

And, of course, most of the low-level stuff there isn’t what I’d call fun. So it can be difficult to get a lot of it done.

Yay! 2 e-switches + 1 Clicky.. Nice!

Big YES for all!

Maybe making it so there is only smooth ramping and strobes, all config options are locked and max brightness is the last memorized brightness used before entering this mode.

Meh

Maybe it would be a good idea to just branch the fw in a couple of versions, just for the sake of consistency in the main branch and users that don't like change too much ?

Something like..

Anduril (Main)

Anduril Alt (with the least.. "invasive" changes ?)

Anduril Duo (Support for 2 e-switches)

Anduril Duo C (Support for 2 e-switches and clicky)

Just my 2C..

Cheers!

Please don’t do smooth ramping only. The stepped helps me have a definitive level that I can always get to easily.

This really has me thinking. Most people have only ever used flashlights that click to turn on and maybe go through a couple brightness levels with additional clicks and then off. So it’s not surprising that if you handed someone an Anduril flashlight, they would start clicking away. They key here is communication. “Click once to turn it on, then click and hold to ramp up the brightness” is all it takes. Putting the light in Muggle mode before handing it over and giving the same verbal instructions is even better. Muggle mode is a selling point for me, please don’t remove it. I can see making it 6H for both enter and exit, but please don’t make it a different click sequence for exit than it is for enter. I will never give a child a flashlight capable of starting fires even with Muggle mode.
Add 4H from lockout for “exit lockout and immediately start ramping up from the floor”. Love this idea!!

It’s why my idea is to have the last memoried brightness as max brightness in Muggle mode. When giving it a child, you can set brightness to 50% and then 6H for Muggle mode, but when borrowing it to someone on camping, you can set 100% and then go to Muggle mode.

There are already two official forks of Anduril — RampingIOS V3 and Fireflies UI. They don’t get updated much, since it’s kind of a pain merging changes back and forth between related forks, and because I often don’t really think about the other forks when making changes. Also, RampingIOS V3 has been abandoned by its sole stakeholder, so I haven’t bothered keeping it updated.

I have no intention of removing the stepped ramp. I use it too. I think the request was only about muggle mode though.

I’m undecided on that one. The idea is, if the enter and exit sequences are different, it’s easier to help people who managed to get stuck in muggle mode. They can be told “just click 6 times, but hold the last click for a second or two”, and it will put them into a predictable state. But if the enter and exit sequences are the same, it can be much more confusing for both the person who is being helped and the person trying to help them.

OTOH, mapping both to 6H means it’s unlikely people will get there by accident… so maybe there wouldn’t be as much need to help people who don’t know which mode they’re in.

I don’t really want to add features to muggle mode… if anything, I’d like to reduce it back to its original form — on/off only at ~100 lumens.

If I’m still working on this in 20 years, the changes will probably require a lot of expertise to even understand. They’ll probably look somewhat like this…

I mean…if people want it, but in my opinion this way it’d be less used - only 100lm is quite low. When I think about use of Muggle mode, it’s like:
camping
“Hey, could you borrow me your flashlight for a while?” “* set to Muggle mode * Sure, take it”
With 100lm on off only there’d be not much use of that flashlight. I’m wondering what people think about this “last memorized brightness for max level”, it’s what I found very useful at least, covers “children use” and “friend use”.

I don't think it's a good idea: IMHO Muggle mode should - by definition - be a "safe" mode under all circumstances, i.e. the light should neither get too bright nor too hot to injure or even scare a complete Muggle of a user.

Personally I would vote for something along the lines ToyKeeper suggested .. simplified click for on/off and hold for a (circular, ZebraLight-style L-M-H) 3-mode stepped ramp with 3-30-300ish lumens and no other features because that's about the maximum complexity I would trust a Muggle to handle.

Maybe it's a good thing tho.. ? Like in.. "trial by fire" ? Basically leaving the main branch mostly as is and if say.. "Anduril Alt" or another alternate fork isn't doing too well, just abandon ship.

So maybe something like: the last memorized level is the max, but no more than 800lm? Or other value, 600? So when giving it a child, set it to 100lm, because 300 could be sometimes too high, but when giving it a friend just set it to 600 and tell: It is bright. Be careful.
As long as you are setting brightness level before giving it, it is safe.

If my idea is in fact bad, please TK make it something more than just on off, 3 modes as mentioned are ok. But 100lm max is just…meh.

And after all very intensive thinking I decided it would be better to have 6H both for enter and exit from Muggle mode, as mentioned. :slight_smile:

When I think about use of Muggle mode, it’s like:
camping
“Hey, could you borrow me your flashlight for a while?” “* set to Muggle mode * Sure, take it - click to turn it on and click and hold to change the brightness”

Having said that, Muggle mode would be better IMHO if it used single clicks to cycle through a few brightness levels, just like most ordinary lights work. Click for on, click for low, click for medium, click for high, click for off. No push and hold to do anything. If it worked like that you could put it in Muggle mode and hand it to anyone and they would understand it without any instruction.

The reason why it uses a simplified smooth ramp is because a vote was held to determine muggle mode’s UI style. Here are the results:

1

2

3

4

5

  1. Smooth ramp

-

70

76

78

85

  1. 3-mode Baton

40

-

68

62

61

  1. 1-mode

36

35

-

63

51

  1. None

37

43

41

-

56

  1. 3-mode clicky

25

37

47

51

-

So basically smooth ramp was the most popular, then stepped ramp, then on/off at a single level. Then the option of removing muggle mode entirely. Coming up last was the style where people click to change the level, including “off” as one of the levels in rotation.

My personal preference is:

  1. None
  2. 1-mode
  3. Smooth ramp
  4. Stepped ramp (3-mode Baton)
  5. 3-mode clicky

But that’s mostly because I’d rather use that space for other things. :slight_smile:

Quick idea.. Not sure if it's the right place, but here goes..

So one of the latest additions/changes in Anduril were the 5C & 5H to choose between Manual/Auto On Memory and also, the 2C from Off changed from a Turbo shortcut to a Ceil shortcut

That just made me think.. why not combining these into something as follows:

- 1C - Revert to Auto Memory (basically whatever brightness state you've left your light Off, it should be memorized for the next Poer On by 1C - pretty much the old behavior)

- Remove either 5C or 5H and leave only one of them as the Manual / Default On Memory - Say.. Ramp to whatever you want > and 5C would memorize that level..

- Remap 2C from Off (Ceil Shortcut) to the memorized Manual / Default On Memory - also this way you are avoiding a duplicate 1C/2C (Turbo wasn't a Manual memorized level anyways)

So.. 1C - Standard Auto Memory / 2C - Manual / Default Memory - This way, you still have the Manual On Memory and a configurable pre-set level of brightness (Up to Ceil if needed)

The way Turbo was reached in the latest revisions was still 2C > 2C anyways, regardless if 2C was straight to Ceil or if by the above, it would be configurable to something else.

Thoughts.. ?