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

Boy, just don't have time right now, but it certainly can be done in firmware, fairly simply I believe. TA puts the FET on pin #3, normally it's on pin #6 for single channel or two channel drivers. So it's doable - could re-assign the pins, build NarsilM for one channel, and good to go. It would have the ramping table and mode sets. Not sure how they all would work out for you, but they can be tweaked as well.

Might need some code mods, not sure. The single channel config for NarsilM is set for pin #6, FET or 7135's.

NarsilM is updated in my repository.

Also, I tested it a bit… though I made no attempt to test thermal response or the indicator LED (I have none).

I don’t think I found any important bugs, but here are some possible smaller bugs:

  • Ramping UI:
    • After version readout, another double-click appears to go to turbo? (then another double-click to strobe) Sometimes instead of turbo, it’ll blink once at maximum then turn off, and a double-click still goes to strobe afterward.
    • Moon is separate from the ramp. (might be intentional?)
      • With moon set higher than default (PWM=7), I see odd behavior during long-press-from-off: It comes on initially at PWM=7, but if I keep holding it, the light drops to a lower level and ramps up.
      • With moon set higher than default, I can still ramp down to PWM=3, even if it’s lower than what moon is set to.
      • With moon set to PWM=1 or PWM=2, moon can’t be memorized because it’s below the bottom of the ramp.
  • Mode Set UI:
    • Blinkies can get kind of “stuck”. To make this happen:
      • Short-click then click-and-hold from off to enter battcheck mode.
      • Turn the light off.
      • Double-click. It should go to level 2, but instead it starts blinking out the temperature.
    • Undocumented: After a steady mode locks in, a quick click then click-and-hold goes to turbo. (off then reverse, really)

The main things I’d change are some of the mappings from UI actions to state transitions. Those aren’t important, but here are some ideas:

  • Ramping UI:
    • Instead of double-click from turbo to strobe, do double-click from turbo back to the previous ramp level. This way it’s double-click to enter and double-click to exit.
    • Instead of triple-click to battcheck, do triple-click to strobe and quad-click to battcheck. This makes strobe immediately accessible from off, and puts strobe and battcheck on the same actions as Zebralight.
    • Instead of quad-click to lock-out, do five (or maybe more?) clicks to lockout.
    • In blinky modes, hold the button to navigate forward/backward through modes. Reverses the same way as ramping.
  • Mode Set UI: No changes.
  • Other: Possibly add a Baton-like UI which uses the Mode Set UI settings? Basically the same as Ramping UI, but with discrete levels instead of a smooth ramp.

I hope at least some of this is useful.

Darn, quoting your post mangles it up badly.... No time to fully respond right now but you got some very good points there, excellent feedback!!

Looks like might be 2 bugs and/or some unintended behavior. Other things are behavior as intended/designed.

Agree - the moon mode custom setting has some quirks to it, and how it's related to ramping. I was always well aware of it, just didn't get into working/thinking out something better.

But, really really like some of your suggestions - dang, might have to work on those real quick, but having no time right now.... Really like your suggestions on the 2X+ click changes... Not familiar with the Zebra UI - would be an advantage to have some consistency there though with it.

In this case, The inducator led works still?

and

LVP is set by R1/R2?

If the driver is wired to put the indicator LEDs behind the Zener/LDO, or the indicator LEDs otherwise have the right voltage going to them, I’d expect it to still work on a 2S/3S/4S build. They might need somewhat different resistor values though, in either case, to compensate for higher voltage.

About a Cheat Sheet for Narsil M,
lock here New BLF GT Narsil M Cheat Sheet for v1.2 NEW VERSION

Maybe somebody find it usefull.

I got a weird problem with NarsilM when the FET is limited to 90%

the ramping table is edited to be 230 max and also the mode sets

is there another aproach like reducing the ramp size or so?

but when the stepdown occurs it goes to 100% in first step down

same with ramping like 0.1, 1, 5%,10, 20…., 80, 90, 100, 90

I found a bug in Triple channel buil

the Indicator LED is not working, djozz reported it and I can confirm it

must be maybe the pinout settings are not right or some line of code wrong

channel.h forFET+1 build

channel.h for triple build

I'm pretty sure I got triple channel NarsilM 1.0 working fine with a Ind. LED. I have it installed now, from June 1st or so, in an OTR M3. It's got the delayed dbl-click, all the features of NarsilM 1.0 and uses TA's triple with 3 7135's as the bank:

Link to NarsilM v1.0 folder with the special Setups-OTR M3.h header file: https://drive.google.com/open?id=0B1IxYZuk4DjcQWhOOGhTMExCNjg

You cant use external R1/R2 if you have the Indicator LED enabled. Works fine for me.

Hhmm - is the stepdown in mode sets? Is this still a problem? I'm gonna be working on this feature for the BLF GT, at least add the option into NarsilM. Plan on setting a max of like 80-90% for ramping, but still allow the dbl-click turbo to go to 100%.

It looks like you are talking bout mode sets, not ramping. Sounds like you didn't configure it correctly, but not sure. Think I already had a factory set of modes that didn't go to max output and I recall it worked fine.

Even with the setting file you gave me I got the same problem the indicator LED does not light up when it should

I get some light up of it,
but not as it should be,
the blinks which indicate which bank is active, voltage read out and standby does not work

It’s rather impressive seeing all that in such a small host.

If you were so inclined, you could probably sell those for twice as much as the Olight S1 (S10?) it’s cloned from. Not sure that would be enough to make it worth your time, but it sure would be nice if there was a BLF light with the form factor of a S10/S1/S-Mini.

It was a challenge for sure. Sanding down the driver PCB was the most time consuming part. It is amazing though - same basic driver/design in a 37K lumens 16X XHP50 light, and the tiny OTR M3. I carry the M3 in the little pocket inside the regular jeans right hand pocket - no scratches, feels fine, no accidental ON's, don't have to lock it out.

All the pics here on the M3: http://s1054.photobucket.com/user/TomE2012/library/Custom%20Mods/OnTheRoad%20M3

All the pics here on the 16X S88 clone, 37K lumens monster: http://s1054.photobucket.com/user/TomE2012/library/Custom%20Mods/16X%20S88%20clone

Hmm? I haven’t noticed any problems with the indicator led either. But maybe I don’t know how it is actually supposed to work and therefor I’m thinking its working. What can I test to see if mine acts as yours or if it is really working?

I have high hopes for this one. I have it on the way. It’s hard to believe it has all the features for the price! And I’m thinking the space inside the head is going to limit the use of custom driver? Just think, add USB charger to that board Tom made :person_facepalming:

My M3 definitely works, been checking it. If all those things don't work, what does work? Does anything work with the Ind. LED?

I'm thinking maybe you got the default config settings set to disable the Ind. LED function, maybe?

These settings should be as follows:

define DEF_LOCATOR_LED 1 // Locator LED feature (ON when light is OFF) - 1=enabled, 0=disabled
#define DEF_BVLD_LED_ONLY 0 // BVLD (Battery Voltage Level Display) - 1=BVLD shown only w/onboard LED, 0=both primary and onboard LED's
#define DEF_ONBOARD_LED 1 // On Board LED support - 1=enabled, 0=disabled

I have not disabled the indicator LED in setup, I even activated it in the UI settings again

I have downloaded the narsil files from your google drive again

put in the OTR M3 setup

build a hex file and flashed it

the LED blinks when I push the button sometimes,
but it does not blink out voltage ot is active when the light is off

Ok. Mine works with battery voltage so pretty sure mine is working too. I’m using narsilM though…

The first I tryed the indicator did not work but then I read through setup, .c and all the included files to make sure the settings were right. However I do not recall what setting I changed in fact I don’t think I even knew what I did different. Sorry this doesn’t help you much though…

Can you upload your NarsilM folder somewhere?

Are you using r1&2? What pin is the indicator connected too?