Anduril ... 2?

From the manual:

Configuration Menus
-------------------

Every config menu has the same interface. It has one or more options
the user can configure, and it will go through them in order. For each
menu item, the light follows the same pattern:

  • Blink once, then go to a lower brightness. The user can keep
    holding the button to skip this menu item, or release the button to
    dive in and enter a new value.

  • If the user released the button:

    • Stutter or "buzz" quickly between two brightness levels for a few
      seconds. This indicates that the user can click one or more times
      to enter a number. It will keep buzzing until the user stops
      clicking, so there is no need to hurry.

After entering a number, or after skipping every menu item, it waits
until the button is released then exits the menu. It should return to
whatever mode the light was in before entering the config menu.

That's what I meant when I wrote that the first blink comes early.

Ok, for some reason the brain is having a hard time comprehending it (). I think this means only one setting can be set per 7H clicks.

Exact! You need a 7H for each setting…

Correct, but now you don’t have to wait through the buzzes so that’s the pro/con.

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.