ANDURIL USER MANUAL & LIST OF LIGHTS

Why 51 for 100/150?

Because 1 is 150.

For 1), this is a totally different driver than a FET+1 - the main LED PWM is not PWM'ing output directly, like it does on 7135's. The very last level has both turned ON probably for a good reason that TK would know best.

For 2), I assume she custom tweaked the settings for the KR4, as she did for the Emisars. Driver and light are both important

If it was me, my best guess would be for your setup of a KR4 driver in a D4V2, I'd go with the KR4 settings.

Thank you for your answer!

For 1 - I tried it myself (disable 1st channel when turbo on and get very weak turbo - so that’s the reason
For 2 - I’ll tried both config entryes and see no difference, so I continue with KR4 config

Hi, i have not found another place for my question. If it’s wrong place i am so sorry, please move. So…

(Fireflies E07)
I measured my room temperature with Fluke… 21C°
I want to calibrate temperature so 21 clicks in current temperature mode.
I left the light overnight.
Next day i want to measure temperature and this is happen…
The first cycle of blinks are 21C° , the second cycle are 16… between the first cycle and second i do not shut off the light… the room temperature is 21

(FW3A)
Now I have set the temperature to 18 (room is 18C°)
Shut off the light…3 clicks than temperature mod… 21 blinks :person_facepalming:

Why?
is correct?
The thermal sensor must give me the room temperature or the light temperature?
I don’t understand so ask to community

Thank you

Before you set room temp in the flashlight, you must do your best to get the flashlight at room temp - that means leaving it sit off for maybe an hour or 2 before setting the temp, and even when you do be sure the light never accidentally goes to a hi mode. What I do is to be sure to press&hold to turn it on at the lowest, ramp up very slightly - turn it off. This assures a lo output when doing the 3 clicks to get into voltage display, then 2C's from there.

Also the first blink of temp is not accurate - thought TK fixed this in a more recent Anduril, maybe just in Anduril2? Not sure. Let it blink out temp 2 times to get a good reading.

I leave overnight… maybe 8H

Why?

Not mine I think

The sequence you described was leaving it over night "after" it was calibrated - you need to stabilize the flashlight temp before calibrated.

Yes, because I have already calibrate one time before i write the first post

I am so sorry for my English… I will try another time and upload thread.

When I was calibrating my SC31pro, just holding it in my hand had the temp increase (on blinkout) 1° and then 2° in just a minute or two, so you need to do it fast. And keep the light overnight right next to a thermometer so you can see at a glance the temperature and let both equilibrate.

Next day or however long, go immediately to the temp blinkout and verify what it tells you vs the thermometer temp. If too different, then again, immediately do the calibration, and another temp blinkout to verify that it stuck.

21°C, holding it in a 37°C hand, it’ll warm up a few degrees very quickly.

Ahh, ok. I forgot the details but I think the first reading was perhaps a bug.

As LB said, it's very sensitive. All these calibration issues go away with the Atmel 1-series (1616, 3216) since they are factory calibrated.

Hi! Could you tell me, https://bazaar.launchpad.net/~toykeeper/flashlight-firmware/fsm/view/head:/ToyKeeper/spaghetti-monster/anduril/cfg-ff-rot66g2.h applied for any ROT66 II on factory (with any Leds?)
And please, could you tell me config for EDC18 and Astrolux HL01

Thank you!

Damn God.
In ~toykeeper/flashlight-firmware/trunk : contents of PRODUCTS at revision 249 HL01 should be Anduril / cfg-mateminco-mt07.h
BUT in ~toykeeper/flashlight-firmware/trunk : files for revision 247 no such cfg file

So, is there any way to discover settings for Astrolux HL01?

Sorry, don't own a HL01, if I did, you'd have the info you want. Dunno if anyone did a tear down to provide details on the driver. Once we know the driver, could probably get the proper Anduril build for it. Unfortunately, Astrolux hasn't communicated well back the the community so TK probably isn't aware of the HL01's Anduril setup.

For the EDC18, I'm sure I have, or could make an Anduril cfg file for it. Just checked - back in April 2019 I did a custom config for Anduril 1.1 on the EDC18, adding support for the AUX/switch LED. I rewired the switch LED so Anduril controls it.

Thank you for your answer. Is this modding reviewed anywhere here in detail?

Hhhmmm, good Q. Here's my EDC018 pic album: https://app.photobucket.com/u/TomE2012/a/a12dfc4e-d6a7-4530-8520-0dbfc3591a50

It shows the mod.

you just add this wire to 1 leg of controller?

Sorry, was at work - home now. Reviewed and trying to recall (at my age, that can take a while...). This is what I did:

  • Removed R4 - was connected to pin #7 and does nothing anyway (from TK's experimenting with detecting input from the main LED)
  • Removed R10 - original hard wired resistor for the switch LED
  • solder in a 10K resistor, tomb-stoned -- be sure there's no contact to the "+" pad
  • solder a 30 AWG wire from pin#7 to the 10K

So, the end result, as shown, is I got a switch surface mount LED connected to MCU pin #7, with a 10K resistor in between, as shown:

Now Anduril has to be tweaked to support this hardware configuration. So this is the Anduril hwdef file I used, hwdef-EDC18.h:


#ifndef HWDEF_EDC18_H
#define HWDEF_EDC18_H

/* BLF/TLF EDC18 driver layout
*
* The Lumintop EDC18 is basically the same driver as used in the FW3A, but has the e-switch mounted on the driver PCB.
* For my custom EDC18, I removed the resistor off of PIN #7 for the "optic nerve" and wired a jumper to the switch LED
* resistor - using 10K for now, and had to tombstone the resistor to break the connection to Batt+. This will allow
* Anduril to control the switch LED from pin #7
* ----
* Reset -|1 8|- VCC
* eswitch -|2 7|- switch LED (0402 under the switch with 10K 0603 resistor, removed (20K 0402)
* FET -|3 6|- 7x7135
* GND -|4 5|- 1x7135
* ----
*/

#define PWM_CHANNELS 3

// ... the modded EDC18 has aux switch LED on pin 7
#ifndef AUXLED_PIN
#define AUXLED_PIN PB2 // pin 7
#endif

#ifndef SWITCH_PIN
#define SWITCH_PIN PB3 // pin 2
#define SWITCH_PCINT PCINT3 // pin 2 pin change interrupt
#endif

#ifndef PWM1_PIN
#define PWM1_PIN PB0 // pin 5, 1x7135 PWM
#define PWM1_LVL OCR0A // OCR0A is the output compare register for PB0
#endif
#ifndef PWM2_PIN
#define PWM2_PIN PB1 // pin 6, 7x7135 PWM
#define PWM2_LVL OCR0B // OCR0B is the output compare register for PB1
#endif
#ifndef PWM3_PIN
#define PWM3_PIN PB4 // pin 3, FET PWM
#define PWM3_LVL OCR1B // OCR1B is the output compare register for PB4
#endif

#define ADC_PRSCL 0x06 // clk/64

// average drop across diode on this hardware
#ifndef VOLTAGE_FUDGE_FACTOR
#define VOLTAGE_FUDGE_FACTOR 7 // add 0.25V
#endif

//#define TEMP_DIDR ADC4D
#define TEMP_CHANNEL 0b00001111

#define FAST 0xA3 // fast PWM both channels
#define PHASE 0xA1 // phase-correct PWM both channels

#define LAYOUT_DEFINED

#endif


This is the Anduril cfg file I used:


// EDC18 config options for Anduril
#include "hwdef-EDC18.h"

// the button lights up
#define USE_INDICATOR_LED

// the button is visible while main LEDs are on (2020-02-09 TE: enable this!!)
#define USE_INDICATOR_LED_WHILE_RAMPING

// enable blinking indicator LED while off
#define TICK_DURING_STANDBY
#define STANDBY_TICK_SPEED 3 // every 0.128 s
#define USE_FANCIER_BLINKING_INDICATOR
// off mode: low (1)
// lockout: blinking (3)
#define INDICATOR_LED_DEFAULT_MODE ((3<<2) + 1)


// ../../bin/level_calc.py 1 65 7135 1 0.8 150
// ... mixed with this:
// ../../../bin/level_calc.py 3 150 7135 1 0.33 150 7135 1 1 850 FET 1 10 1500
#define RAMP_LENGTH 150
#define PWM1_LEVELS 1,1,2,2,3,3,4,4,5,6,7,8,9,10,12,13,14,15,17,19,20,22,24,26,29,31,34,36,39,42,45,48,51,55,59,62,66,70,75,79,84,89,93,99,104,110,115,121,127,134,140,147,154,161,168,176,184,192,200,209,217,226,236,245,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0
#define PWM2_LEVELS 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,6,8,10,13,15,17,19,22,24,26,29,31,34,37,39,42,45,48,51,54,57,60,64,67,70,74,77,81,85,88,92,96,100,104,108,112,116,121,125,130,134,139,143,148,153,158,163,168,173,179,184,189,195,201,206,212,218,224,230,236,243,249,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0
#define PWM3_LEVELS 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,19,31,43,55,67,79,91,104,117,130,143,157,170,184,198,212,226,240,255
#define MAX_1x7135 65
#define MAX_Nx7135 130
#define HALFSPEED_LEVEL 14
#define QUARTERSPEED_LEVEL 5

//-----------------------------------------------------------------------------
// Thermal Settings
//-----------------------------------------------------------------------------
// optional, makes initial turbo step-down faster so first peak isn't as hot
// the D4 runs very very hot, so be extra careful
//#define THERM_HARD_TURBO_DROP

// stop panicking at about 3A or ~1100 lm, this light is a hotrod
#define THERM_FASTER_LEVEL MAX_Nx7135

// respond to thermal changes faster
#define THERMAL_WARNING_SECONDS 3
#define THERMAL_UPDATE_SPEED 1
#define THERM_PREDICTION_STRENGTH 4
//-----------------------------------------------------------------------------

// Set it much higher than the default of 70C
#define MAX_THERM_CEIL 80


I'll probably convert this over to work with Anduril 2. Also I got two more EDC18's to make this mod to.

Well done! As i understand, we could only change power on led (low, high), turn it off and makes blinking? No way to show battery stats?
Is it difficult to remove driver?

Thank you, man!

  1. Yes, limited to 2 levels
  2. In Anduril and Anduril 2, battery stats is blinked out on the switch LED 3C in the lower output setting
  3. I've broken driver glue seals many many times - see below

I always start with the solder pick tool going through one of the LED wire holes. It usually fits in there fine with the wire, tight fit though. Trick is to feel around with the solder pick to be sure you are not on a component, closer to an outside edge the better. I'll try simply applying pressure first without the hammer. If that doesn't work, then the hammer comes out. Start with light taps initially - be as careful as you can, but sometimes heavier blows are needed

With the driver out, you can see the traces of glue around the edge. Also in this case, I did make some minor damage to the driver at around the R4 label below at the lower pin of the FET. Fortunately, the 4 pins on that side of the FET are redundant, so no damage. Of course this is fairly low risk for me because I could replace components, repair a driver like this one easily.