Here's the link to the Anduril2 for the modded SP40, with a FET+1 driver: google drive SP40
Let me know if it works, should be shared. It contains the .HEX file, as well as a ZIP file of the full source, configuration, and build files used. I use Atmel Studio 7 under Win 10.
The cfg file is as follows:
// Sofirn SP40 (rt. angle head) config options for Anduril 2
#define MODEL_NUMBER "0352" // Unique for this light, in MODELS listing
#include "hwdef-BLF_Q8.h" // same hardware as the Q8 (FET+1 with switch AUX LED)
// the button lights up
#define USE_INDICATOR_LED
// the button is visible while main LEDs are on
#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: high (2)
// lockout: blinking (3)
#define INDICATOR_LED_DEFAULT_MODE ((3<<2) + 2)
//--------------------------------------------------------------------------------------------
// TE 2020-11-15: Use the Emisar D1 as a reference for the ramp settings and thermal settings
//--------------------------------------------------------------------------------------------
// ../../bin/level_calc.py 1 65 7135 1 0.8 150
// ... mixed with this:
// ../../bin/level_calc.py 2 150 7135 4 0.33 150 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,0,1,3,4,5,7,8,9,11,12,14,15,17,19,20,22,24,25,27,29,31,33,35,37,39,41,43,45,48,50,52,55,57,59,62,64,67,70,72,75,78,81,84,87,90,93,96,99,102,105,109,112,115,119,122,126,129,133,137,141,144,148,152,156,160,165,169,173,177,182,186,191,195,200,205,209,214,219,224,229,234,239,244,250,255
#define MAX_1x7135 65
#define HALFSPEED_LEVEL 14
#define QUARTERSPEED_LEVEL 6
#define RAMP_SMOOTH_FLOOR 1
#define RAMP_SMOOTH_CEIL 120
// 10, 28, 46, [65], 83, 101, 120
#define RAMP_DISCRETE_FLOOR 10
#define RAMP_DISCRETE_CEIL RAMP_SMOOTH_CEIL
#define RAMP_DISCRETE_STEPS 7
// safe limit ~50% power
#define SIMPLE_UI_FLOOR RAMP_DISCRETE_FLOOR
#define SIMPLE_UI_CEIL 120
#define SIMPLE_UI_STEPS 5
// stop panicking at ~75% power or ~1000 lm (use D1: D1 has a decent power-to-thermal-mass ratio)
#define THERM_FASTER_LEVEL (RAMP_SIZE*9/10) // throttle back faster when high
//---------------------------------------------------------------------------------------------
// TE - changes:
//---------------------------------------------------------------------------------------------
#undef DEFAULT_THERM_CEIL
#define DEFAULT_THERM_CEIL 55 // from 45 -> 65
#define MAX_THERM_CEIL 80 // from 70 -> 80
#define USE_2C_MAX_TURBO
// Make standard mode default, not Simple mode
#define SIMPLE_UI_ACTIVE 0