Perhaps in the future it can do that. IIRC, Tom’s NarsilM already does it… but this was kind of forked from an earlier Narsil and simplified.
Thanks! It seems CRI is not completely straightforward, but the cooler-when-brighter trend appears to be fairly consistent at least.
Yes, 7135 chips do not attempt to convert extra voltage into current. They burn off the extra voltage instead. Same with a FET. A voltage-converting driver should be more efficient when the battery is full and emitter Vf is low, like a 219c with a full li-ion cell. The same voltage-converting driver will generally be less efficient when the two voltages are very close together though, and it’ll generally have lower maximum output. Even without accounting for size, there are tradeoffs.
In actual usage though, I don’t generally notice the difference in runtime since it happens in many short sessions spanning weeks or months. Like, I don’t often notice whether it gets 10 hours on medium (D4 XP-G2 @ 160 lm w/ 3500mAh cell) vs 11 hours (Zebralight SC600w Mk II L2 @ 150 lm w/ 3400mAh cell).
Not true, as testing showed.
This is how it would behave if it were a digital system, but it’s not. The behavior is analog. At 200 lm, the FET pulses are not full power. It rests at 350mA most of the time, but has very brief spikes which go higher. As earlier testing graphs showed, though, those spikes don’t reach maximum power until a significantly longer duty cycle.
So at 200 lm, or any medium-high level, the efficiency and tint do not match turbo, and they don’t match the 7135-only level. It’s in-between.
At higher duty cycles, like 1000 lm and above, the FET likely does reach full power during each pulse, but the overall efficiency, tint, and sag are still in-between because there are so many analog components involved. And because it’s still spending part of its time at 350mA, part of its time at 15A, and part of its time between the two.
IIRC, maukka scoped this on the D4 a few pages ago and found that theory to be true. The pulses have a slow enough rise and fall time to act as a very weak lowpass filter, so short pulses never reach full height. (edit: scoped output, but that works because the LED activation time is much faster than the FET driving it)
The voltage samples are taken at clk/128 speed, which IIRC gives somewhat of an analog average of 128 sequential time slices. PWM takes 512 time slices per cycle. To get 128 FET-on time slices in a row, it would have to be at a ramp level of 101/150 or higher (where FET PWM=66/255).
So… the hardware’s measurements have a lowpass built in. And then it has another lowpass in the measurement logic. And another lowpass in the LVP logic. It’s not prone to triggering LVP due to measurement noise. If Tom’s comments are correct, the firmware takes four measurements per second. If four values in a row look too low, and it didn’t step down within the past few seconds, it’ll step down. I think I may see a bug in the code for that, but it isn’t one which has any significant symptoms.
The short version is: LVP works normally, even when the momentary voltage levels change dramatically from one microsecond to the next. Development included real-world testing.
As long as the cell’s protection circuit doesn’t trip, yes. It works fine even on weak primary cells like a CR2032, unless you try to use turbo. In that situation, it will (correctly) trigger LVP until the output is down to a level the cell can manage, and then run happily until the voltage is actually low (low for li-ion).