NarsilM - configurable e-switch firmware for Multi channels, v1.3

Yes - TK is right. I really don't like the the ramps that fall short of full max... I just configured a NarsilM v1.3 tonight for the SP36, for Barry, and made sure it has the full ramping to max/turbo .

Possible the Lexel/TA/Astrolux connection configured NarslM that way -- just checked, I NEVER used that feature for any of my own stuff, but added it in for the GT.

Not to blame anyone, but that's probably how Astrolux wanted it -- could have even been me that configured it for them - I forget a lot of things...

I don’t think you forgot it. The product listing says “Firmware: Tom E’s open-source GPL NarsilM v1.3 adapted by Texas_Ace”.

However, I don’t see a link to the code there, and don’t see a FT03 build target in the repository or in any of the scattered copies of NarsilM derivatives I’ve gathered over time. I don’t see it in TA’s Avenger driver thread either. Maybe there’s a link which comes with the light itself?

Or maybe it’s another license issue to clean up. Sigh. Hopefully I just looked past the link somewhere.

Any idea where the FT03 source code is?

Ohhh - well, I did forget something. I got FT03 source code and related files from TA. They are actually the S43 version files. Actually I got a collection of flashlight specific NarsilM versions from TA. Well. looks like Mini GT, S43, FT03, and MT09R files actually. I'm sure more lights were programmed with copies of these.

Yeah, I tried asking/telling vendors a couple of times that they must post a link to the source, but don't think I got very far.

I can upload what I got to my google share driver for now - will do by this weekend, I hope.

Ok - actually just uploaded a bunch of drivers (all I got for now), draft manual, and some ZIP's contain PCB drawings as well - think it's ok with TA... I hope?

Here it is:

NarsilM Version on google drive share

I believe it's all v1.3 versions.

I have a little problem with FW Narsilm v1.3 on Lumintop GT Mini. Although my GT Mini has set down the brightness step when the temperature is reached and it works fine until I remove the battery, when I insert the battery, the light automatically returns to lower the light after 15s - 16s, it does not Remember my previous temperature setting. Would you please help me, I do not know if the problem I encountered was an error, a good feature because I installed it incorrectly. Look forward to the help from you!

I'd have to investigate this - sounds like a FW bug, not sure yet.

Yeah, I’ve noticed that on a few lights running Narsil as well. I just figured that was the way it was supposed to work, or at least never implemented to remember the thermal calibration after battery changes. It’s a bit of a pain, but given that the thermal controls are s**t anyway, I prefer to just turn it off entirely, or set to a fixed time like 2 or 3 minutes. A fixed time seems to work well, as it only steps down once, and doesn’t waaaaaay overshoot the temperature on the downside.

If you use the calibration method, even if you set the light to be sizzling hot before it steps down, once it starts the step-down it continues until you’re left with about 100 lumens and never goes back up.

I have a lot of Narsil lights and they all remember the settings after a battery change. The thermal stepdown is really good as well. You must have had bad luck.

I’ve heard that on a rare occasion there will be a driver that has trouble maintaining the settings. I think TK said it was a bug.

This sounds familiar - must have been reported/discussed before. I don't recall ever testing it out, so yes, probably still there. Oh boy... I'll have to take a look.

Ohh, it's driver specific? Interesting...

Are you asking me if its driver specific? As far as I know, no, it’s not. It seems like one in out of every 500 drivers will have this issue. I remember at least a couple people have this issue on every Narsil light.

Specific to a specific driver, or a driver design -- I was just saying in general, either/or.

For the particular flashlight this doesn't work in, wonder if any config setting changes are sticking after a battery disconnect. Only issue I see is maybe not disabling interrupts while writing the value to EEPROM. I'll have to check what others (TK) is using for EEPROM writes and reads, and if interrupts are always being disabled. To do the read I'm using the AVR library routine, but for writes, I use our own routine.

I have two Astrolux S43’s that have the issue. I doubt they are both suffering from a random bug, so it must be on all S43’s. I haven’t checked the FT03… I think it runs Narsil if I remember. BLF Q8 runs an older version of Narsil, but it has a timed step-down, so probably doesn’t have the issue. I could check my FT02 as well, I don’t remember if it runs Narsil or not.

Anyway, it’s not a big deal. I much prefer the timed step-downs in Narsil, since they don’t overshoot.

Hhmm, I have an S43 - could check there. On those S43's, do other configuration setting changes stick? Does the timed step-down setting stick?

It may be running an old version of the code, because there was a bug where it could sometimes forget config settings. If I understand correctly, that was fixed in Tom E’s upstream NarsilM, but several lights used older versions or derivatives of older versions, where the bug still exists.

I’m not sure which versions are used on which lights.

Yes, all the other settings survive battery changes, including the timed step-downs.

According to my shared NarsilM builds/releases here on a google drive share, S43 and the original FT03 is using v1.1. Dunno - the new blue FT03 XHP50.2 I have right now in my hand blinks out v1.3.

I'm pretty sure the GT Mini went out with a "good" v1.3 that originated from me.

This doesnt sound like the bug that doesnt remember settings, not if it’s just the one thermal setting that it can’t remember. The memory bug I’ve heard people talk about basically didn’t remember any changes.

Did it actually remember the temperature setting and only loose it after disconnecting power or did it not remember at all?

(The S43 is a bit unique because it can heat up so darn fast. The key is make sure it’s not already warm on the inside when you go to set the thermal limit. I make sure it’s not been used for an hour at least, then I use a fully charged cell and run the thermal test. This works everytime on my Narsil lights. Some people use the light previously and it gets warm inside and they don’t think about it, then they set the temp limit and it ends up being off.)

I can’t say for sure what the issue is, but it sounds exactly like the old memory bug. It would forget things at random… even just one or two things. The reason it was initially found was because Hank of Emisar noticed that the D4 prototypes would sometimes forget their thermal configuration. Then later it was discovered that a different old Narsil light would sometimes forget things too.

So I rewrote that part of the code for Emisar, and sent Tom info about the issue including a patch. He fixed NarsilM, and since then, the issue hasn’t come up much.

It was really easy to miss since it usually worked, it was only noticeable after a battery change, and it generally only forgot a little bit at a time when it failed. If I recall correctly, lots of people used it happily for more than a year before anyone noticed.

For the S43’s…

Yes, it remembers the temperature setting as long as I don’t disconnect the battery. If I use the micro-USB to recharge, then no problem. If I take the battery out to recharge it, then it reverts back to the default temperature setting (which is too low, IMO).

All other settings are remembered across battery changes, at least the ones I’ve reprogrammed (maybe half-a-dozen of them).

I thought maybe it was a safety thing or something. But since I can turn off temperature step-down entirely, and it is remembered, I presume not.

Oh boy, I forget more than I can remember (I was born in '57...) - but I do recall something of this, just not exactly what the change/bug was? TK - do you recall? Thought it had to do with interrupts maybe?