Anduril ... 2?

How can you hammer the whole driver out? I understand you can user a flat blade screwdriver just near the side switch, but what about the other side?

Just pressing down was not enough in my case so I used a small right angle hook and hammered at the long side while pressing the short side on the board. Just like you can seeh here: SP36 head disassembly / reflash -- non-destructive? (ReFlashed! Didn't Break! - much-)

Is there a hex file that has been built for Anduril 2 for the LT1, FW3A, Q8, and/or D4?

Well, 2.0 isn't finalized, but I have it on my KR4 and it works wonderfully and you can build it yourself -- just do the following in an Ubuntu or Debian VM.

sudo apt-get install flex byacc bison gcc libusb-dev libc6-dev gcc-avr avr-libc binutils-avr avrdude avrdude-doc
bzr branch lp:~toykeeper/flashlight-firmware/anduril2
cd anduril2/ToyKeeper/spaghetti-monster/anduril/
./build-all.sh 

Thanks for the feedback. :+1:

I don’t have many tools to do this, I do have avrdude to flash the file, but not tools to build the files. I’ll wait until someone makes this available for the more casual user.

If you have a Win10 box, then https://docs.microsoft.com/en-us/windows/wsl/install-win10 (I believe ToyKeeper prefers the Ubuntu option) will give you the ability to run the above commands.

You can download the .hex files from here and flash them straight from AVRDude. It’s what I did for both my KR4 and D4Sv2.

YES! This is what I was looking for. I don’t know how to find that spot in Launchpad, but I have it now. Thanks so much BurnighPlayd0H :beer: :beer:

Haha I only have it because it’s been linked here before, very glad I could help! :laughing: :+1:

So I bet the answer is in here somewhere, but I could not find it. How does one use the resolution of the voltage correction factor to 0.05V? All my lights with Anduril2 only give a value to 0.1V, not sure how / why there is the ability to enter a value to 0.05V? Perhaps some lights provide that extra digit of resolution?

I think I answered my own question. My Q8 measures 3.6 during battcheck, but he cells are at 3.52. So I went into battcheck configuration mode, and lowered the measurement by 0.05V. Now battcheck produced 3.5V for the measurement. The 0.05V steps allow a bit more resolution to the adjustment, and I finally figured out how to use that.

Are you expecting Battery Check to blink a number down to a resolution of 0.05V? E.g. 4.15V

  Battery check:

     Blinks out the battery voltage per cell.  Full is 4.2V, empty is 
     about 3.0V.  The light blinks the whole-number digit first, pauses, 
     then blinks out the "tenths" digit.  Then a longer pause, and it 
     repeats.
     So for 4.2V, it would be "blink-blink-blink-blink .. blink-blink".

     A "zero" digit is represented by a very quick blink.

     The voltage config menu has one setting:

       1. Voltage correction factor.  This adjusts the battery 
          measurement sensor, allowing the user to add or subtract up to 
          0.30V in 0.05V steps.  Click N times to enter a value:

          1C: -0.30V
          2C: -0.25V
          3C: -0.20V
          4C: -0.15V
          5C: -0.10V
          6C: -0.05V
          7C: default, 0V
          8C: +0.05V
          9C: +0.10V
          10C: +0.15V
          11C: +0.20V
          12C: +0.25V
          13C: +0.30V

Do you need to define BATTCHECK_4bars, BATTCHECK_6bars, BATTCHECK_7bars to adjust the readout style?

https://bazaar.launchpad.net/~toykeeper/flashlight-firmware/anduril2/view/head:/ToyKeeper/spaghetti-monster/anduril/config-default.h#L115

battcheck()
https://bazaar.launchpad.net/~toykeeper/flashlight-firmware/anduril2/view/head:/ToyKeeper/spaghetti-monster/fsm-adc.c

No, I wasn’t expecting my lights to do that (unless it was an upgrade via Anduril2), I was more wondering the utility of the 0.05V resolution, then when I went to use it I figured it out.

But I will admit I would be interested in having the extra digit of resolution. I don’t think its really that valuable from a user point of view, but the geek in my would love it.

I’m not interested in brewing my own code to get it, each time I flash my lights its an adventure.

The …bars options are for another way of blinking the voltage (1 to n blinks).

Makes no sense to blink out more digits, it’s not that accurate (changing battery voltage due to load, noise) or helpful.

agreed

Does anyone know what the voltage readout specifications for the ATtiny processors used with Anduril are?

Has anyone tested the processor's voltage readout for accuracy, resolution and consistency across the usuable voltage range using an accurate bench power supply?

When I tested the battery voltage values returned by my Anduril lights from the "triple click voltage query"; the points where the values changed by 0.1 volt were surprisingly consistent from fully charged to the low voltage cutout when compared to the correct voltages. The only issue has been that the voltage values for an individual light are sometimes also consistently off by up to 0.2 volts from the correct voltage.

My inexpensive bench power supply is not accurate enough for testing, so the way I tested was to do a series of separate tests over time by charging many batteries with an analyzing charger to slightly different voltages and after at least a 24 hour rest I selected a series of batteries that were 0.01 volts apart based on readings from my Fluke multimeter and then tested those batteries in my lights to determine the actual voltage where the light's voltage readout changed by 0.1 volts.

I have over a dozen Anduril lights and knowing how far off each of their voltage readouts is has been helpful to me.

Since the processor's voltage readout can be calibrated with newer versions of Anduril and if the voltage readout was sufficiently accurate to within 0.02 volts or so and consistent across the usable voltage range, to avoid wondering if a 3.6 voltage readout from the light is actually closer to 3.5 or 3.7 volts, I would welcome an Anduril voltage query that reported out to two decimal places using three sets of blinks instead of to one decimal place using two sets of blinks.

Are you aware about voltage sag? I.e. if you draw 1A from 4V battery you get 3.8V (just an example). The voltage returns to 4V after some time after current draw is stopped. Faster for newer battery and slower for older. I don’t see any added value in more digits in voltage check since it depends so much on battery condition.

Hi! I started with a FW1A a few weeks ago and quickly moved onto a KR1 (and have already vowed to never again purchase a non-ISP light).

Anduril2 on the KR1 is using only about half of the firmware space on its 1634, so I've been playing with adding additional strobe modes, etc. For example, I have a strobe that flashes at both the party-strobe frequency and the tactical-strobe frequency (i.e. it normally flashes at 50%, but flashes at 100% when the two cycles happen to overlap). I also have a fun mode where it will flash any pattern compiled into the binary.

However, I'm finding that going from 5 flash modes to 7 (or more) is annoying if you're already familiar with the classic 5 strobe modes. What do people think of having two groups of flash modes (i.e. the classic ones and auxiliary ones), and having 3C alternate between them? This way, the current Anduril2 behavior would be unchanged unless you happened to 3C from within strobe mode. (Of course, once you're within auxiliary strobe modes, 2C would cycle amongst them and 3C would return to the main set of strobes.)

Does this seem like a reasonable approach?

Thanks!

Marshall

Here's the Anduril2 build source code for Atmel Studio 7.0, and the Anduril2.HEX file for the Haikelite HK90 I used:

Google drive share for HK90

Anduril2 Updates

Source Code Base

Summary - List of Changes

  • TE 2020-10-31: Make the version # v1.2 (in version.h)
  • TE 2020-09-25: add optimize setting: “-fwhole-program” to reduce code space

CFG file Changes

  • Thermal ceiling default changed from 45C to 60C (DEFAULT_THERM_CEIL)
  • Thermal calib extended from 70C max to 90C max (MAX_THERM_CEIL)
  • Add USE_2C_MAX_TURBO
  • #define SIMPLE_UI_ACTIVE 0 (default to standard Anduril w/full features

Operational Changes

None at this time – TK incorporated a couple of my prior custom tweaks

Build Notes

  • 2020-10-31: HL-HK90 built at 7908 bytes

When is this going to be announced for Sofirn etc? Anyone know when flashlights will come with version 2