Help with custom anduril mod

Hello, I’m asking for someone to make me a custom anduril mod that I can flash to my lights. (D4V2,KR4,KR1) Basically I just want most strobe modes disabled, and one strobe mode modified. I can give more details with a PM. I will compensate you for your time. Thank you.

Removing the strobe modes is simple since its just a bunch of #undef statements. What’s the strobe modification you’re looking for?

It’s regarding the party mode strobe. I want the transition time slowed down between steps. I use it to monitor high speed machinery, and trying to find the sweet spot is difficult.

I’ve actually been trying to figure out the same thing. My first thought was adding a nice_delay_ms to the EV_click1_hold and EV_click2_hold loops in the strobe_state event, but I feel like that might interrupt the strobe interval as well? I’ll try out a build tonight and let you know unless someone chimes in with better advice here first.

Did you try your luck at it last night?

Yeah, it didn’t work. I put the nice_delay_ms in the increase loop but that seems to conflict with something that determines if the button is still being held down, so it goes to the dimmest mode and then when I release the button (or it gets to the top of the brightness) it reverts back to the OFF mode. Someone with a little more timing experience will have to chime in here with ideas.

I can help, but not sure if all you want is for the strobe to change frequency slower while you hold the button or what it is exactly that you meant. Slowing down the adjustment should be easy. Feel free to PM me

Edit: In case anyone else is interested, there's this:

if ((arg & 1) == 0) {

in strobe-modes.c twice (once for 1H and once for 2H), and this needs to be altered to trigger less often (default apparently is for every other tick, which would mean approx. 31 times a second). I'd probably do this:

if ((arg % STROBE_ADJUST_SPEED_DIV) == 0) {

and then just do a

#define STROBE_ADJUST_SPEED_DIV 2

in the config-default.h so it doesn't spit out an error for other lights and just define what you want the divider to be in the cfg file for the specific light you're working on.

Thanks for this, it’s perfect. I set this STROBE_ADJUST_SPEED_DIV to 31 and it does appear adjust the party strobe timing by 24 Hz every second.

It seems like the strobe timing could also be more nuanced by setting the value in strobe_delays smaller.

I’ll probably add a three clicks adjustment off to the the strobe adjustment divisor like the beacon interval adjust and save it into eeprom to make this more flexible.

nojump, when I have a chance to do this I’ll post a variant of this up at GitHub - vees/anduril-aux with some hex files if you want them.

Food for thought, you probably want to set STROBE_BRIGHTNESS to MAX_LVL since the default for at least the 3-channel D4Sv2 would be MAX_Nx7135 (because tactical strobe gets quite hot with FET). I'm not sure what it is for the KR4 driver but when there's only party strobe there's no harm in using the FET there as well.

Consider upgrading to Anduril 2. Everything is better there, it's more consistent (e.g. most configs are 7H and the config menu now lets you set individual values instead of cycling through them one-by-one) and it has more features.

Consider 1H or 2C to turn on the light normally, if OP wants 1C to go straight to party strobe.

Consider making 1C always go to party strobe but keeping the other strobe variants for fun, possibly making it so they can only be accessed when doing the standard 3H. That'd require setting a flag or somehow detecting that strobe mode was entered from off and not allowing 2C while in strobe mode (to avoid accidentally cycling through the other strobe modes). Also maybe only use MAX_LVL for party strobe and MAX_Nx7135 for tactical strobe to avoid overheating. Or eliminate tactical strobe but keep in candle mode and lightning mode. So many decision.

Consider making it so the ramp direction resets after only half a sec and not a whole sec. It's kinda annoying when you try to ramp up (or increase strobe speed in this case) some more and accidentally ramp down cause the ramp direction is still inverted from last time you pressed the button. Maybe I'm just impatient but half a sec was never too short when I actually wanted to ramp back down. It'd allow finding the right frequency faster if accidentally overshot.

Thank you both for your help with this!

Vees, let me know when you have a chance to post them!

Thank you again!