Texas Avenger "TA" Driver series - Triple channel + Bistro or Narsil + Clicky or E-switch - The Ultimate open source driver!

Ok, but you were just complaining that in narsil the click switch is "just a lockout". Doesn't that mean it just turns the light on and off? Or does it reset the mode to some default at the same time?

Anyway,ok, it's easy to add an option to bistro-HD for this. I'll continue in that thread.

Re-installed Atmel Studio 7 today , but i still get the same thing…

So , if anyone can compile Narsil Triple V1.3 (with 3x 7135 option) for me it would help me a lot .

Narsil is build for eswitch only

If you cut the battery voltage the light resets and starts up with 2 blinks to say its ready, unusable as momentary forward switch

An I got the problem strobe and config runs too slow

Strobe and config runs too slow where? on bistro? Too slow subjectively, or like way way too slow? HD is set a little slower than TA-bistro I think. If it's way way slow though it's probably because your fuses have set your clock frequency too low. If all else fails there's a BLINK_SPEED setting that adjusts it.

I've never seen that. Probably better find a narsil thread to ask in. I don't know if Tom E watches this thread.

I compiled the Narsil triple v1.3.c with this method from this thread

I think it does not accept the preprocessor and other configs files

I learned a lot last 2 days getting into Amtel a bit, so i tried to compile your 3*7135 version
Compiling the whole project gives me an error in Amtel 5 that some tool is missing

Opening the Narsil triple v1.3 solution I need a newer version of Amtel studio than my 5

Watching it today... I've never seen/heard of this problem. Been using 7.0 since it came out on 3 different computers - Win 7 and Win 10, probably for a short time on Win 8.

Does the error occur only when you call up the properties page? You shouldn't have to open it - the defaults already in the .atsln and .cproj files should be good to go. What happens when the error is up? Can you close that properties window or do anything?

Looked around and can't find the local file for your local project settings. Think'n if I could find that file, might be worth trying deleting it.

There's some config files in the \AppData\Local\Atmel\AtmelStudio\7.0 folder (under your user name), but nothing I could find specifically on the NarislTriple project.

Under the roaming folder there is a log file called: ApplicationStatus.log. it's in the "\AppData\Roaming\Atmel\AtmelStudio\7.0" folder. Might be worth looking in there.

My log file is below. Seems like it's just for this or last session.

19:39:58.834: Constructing a new instance of Status Report Service
19:39:58.835:
19:39:58.835: Providing a new reference to the instance of Status Report Service
19:39:58.886: Entering constructor for: Atmel.VsIde.AvrStudio.Services.BackendService.BackendServicePackage
19:39:58.887: Entering Initialize() of: Atmel.VsIde.AvrStudio.Services.BackendService.BackendServicePackage
19:39:58.930: 19:39:58: [INFO] Starting local Backend Agent atbackend.exe 127.0.0.1:0
19:39:58.979: 19:39:58: [INFO] Process: C:\Program Files (x86)\Atmel\Studio\7.0\atbackend\atbackend.exe /connection-port=63576
19:39:59.179: Entering constructor for: Atmel.VsIde.AvrStudio.Debugging.DataBreakpoint.DataBreakpointPackage
19:39:59.181: Entering Initialize() of: Atmel.VsIde.AvrStudio.Debugging.DataBreakpoint.DataBreakpointPackage
19:39:59.274: Entering constructor for: Atmel.VsIde.AvrStudio.Debugging.DebugCommands.DebugCommandsPackage
19:39:59.296: Entering constructor for: Atmel.VsIde.AvrStudio.Services.DeviceService.DeviceServicePackage
19:39:59.297: Entering Initialize() of: Atmel.VsIde.AvrStudio.Services.DeviceService.DeviceServicePackage
19:39:59.319: Entering constructor for help about Atmel.VsIde.AvrStudio.Branding.HelpAbout.HelpAboutPackage
19:39:59.321: 19:39:59: [INFO] Initializing help package Atmel.VsIde.AvrStudio.Branding.HelpAbout.HelpAboutPackage
19:39:59.366: Entering constructor for: Atmel.VsIde.AvrStudio.LanguageServices.Packages.ServiceProviderImplementations
19:39:59.367: Entering Initialize() of: Atmel.VsIde.AvrStudio.LanguageServices.Packages.ServiceProviderImplementations
19:40:00.339: Entering constructor for: Atmel.VsIde.AvrStudio.Services.TargetService.TargetManagerPackage
19:40:00.341: Entering Initialize() of: Atmel.VsIde.AvrStudio.Services.TargetService.TargetManagerPackage
19:40:00.587: Entering Initialize() of: Atmel.VsIde.AvrStudio.AsfPackage.AsfPackage
19:40:00.983: Entering constructor for: Atmel.VsIde.AvrStudio.Asf.Service.AsfServicePackage
19:40:00.985: Entering Initialize() of: Atmel.VsIde.AvrStudio.Asf.Service.AsfServicePackage
19:40:01.003: Entering constructor for: Atmel.FDK.FDKPackage
19:40:01.036: Entering Initialize() of: Atmel.FDK.FDKPackage
19:40:01.162: Entering constructor for: Atmel.AtmelKits.AtmelKitsPackage
19:40:01.162: Entering Initialize() of: Atmel.AtmelKits.AtmelKitsPackage
19:40:01.221: Entering constructor for: ToolchainProvider.AvrStudioToolchainExtensionPackage
19:40:01.222: Entering Initialize() of: ToolchainProvider.AvrStudioToolchainExtensionPackage
19:40:01.281: Entering constructor for: Atmel.VsIde.AvrStudio.Extensions.AvrAssembler.AvrAssemblerToolchainPackage
19:40:01.282: Entering Initialize() of: Atmel.VsIde.AvrStudio.Extensions.AvrAssembler.AvrAssemblerToolchainPackage
19:40:09.422: Entering constructor for: Atmel.VsIde.AvrStudio.Services.ToolService.ToolServicePackage
19:40:09.423: Initializing Atmel.VsIde.AvrStudio.Services.ToolService.ToolServicePackage
19:40:09.502: 19:40:09: [INFO] Added ToolInfo: Atmel-ICE
19:40:09.507: 19:40:09: [INFO] Added ToolInfo: AVR Dragon
19:40:09.511: 19:40:09: [INFO] Added ToolInfo: AVRISP mkII
19:40:09.515: 19:40:09: [INFO] Added ToolInfo: AVR ONE!
19:40:09.521: 19:40:09: [INFO] Added ToolInfo: EDBG
19:40:09.534: 19:40:09: [INFO] Added ToolInfo: EDBG MSD
19:40:09.547: 19:40:09: [INFO] Added ToolInfo: EDBG
19:40:09.554: 19:40:09: [INFO] Added ToolInfo: Atmel FLIP
19:40:09.559: 19:40:09: [INFO] Added ToolInfo: J-Link
19:40:09.564: 19:40:09: [INFO] Added ToolInfo: J-Link over IP
19:40:09.569: 19:40:09: [INFO] Added ToolInfo: J-Link ARM-Pro
19:40:09.574: 19:40:09: [INFO] Added ToolInfo: J-Link Ultra
19:40:09.577: 19:40:09: [INFO] Added ToolInfo: JTAGICE3
19:40:09.582: 19:40:09: [INFO] Added ToolInfo: JTAGICE3
19:40:09.586: 19:40:09: [INFO] Added ToolInfo: JTAGICE mkII
19:40:09.592: 19:40:09: [INFO] Added ToolInfo: mEDBG
19:40:09.598: 19:40:09: [INFO] Added ToolInfo: Atmel Mega DFU
19:40:09.604: 19:40:09: [INFO] Added ToolInfo: Power Debugger
19:40:09.608: 19:40:09: [INFO] Added ToolInfo: QT600
19:40:09.612: 19:40:09: [INFO] Added ToolInfo: SAM-ICE
19:40:09.616: 19:40:09: [INFO] Added ToolInfo: Simulator
19:40:09.620: 19:40:09: [INFO] Added ToolInfo: STK500
19:40:09.624: 19:40:09: [INFO] Added ToolInfo: STK600
19:40:09.868: 19:40:09: [INFO] Connected to backend at 127.0.0.1:63576
19:40:10.359: Tool:getAttachedTools 489.429 msecs
19:40:10.372: 07 40 10 372: msg send(8):R 1
19:40:10.373: Stream:setLogBits 10.0781 msecs
19:40:10.386: 07 40 10 386: msg recv(8):E Locator peerAdded {"Port":"63576","Host":"127.0.0.1","ID":"LocalHIL0","Name":"Local HIL","OSName":"Windows","TransportName":"TCP"}
19:40:16.532: Entering constructor for: Atmel.VsIde.AvrStudio.Project.Gcc.AvrGccPackage
19:40:16.534: Entering Initialize() of: Atmel.VsIde.AvrStudio.Project.Gcc.AvrGccPackage
19:40:16.599: Entering constructor for: Atmel.VsIde.AvrStudio.LanguageServices.AvrAssemblerLanguage.AVRAssemblerLanguagePackage
19:40:16.600: Entering Initialize() of: Atmel.VsIde.AvrStudio.LanguageServices.AvrAssemblerLanguage.AVRAssemblerLanguagePackage
19:40:16.621: Entering constructor for: Atmel.AvrStudioCommands.AvrStudioCommandsPackage
19:40:16.623: Entering Initialize() of: Atmel.AvrStudioCommands.AvrStudioCommandsPackage
19:40:16.677: Entering constructor for: Atmel.VsIde.AvrStudio.Debugging.TraceView.TraceViewPackage
19:40:16.679: Entering Initialize() of: Atmel.VsIde.AvrStudio.Debugging.TraceView.TraceViewPackage
19:40:16.782: Entering constructor for: Percepio.TraceForAtmelStudio.TraceForAtmelStudioPackage
19:40:16.789: Entering Initialize() of: Percepio.TraceForAtmelStudio.TraceForAtmelStudioPackage
19:40:16.859: Entering constructor for: Atmel.VsIde.AvrStudio.MakeBuilderService.MakeBuilderServicePackage
19:40:16.860: Entering Initialize() of: Atmel.VsIde.AvrStudio.MakeBuilderService.MakeBuilderServicePackage
19:40:16.921: Entering constructor for: Atmel.VsIde.AvrStudio.Services.DataBreakpointService.DataBreakpointServicePackage
19:40:16.921: Entering Initialize() of: Atmel.VsIde.AvrStudio.Services.DataBreakpointService.DataBreakpointServicePackage
19:40:18.955: 19:40:18: [INFO] Found Toolchain Factory Atmel.VsIde.AvrStudio.Extensions.AvrAssembler.Toolchain.AssemblerToolchainsProvider:
19:40:18.956: 19:40:18: [INFO] Found Creatable Toolchain Name com.Atmel.AVRAssembler from Factory Atmel.VsIde.AvrStudio.Extensions.AvrAssembler.Toolchain.AssemblerToolchainsProvider
19:40:18.956: 19:40:18: [INFO] Found Toolchain Factory Atmel.VsIde.AvrStudio.Extensions.AVRGCC.AVRGCCToolchainFactory:
19:40:18.956: 19:40:18: [INFO] Found Creatable Toolchain Name com.Atmel.AVRGCC32.C from Factory Atmel.VsIde.AvrStudio.Extensions.AVRGCC.AVRGCCToolchainFactory
19:40:18.956: 19:40:18: [INFO] Found Creatable Toolchain Name com.Atmel.AVRGCC32.CPP from Factory Atmel.VsIde.AvrStudio.Extensions.AVRGCC.AVRGCCToolchainFactory
19:40:18.956: 19:40:18: [INFO] Found Creatable Toolchain Name com.Atmel.AVRGCC8.C from Factory Atmel.VsIde.AvrStudio.Extensions.AVRGCC.AVRGCCToolchainFactory
19:40:18.956: 19:40:18: [INFO] Found Creatable Toolchain Name com.Atmel.AVRGCC8.CPP from Factory Atmel.VsIde.AvrStudio.Extensions.AVRGCC.AVRGCCToolchainFactory
19:40:18.956: 19:40:18: [INFO] Found Toolchain Factory Atmel.VsIde.AtmelStudio.Extensions.ARMGCC.ArmGcc32BitToolchainProvider:
19:40:18.956: 19:40:18: [INFO] Found Creatable Toolchain Name com.Atmel.ARMGCC.C from Factory Atmel.VsIde.AtmelStudio.Extensions.ARMGCC.ArmGcc32BitToolchainProvider
19:40:18.957: 19:40:18: [INFO] Found Creatable Toolchain Name com.Atmel.ARMGCC.CPP from Factory Atmel.VsIde.AtmelStudio.Extensions.ARMGCC.ArmGcc32BitToolchainProvider
19:40:20.530: 19:40:20: [INFO] QueryAttribute: [Cclass, Device];[Cgroup, Startup];[Cvendor, Atmel];[compiler, GCC];[Dname, ATtiny85];[Output, exe]

In NarsilTriple (same as Narsil), the tail switch should work to change modes w/memory, but only if in mode sets, not ramping.

So in ramping -- yes, the tail switch simply cuts power and acts as a mechanical lockout - same as loosening the tailcap on many lights. I thought of using it to go to max output as a default instead of the 2 blinks and default to OFF - it's a simple change really. Downside is if you have the switch off and simply want to power up the light without getting blasted w/max, you can't do that anymore. I could make it a compile time option, or configuration setting as well, but others want to go further with this simple change, and also change how the e-switch basically works - that's where it gets complicated.

here you go
http://www.metronixlaser.de/bilder/flashlight/NarsilTriple_v1.3_7135x3.hex

I thought about this turn on the light at max brightness
Its basically what the Klarus XT11GT does so no problem there for me

On the other hand if you want turn it on on moon from Off, why not programm it to hold eswitch while turning on to avoid blasting your night vision?

Could do that - good idea, but again, TA doesn't want it working this way, so didn't bother any further.

Thanks a lot :beer:

I can state success for the Narsil build with the E-switch plus forward switch

Tom E changed the code so that the light gets always in turbo mode when the battery is conected here

This is the same as it was in the Klarus XT11GT light.

the normal narsil is running on my mopdded Skilhunt H03R
also adjusted the thermal calibration, works perfectly

black and white goes to swich with indicator LED which is feed by pin 7 over a 4.7kOhms resistor


left with TA 21mm driver, on the right stock with TIR both with identical high drain cell
left 4.55A right 2.45A

Glad that worked out. I'll be adding that into the mainline code for both Narsil versions. Right now I got another driver project to work on - might be tied up with it for a week or two.

So actually it turns out lexel's request should "just work" in bistro-hd, just not a case I'd taken the time to think about enough. Enabling e-switch without any other timing control should just do it. Using memory or a high output first mode is probably desireable for that. I suspect it works even with the bugs of the present release since I can't think of any that impact that setup and it's actually one of the build configurations that I actually did some testing with, but the next release is hopefully a little more stable (closer to beta than alpha anyway).

It's official, OTSM is working on the original version board. No more worrying about cap temperature, or OTC calibration, or sensitivity to changes in resistance, click timing is defined as actual time ex: short click < 0.5 s med click < 1.5s, long click > 1.5s, and it just works.

The build component details are here:

https://budgetlightforum.com/t/-/44344/69

Software is in the OP of that thread.

The firmware build is pretty heavily tested now (if I didn't break something with that last little change, there's always that one last change ;) ), for both standard TA-OTC and TA-OTSM. I'm using OTSM in a light and it's great. Voltage calibration is dialed in perfectly for both (the first using the divider, the second using Vcc) for me, but of course could vary a little from light to light. For the divider builds calibration is super simple. Vcc calibration (for OTSM) is slightly more of an art maybe, but seems never terribly wrong anyway. It's harder because Vcc has two unknowns, the internal reference calibration and the diode voltage drop, but I hope we'll find that just tweaking the offset number gets everyone close enough anyway.

As a bonus there's tons of room to spare in the firmware for TA to finish off those missing modes. (Actually there's even room for those low Vf regulation curves we talked about).

Excellent! I haven't been able to keep up, but now that you have it pretty solid, I gotta check it out.

The 25 and 45 V versions I might not have - gotta check stock.

Great Job on this! Persistence paid off!

heck of a saga to replace one stupid cap, lol.

Excellent!

Can it match the existing TA PCBs?