Flashlight Firmware Repository

I could see replacing battcheck with it.
I could also leave off the blinking the charge level every time and instead give a few warning blinks when it under 50% then go to low, and if the cell is under 25% give the warning blinks and stay in moon.

In “goodnight mode” it doesn’t actually enter the part of the code which checks the voltage. It also never goes above the “low” mode, since it ramps slowly from there to moon. Then it shuts down into the lowest-power mode it can, which uses a small fraction of what moon mode uses.

Warning blinks could be useful, but it’s likely they might not be seen since the user is presumably trying to sleep.

So, basically, it’s already executing the LVP procedure… just a bit slower and smoother, and without actually checking the voltage. With an estimated 300+ full nights worth of charge per cell, and a voltage reminder before starting, I’m not too worried about it.

Anyway, it’s kind of a quick kludge I added to one of my personal lights. I’m wondering if it’d be worth making it more robust for others to use.

This is pretty cool, & would be very useful in a lantern.

Configurable sleep time would be nice to have as well.

:beer:

I am intrigued. I often use my flashlights for this purpose. However, I usually is lights with a magnetic tail and an eswitch. Right now I’m using an Olight s30. This way it sticks nice to the metal on my night stand and I can still asp access the button on the side. Idk if this feature would be useful enough to sacrifice the side switch or not? I think it’s cool though.

Prior to the s30 I used the candle mode on one of dr jones rgbw drivers. I no longer have this light, but this would be a nice feature on lights with a candle mode as well.

Hah, so far the delay mechanism is designed to be small, not configurable. :slight_smile:
It just goes through each PWM level from ‘low’ to ‘moon’, in order, and delays at each step for 255 seconds. Then it shuts off. When I checked last night I think that ended up being 49 minutes total, but I’ll probably reflash it to get it closer to 60 minutes.

I didn’t mean warning blinks during the running, I was thinking of that instead of the voltage reminder at the start.

Latest updates to Narsil released and posted. Details in this 25/45/85 thread post: https://budgetlightforum.com/t/-/34900/914.

Sorry, but still feel I got more to go, but this version has a few good bug fixes, and some improvement tweaks to ramping..

Thanks Tom. I should be able to have a go at it this weekend. Theres still not enough hours in the day.

No prob! I know what you mean -- work pressure, backyard garden is in full stride, reviews, support, software, mod'n madness.

I feel like pull'n a quote from another movie, but no time..

Still house reorganizing. :weary:

Is there a ‘ready to go’ firmware available for;

Attiny13 / FET+1 / e-switch?

Just searching now, but thought I would post the question as well.

Cheers :beer:

-edit;

Looks like STAR_momentary version 1.6 should do the trick. Been a while since I built a 13a driver!

Alright guys, I need some help. Talk to me like I’m a total noob.

I am still using 13a’s, but I have found a few bugs in my version of blf-a6 that was adapted for Triple channel. So I figure now is as good a time as any to try bistro on a 25. I haev not even used the new system of config files or whatever they are called, I just alter the c file for every build and have a library of the ones I have used in other lights.

So, step by step, how do I configure bistro and flash to a 25, assuming I am already setup to flash hex files to 13’s?

Do you use linux or Atmel studio to compile right now?

Flashing the hex file is easy, exactly the same as what you are doing now, just with a command line change to the 25 instead of the 13A and the associated fuses.

Compiling is a bit different due to the extremely tight space constraints.

I have a hex file for bistro tripledown in the Texas Avenger thread that is setup for a 19.1K R1 that you can try, just make sure you get the correct fuse settings and command, I can dig the one I use out if you need.

The weather is supposed to cool down this weekend, hopfully it won’t be 90f in the house with 80-90% humidity and I will be able to work on the drivers a bit more. Gonna calibrate one for a 22k R1.

The nice thing about bistro is that since it has so many user adjustable settings you don’t need to adjust much on a light by light basis. Simply select a different mode group.

I use Win w/ATMEL Studio 7. I copy all the header files (.h files) into the same folder where the main source code is - much easier to track and control, for me that is... I've built Bistro successfully. I believe I have it all working fin under 1 solution with 1 project. I could ZIP up the complete Studio 7 solution and post it on my google driver, with the proper AVRDude BAT files, if you want -- when I get home - @work now.

Interesting, when I tried to compile in Atmel 7 it just spit out errors. When I tried the exact same files in linuix it worked perfect. Never could figure out the issue so just stuck with linux, it was not worth the time to mess with atmel, I prefer Atom for messing with the code anyways.

BTW, I have not seen anyone on here mention it but it is possible to use Atmel studio to flash things with AVRdude without having to actually mess with avrdude directly.

Been using ATMEL since the beginning - never a problem, but of course I've worked with dozens of dev environments and compilers for years (ok - several decades), so I can usually find & fix compiler/linker related issues quickly.

If you still want to use/try ATMEL 7, just dnld one of my complete zips.

I use Atmel Studio 7 to compile, and avrdude to flash.

I just copy/paste the commands from a txt file, so if I need different ones for the 25 can somebody help with those.

Tom, that would be great. I am totally clueless on how to use the header and bat files.

I haven’t even looked at the code for bistro, I’m hoping it’s still easy to remove things. I like simplicity, but I just noticed LVP is nonfunctional on the modified version of blf-a6

But really step by step would be great. Like currently I do this:

  1. pull open c file in wordpad
  2. alter mode groups/turbo timer (by comparing to similar lights I have that had good levels)
  3. copy code to new project in Atmel7
  4. compile to hex
  5. copy command line to avrdude
  6. flash

Hey guys. I hate to barge in but I see your active conversation and I’m in a bind.

I am getting error message:
program enable: target doesn’t answer. 1
Initialization failed, rc=–1
Double check connections and try again, or use -F to override this check.

I’m trying to flash Bistro onto pds triple stack but I get the this error. I think it might be related to using a different attiny25 than I was using before, but I’m unsure. Any help?

This is the chip I am using:
AVR AVR® ATtiny Microcontroller IC 8-Bit 20MHz 2KB (1K x 16) FLASH 8-SOIC

ToyKeeper, a couple of questions about the Bistro-mini firmware.

  1. Do you have Bistro-mini project for AVR Studio?
  2. What a piece of code responsible for the brightness in the Moonlight and the low mode?
  3. Will LED glow in the Moonlight if we take the driver for 1050 & 1400 mA?
  4. I tried to open your C-file in AVR Studio but received entirely errors at compile time. In what program it is made?
    Thanks