Turbo timer is enabled by default in STAR_offtime. Check lines 78, 79 & 80.
BTW: Looks like STAR_offtime (revision shown by your link) doesn't have the ability to re-enable turbo after step down by a half click. Is it really so?
This is part of why I made a modified version of STAR_off_time called starry_offtime. It allows you to set the mode array directly like you described, for both channels (if you have a FET+1), and set the PWM speed for each mode. Also has some extras which can be disabled, such as blinky modes and “medium” presses to go backward instead of just short/long.
It’s sort of halfway between STAR_off_time.c and blf-a6.c. It’s not heavily tested though, so LVP might behave a little weird. It also doesn’t have a way to completely turn off support for the second power channel, so the best you can do is set it to all zeroes.
Thanks, that code edit did give me the use of moonlight without the start locked.
I have been playing with the turbo timer a bit. It looks like it is in fact working. You are correct about not being able to go back to the turbo setting by a half click. When the timer kicks in the light ramps down to "turbo low" so since the light is technically still in turbo mode the next half click takes you to low.
ToyKeeper,
I appreciate that. It is much easier for us noobs to edit that single line with all the modes in it. I will keep the starry in mind.
Here is today's question if you guys can bear with me a bit longer.
Is there something else in the code that effects the level of light output besides the values of each mode?
The reason I ask is because I can set value of moonlight all the way down to 1, and it does give a reasonable low mode with one cell. On a zener modded board with 2 cells its a bit bright still though. I have other firmware I can flash that puts moonlight lower than this.
On a FET board, it’s difficult to get a true moon mode. In general, a value of PWM=1 will produce anything from 1 to 15 lumens depending on the cell and emitter(s) used. You can go lower by using fast PWM=0, but it’s incredibly voltage-sensitive and I’ve seen it put out as much as 4 lumens on a full cell (and down to 0.001 on a low cell, same light). You’ll get somewhat more stable output with phase-correct PWM, but the lowest level on that is 1 and it’ll probably be too bright for moon.
I tried using fast PWM=0 plus dynamic voltage-determined PFM (pulse frequency modulation) to get a better FET-only moon mode, but even that merely reduced the problem rather than really fixing it. You’re welcome to try it if you like though; the code is in ToyKeeper/cypreus/cypreus.c .
This is one of the reasons people use FET+1 drivers instead. The +1 gives you a single 7135 chip which can drive all the modes under about 140 lumens. It should produce a nice moon mode, plus stable current-regulated “low” and “medium” modes. It can also help reduce output sag on modes above that, and make the PWM even less visible.
I haven’t looked at that code for ages so I can’t tell you exactly which lines, but commenting out ADC_LOW is not the only thing you have to do.
Later on in the code, the voltage reading routine compares the read voltage to ADC_LOW. As you’ve commented out the ADC_LOW definition the compiler doesn’t know what to compare it to. Setting ADC_LOW to 0 or at least something lower than ADC_CRIT might not be the prettiest method, but it’s the easiest and should work.
I still had Star 1.1 on my hard disk so I checked. If the low voltage check passes, the critical volt check will not be executed… So you can stop your test, it will not work. Gimme a sec and I’ll see if there is a simple way of doing it…