E-switch UI Development / FSM

I can't edit Lexel's quoted copy of my post, but I updated my own.

Got my pics mixed - that was an Haikelite HK04 driver... Think I can break Lexel's quoted copy by removing those pics - should be in that MF01 mini folder anyway.

:FACEPALM: :FACEPALM: (double stupid of me...)

More importantly, Lexel - any ideas on why or if there's potential or possible heat issues with this driver?

The new revisions are not in the firmware trunk?

So, it’s not in the master branch yet

I can not find it

FSM branch:

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

Sorry, I’m a couple months late to the party. I’m feeling the itch up get back into firmware after a little hiatus. Hopefully dust off my T816 dev board and make some progress with Anduril.

Compiling for the 1 series on Linux is pretty easy, you just need to download and include the Atmel Device Family Pack (DFP). Sample build script (also linked in my 1 series thread)

http://www.ghart.com/blf/firmware/bin/

Where I need to start off is to make sure I can build for the 85 or 1634 so that I know my Anduril files are downloaded properly and I’m familiar with the process. I’m sure I saw a primer somewhere, but I can’t seem to find it… :frowning:

So I’m looking at making a build of Anduril for the GT90 (if nobody has done that yet) - I’ve traced out the driver as such:

(note that there’s some components I’m not 100% sure of - I need to finalise those)

The pinout looks to be the same as a D4/D1/D1S, sans the 7135. What I’m thinking is drop PWM1_LEVELS to 0? Would love to be pointed in the right direction :slight_smile:

(note - K G D are the e-switch)

Might have a couple of minor things wrong there. The 4R7 resistor should be between batt+ and the reverse polarity protection diode - this one is important for the 25/45/85's.

Pin #6 for the FET gate looks all good and typical in our BLF FET drivers. I'd replace the SIR800DP because it's probably a Chinese fake, with a SIRA20DP FET - better.

I think pin #3 drives the resistor bank for low amps, including moonlight.

Pin #7 can be ignored - think that's TK's pin to read a signal back from the LED for possible light programming.

I've done a very similar Anduril config, but haven't done one for the TA resistor bank - don't know what it max's out to. TA should be able to help.

Thanks Tom - I’ll look into it more. I’ll take the driver out tonight and take some good high-res photos, but I used ChibiM’s photo (from his “modding” post) and then used a multimeter to test connectivity.

Good to now about the FET though.

Hello,

Not sure I should ask here or in the other thread, I’m trying to get an understanding of this stuff to hopefully mod a MF01 with tint ramping with lexel dual buck driver, looking at the lantern config file I see that it isn’t thermally regulated, and there’s this comment part about USE_SET_LEVEL_GRADUALLY

In the fsm-ramping.h file it says this is for adjusting “brightness very smoothly” , so how not very smoothly it will adjust the brightness during thermal regulation without this ?

Updated circuit diagram for GT90 driver (will stop going on about it after this):

Sounds like find a hwdef with single channel then generate the ramp based on that. (Thanks to SammysHP)

Here’s my little sketch:

Yeah, there is definitely a lower channel not showing in the diagram above - there has to/must be two channels. SammysHP's diagram looks more reasonable.

The big bank of resistors in TA's drivers in controlled from the MCU as a lower channel - I'm positive of that.

Did you PM TA about it? Or post to a thread he actively monitors and replies to? I doubt he follows this one.

Yep, he’s way better at drawing diagrams than I am. I sent him a good pic of the board all in one and he’s come up with that :wink:

I’ll have to PM TA, haven’t yet.

The GT90 driver uses the same firmware as the GT70. It is the same driver as the GT70, They just adjusted the resistor values to work with the GT70 firmware instead of adjusting the firmware for some reason.

So any firmware that works with the GT70, would also work with the GT90.

I don’t remember off hand the pinout of the MCU but it was a standard pinout when I made it.

The resistor bank handles the low modes, then it brings in the main FET, this gives a smooth ramp compared to just using the main FET (although the changeover can be tricky to get smooth).

It then uses the voltage divider for LVP.

Another pin is used for the e-switch

Another pin for the lighted switch.

Pretty standard stuff, the above diagram looks like the right pinout at a glance.

Here are some pictures to help:

This is a layout file for diptrace, it is hard to read as it is only setup to make routing the pins in diptrace easier, not to look at. Still could help:

I think this is the latest firmware for the GT70 but I recently moved all my data around as I am rebuilding my NAS, so not 100% on that.

GT70 firmware

Thanks TA, very much appreciated :slight_smile:

Is this a reasonable place to put feature requests? There’s one that came up over on reddit that I think was a good idea, if practical.

Could you add an option to automatically go into lockout mode after some period of inactivity? It would be another way to reduce the chance of burning a hole in your pocket while interfering very little with normal use of the light. If you could set the timeout in minutes with a maximum of 60 or 90 I suspect a lot of people would find it useful.

It is already implemented in my branch:
https://bazaar.launchpad.net/~nisjuk/flashlight-firmware/nisjuk2/changes

I agree it’s very useful. :wink:

Nice! I’ll have to give that one a try.

And I would love to see that merged into the main version.

Thank you!