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

Ahh, I see the problem. In setups.h, it says:

#ifndef VOLT_MON_R1R2 // if using R1/R2, change the LVP settings in the calibration header file
#define BATT_LOW 30 // Cell voltage to step light down = 3.0 V
#define BATT_CRIT 28 // Cell voltage to shut the light off = 2.8 V
#endif

So if you use R1/R2, you have to set the LVP voltage values in the calibration header file: tk-calibWight.h

I forgot about this. These might not be so simple to move to the setups.h file, but I should have documented it more clearly.

The settings currently are:

#define ADC_LOW ADC_32 // When do we start ramping down
#define ADC_CRIT ADC_30 // When do we shut the light off

Edit: For the mode set levels, I thought about that but for the end user, it sure would be confusing. Guess it all depends who the NarsilM reference manual is targeted for - a user or an integrator/modder.

ok got it with the LVP settings

to get the 3 channel modes to match the manual you can add the 5 modes,
I am sure some more code lines need to be changed to get it to 12 from 8 modes

of course if people want to adjust the modes for their lights to match they have to edit the values for the channels,
but at least the modecount should be the same on all version

Yea, that's what I'll do - add the mode sets for the triple configuration to get it back to 12.

I pm'ed you and The Miller about the mode percentage definitions. It's sort of a big deal for the Q8 -- dunno if it makes a big difference but the the % values are all off considerably. Hoping to just update the manual for the Q8 (separate manual from the NarsilM manual).

fot the triple build its probably better to write the mA for the 7135 modes and the current plus % of the FET

BTW, when the Q8 code is completely finalized, could you save a copy of what was sent to Thorfire? I’d like to keep a snapshot of the exact release code in the repository.

Sure, hopefully I'll know when that happens. ThorFire is just not responding for a while now...

Is it possible to get a normal non LDO TA board to do 1 channel NarsilM? I want to build a 2 cell L4 convoy with mtg2.

UTorch UT01 has that special engineer mode, where you can set your moon mode by selecting from a selection of three different level options in each of the regular modes, very neat to be able to set your moon all the way low or up two slight increases and then go on to the next regular mode and choose out of three levels there as well, and as it is for each mode in that light, real fun, this UI is just spectacular reading, sure would love to use it.

Possible, yes. DEL has a board specifically designed for the L4 though, 2 channels, though not sure of zener/LDO support. I assume you want a zener, not LDO for some reason.

Whack it on the table a few times and
see if it starts working …. oh, wait ….

Yes I wanted to use one I already have, if I can. 2S Zener mod fet only 1 channel 26mm TA. Can it be done? I have no problem air wiring a pin if need be.

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.