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

I thought about exploiting the lock timing to be infinite or removed
If the firmware does not lock the mode in after 1.2s it would all the time ready to change modes

What would an e-switch button click do in the ramping mode?

ramping does not use the 1.2s mode lock timer its only used in modes set
I cant program so I do not know what ecxactly to change to get this timer set to infinite or disable it

so in ramping side switch has normal operation including putting the light in standby

I mean, ideally. How would you want it to work, if you could do it however you like?

in mode sets
Tail switch on/off
Side switch short press next mode
side switch long last mode

So, no ramping UI at all?

Mostly, I was wondering how you’d want a ramping interface to work when the tail clicky is the only way to turn the light on/off. Like, what would happen when the user clicked the e-switch. But “no ramping” is also an answer to that question.

No ramping untouched, just the lock timer in Modes removed

For a Forum member I am trying to get NarsilM first time individually set up on Modes
never used modes before myself

But I am stuck due to a bug

He wanted that the light has Mode memory when the light was powered down with tail switch

There is a switch in Setup file named
#define OFFTIME_ENABLE 1
// 1: Do OFF time mode memory for Mode Sets on power switching (tailswitch), 0: disabled

Problem it its bugged when I turn on the light it has Next Mode Memory, so it gets to next mode after a power disconnection

If its meant to do next mode memory good feature if not bug, both would be great

maybe the code is OK but MCU does not like low voltages before shut down and notices a click before its off

I’m only guessing, but it sounds like maybe it’s doing what it’s supposed to do. Maybe the driver needs a way to bleed off power faster while power is disconnected, so it can measure shorter durations of offtime.

Or if the tail button is supposed to act as a momentary switch, maybe it’d be better to leave offtime disabled?

To do a UI where the tail is momentary and the side switch changes modes, it probably wouldn’t take much time. Click to go one level brighter, hold to go dimmer?

yes I removed some code lines that disable the lock already, but the Mode memory I do not understand at all

Since it’s a thing people might want, and since I think Lexel may have been requesting it, I took a moment to make a Werner-style momentary UI, side e-switch plus tail clicky-switch.

https://code.launchpad.net/~toykeeper/flashlight-firmware/fsm

The short version is:

While completely off (power disconnected):

  • Click tail to turn on at memorized level.
  • Hold e-switch and click tail to enter utility mode.

While on (regular “on” mode):

  • Click tail switch to turn off.
  • Click side switch to go brighter.
  • Hold side switch to go dimmer.

In utility mode:

  • Click side switch to go to regular “on” mode.
  • Hold side switch to go turn on at lowest level.
  • Double click side switch to turn on at highest level.
  • 3 clicks: Battcheck.
  • 4 clicks: Ramp config.

Battcheck mode: Blinks out battery voltage.

  • Click to go back to utility mode.
  • 2 clicks for tempcheck mode.

Tempcheck mode: Blinks out current temperature in C.

  • Click to go back to utility mode.
  • 2 clicks for battcheck mode.
  • 4 clicks for thermal config mode.

Thermal config:

  • During first “buzz”, click N times to set floor level to N out of 150 total levels.
  • During second “buzz”, click N times to set ceiling level to 151 minus N.
  • During third “buzz”, click N times to set number of total brightness steps.
  • Each “buzz” can be skipped to leave the value as-is.

Ramp config:

  • During first “buzz”, click N times to calibrate current temperature to N degrees C.
  • During second “buzz”, click N times to set thermal ceiling to 30 C + N.
  • Each “buzz” can be skipped to leave the value as-is.

Includes LVP and smooth thermal regulation, copied directly from Anduril.

Anyone know what output pins are being used in the "NarsilM2C2S.hex" file? Is it Pin 5 for the 7135(s) and Pin 6 for the FET?

[quote=ImA4Wheelr]

That is correct according to channels.h

Thanks WTF. Saw that too, but the 7135 channel isn't working. I'm think I have eliminated potential hardware issues (faulty 7135, connections, etc). So I wondering if the hex file may be using different channels than what the documentation indicates. I'll reexamine hardware again tonight. I may have to build my own hex file if I still can't find a hardware problem.

I just had that happen to me today when stacking three of them, some uncooked solder paste got under the bottom 7135 and shorted it out, next I got a tiny solder bridge to a nearby capacitor. It’s always the simple stuff that causes the most grief.

I wonder if the Attiny has enough power to drive a small led and resistor, it would make a simple test lead to check pwm output. Remove the 7135, turn the light on and probe the Attiny.

The small diode and 220 ohm resistor works fine. There is enough power available to drive four 7135’s and the diode.

I think I’ll get a cheap programming clip and wire up a bunch of led’s on a breadboard.

^

Good stuff. Didn't get a chance to work on the driver tonight, but I'll look out for those types of things when I do. Thank you WTF.

I believe when I researched this before, one pin could output 40ma. I was looking to make a moonlight mode without using a 7135, just the output on that pin for moon mode.

Lamp list round up, to what I know:

Planed lights:
———————————————————

Production lights:
———————————————————

- Haikelite MT09R runs a NarsilM v1.3 beta adjusted bei Texas Ace

- Lumintop GT mini
NarsilM v1.3 beta adjusted bei Texas Ace

  • Lumintop GT70
    NarsilM v1.3 beta adjusted bei Texas Ace

- Fireflies ROT66
NarsilM v1.2 beta adjusted by Lexcel, Fireflies

- BLF GT
NarsilM v1.2

- BLF Q8
NarsilM v1.0

Texas Ace extended the time to get into settings from 8 seconds to 16 seconds.
I think it’s better for Narsil beginner.
I explained it here NarsilM - configurable e-switch firmware for Multi channels, v1.3 - #418 by joechina

This is like a todo list of people/projects to follow up with to make sure the code remains open.