I already wrote about this in the firmware repository thread, but I thought it's maybe worth its own discussion, maybe not.
TK asked if anyone really cares about thermal regulation or if it's just a check box. Got me thinking about it, also because now my light is sealed up well and has fully charged batteries and it gets hot.
BLFA6 had a timed turbo stepdown. This allows you to get boost of light, beyond what is thermally sustainable, but prevents damage to surroundings in case of accidentally leaving it on. It just came down a fixed lower mode and remained there. You could tap it back up with a tap, then you presumably know what you're doing.
Bistro moved to a kind of thermal regulation. The light gets to hot, the level goes down, still too hot, goes down more, cool enough, goes up. Tom E was recently saying something about Narsil not having a thermal limit I think, because this is hard. There are delays and time scales and gains to get right and if you get them wrong you get oscillation and overshoot. This is absolutely right and is typical of any feedback problem. They're hard.
To me though, these are separate things and one doesn't replace the other. A turbo boost gives you a burst of light because you need to see something now a for a few seconds. Then there's no reason for it to dance around trying to find the highest mode it can stay on (which will be much lower anyway) after that. It can just come back to a cool running level, stop annoying me, and put me back in control. This cools the light and makes it ready for the next time I need turbo.
I wonder how other people use turbo. Do you want the light go to turbo and then after that come back down to the highest sustainable level or are those two different needs? Notice that if it does come back to the highest sustainable level, you won't be able to hit turbo again without instantly overheating, so turbo becomes a one-shot thing.
Maybe things went overboard when temp sensors came into the picture. It is possible to just do a BLFA6-like turbo timeout, but trigger it on temperature instead of time. you still just jump down to a fixed mode, and allow to tap back to turbo. The easiest thing to program (and fit) is then just to stay on turbo for the time it takes to verify the temperature (say 4 seconds) and then pop back down if it's still too high. You can have some "overshoot" on the first shot, but that can just factor into your personal calibration.
So I programmed that and I love it. It doesn't just apply to turbo mode either, any mode. The regulation thing is going crazy on this light, but this works great and is simple.
Thermal regulation is a separate neat thing to me, but I'd call it a special mode. Without changing conditions (wind etc) there's a mode you can run at constantly without going over your heat threshold. A good regulation system should zoom in on it and stay there. This is a long term mode, not a short term light boost. THIS however is very difficult. The simplest feedback gain loops must be tuned to a particular light both for gain and delay, probably both for heating and cooling and it's hard. I have some ideas, and Dr Jones has something, but it's not simple. But do we need to be complicating one issue with the other? Especially if it means including neither?