E-switch UI Development / FSM

TA said it should be no problem to port Andúril to the GTmini

I got errors when compiling the latest anduril like “anduril.elf section `.text’ will not fit in region `text’. How do I solve this?

Use the provided bin/build-85.sh script, or copy the compiler options from it, or remove some code to make it fit.

The builds are optimized for size as much as possible, which is not the compiler’s default behavior.

Hi everyone, I’m trying to build anduril in Armer studio 7. I have placed all the necessary files in the project folder. When I click build I get an error: redefinition of ’uint8_t eeprom [14] clicking on the error takes me into the fsm-eeprom.c file. I’m so close can anyone help? I’d love anduril for my emisar d4!

Thanks guys

Frank

It’s recommended to download the entire repository and keep it organized in its original layout. This may help with the build errors. The build scripts use command line tools though, instead of Atmel Studio, so there will still be some configuration to do before a build will work.

Unfortunately, Launchpad still doesn’t have a “download branch as zip” function, and might never have such a thing. So the easiest way to get a complete copy is to use bzr and have it create a local branch.

Are you building a .hex yourself because you want to make changes to the code?

If not, you can simply use the .hex files ToyKeeper has pre-built for several lights.

Thank you Toykeeper. I only have a windows machine with Atmel studio so I may be out of luck as I can’t run the build scripts. I assume they are Linux.

Thank you goshdogit. I use the AVR burn o matic GUI for avrdude. It asks for the hex file and the .eep EEPROM file. So the reason I am trying to use atmel studio is so I will also have the eeprom file. Is there another way to flash without it? I appreciate your help!

Lots of folks use AVRDUDE to flash drivers, available here. I run it from the command prompt of my Windows 7 machine.

First, I use this command to verify that my programmer is connected properly to the driver:

Second, I use this command to reflash the driver with a new .hex file. I use the ‘fuse values’ suggested by ToyKeeper. Change the “ANDURIL.hex” to your .hex file’s name.

I’m not familiar with the GUI you’ve mentioned, so I’m going to check it out now.

You already have your programmer and its drivers working, correct?

I just found another GUI for avrdude called avrdudess I’m messing with it now. Yes my programmer and drivers are all good. I’ll try flashing just the hex file but for some reason I thought I had to flash the .eep file as well.

goshdoggit said it perfectly.
The only thing I can add is an example of what to paste into the avrdude command prompt.
This is the fuse for Biscotti.
avrdude -p t13 -c usbasp -u -Uflash:w:biscotti.hex:a -Ulfuse:w:0x75:m -Uhfuse:w:0xFF:m
This is pasted into here.

Hope this helps.

Success! The AVRDUDESS GUI worked great. The Anduril firmware is spectacular I love my Emisar D4 so much more now. Thank you all very much for the help. Toykeeper thank you for the great firmware!

Frank

I know the feeling of joy you are having flucero28. Well done. :slight_smile:

That’s great to hear, Frank! Nice work. :+1:

A note to other readers: Make sure to use the fuse values matching your MCU (attiny type), not necessarily the values the firmware’s code says. Using attiny13 fuse values on an attiny25/45/85 can break it. However, using attiny25 values on attiny45/85 does appear to work, since they’re the same family.

Thanks TK for the forgotten piece of info. Thats why your the boss. :+1:

@toykeeper
I remember you asking for what a timer in a flashlight is useful for.
I got an Olight S1 Mini Baton HCRI
(including an ugly green ring in the beam on a white wall)

It has the 3 and 9min timer.

My use so far:
3min, tea timer for black tea
9min, tea timer for herbal infusion

9min, Pizza timer
9min + 3min = 12min Pizza timer

I haven’t found a use for the
9min + 9min = 18min timer

I’m a bit confused with the flashes when setting the ramp ceiling and floor. Can someone explain the flash sequence meaning in this configuration menu? Maybe a brief description on how this is done? Thank you!

To adjust the ramp floor and ceiling, first turn on the light. Then click four times to enter ‘ramp configuration.’

The light will make one slow blink, then flash rapidly or ‘stutter’ while it waits the ramp floor setting. Click the number of steps above the lowest level you’d like to set the floor. The light blinks each time you click.

When you’re finished clicking (or if you don’t click) the light with make two slow blinks, then ‘stutter’ again while it waits for the ceiling setting. Click the number of steps below turbo you’d like to set the ceiling. The light blinks each time you click.

You’ve just set the floor and ceiling. The light now returns to normal operation.

On my Emisar D4 Nichia models, I’ve left the ramp floor at zero and have set the ceiling to 50 clicks. This keeps the ceiling at a reasonable level, roughly half of the visual output of turbo.

Excellent thank you very much goshdogit. So for the lowest possible low, enter the ramping Config mode and do not click at all to set the floor at zero? I will try 50 for the ceiling.