Anduril 2 feature change suggestions

In obedience of Anduril’s licence (GPL), here are the sources for my patches (against rev.642 on the anduril2 branch):

#1: 642-DONT_USE_BUTTON_LED_WHILE_ON.diff:

--- ./642/~toykeeper/flashlight-firmware/anduril2/ToyKeeper/spaghetti-monster/anduril/anduril.c.orig-2023090901 2021-01-25 02:21:06.000000000 -0300
+++ ./642/~toykeeper/flashlight-firmware/anduril2/ToyKeeper/spaghetti-monster/anduril/anduril.c 2023-09-09 17:09:02.906883996 -0300
@@ -270,6 +270,11 @@
     if (! setting_rgb_mode_now) rgb_led_voltage_readout(1);
     #endif
 
+    #if defined(USE_BUTTON_LED) && defined(DONT_USE_BUTTON_LED_WHILE_ON)
+    // turn button led off while the flashlight is on
+    button_led_set(0);
+    #endif
+
     if (0) {}  // placeholder
 
     #ifdef USE_VERSION_CHECK
--- ./642/~toykeeper/flashlight-firmware/anduril2/ToyKeeper/spaghetti-monster/anduril/cfg-emisar-d4sv2-tintramp.h.orig-2023090901       2021-10-31 06:19:13.000000000 -0300
+++ ./642/~toykeeper/flashlight-firmware/anduril2/ToyKeeper/spaghetti-monster/anduril/cfg-emisar-d4sv2-tintramp.h       2023-09-09 17:09:49.100193496 -0300
@@ -9,6 +9,8 @@
 // the aux LEDs are front-facing, so turn them off while main LEDs are on
 // it also has an independent LED in the button
 #define USE_BUTTON_LED
+#define DONT_USE_BUTTON_LED_WHILE_ON   //turn button LED off when the flashlight is on
+
 // TODO: the whole "indicator LED" thing needs to be refactored into
 //       "aux LED(s)" and "button LED(s)" since they work a bit differently
 // enabling this option breaks the button LED on D4v2.5

#2: 642-DONT_BLINK_AT_RAMP_CEIL.diff

--- 642/~toykeeper/flashlight-firmware/anduril2/ToyKeeper/spaghetti-monster/anduril/cfg-emisar-d4sv2-tintramp.h.orig-2023090902 2021-10-31 06:19:13.000000000 -0300
+++ 642/~toykeeper/flashlight-firmware/anduril2/ToyKeeper/spaghetti-monster/anduril/cfg-emisar-d4sv2-tintramp.h 2023-09-09 17:20:33.786628035 -0300
@@ -16,6 +16,8 @@
 #undef USE_INDICATOR_LED_WHILE_RAMPING
 #endif
 
+#undef BLINK_AT_RAMP_CEIL      //Do NOT blink at ramp ceil
+
 // has two channels of independent LEDs
 #define USE_TINT_RAMPING
 // how much to increase total brightness at middle tint

See above: you are right about #2. For #1, I looked for but wasn’t able to find an existing #define, so I created my own.

#3 is being way more work than I expected because there were a lot of changes in the parts of Anduril code it depends on, between the multi-channel branch where I implemented it first, and the anduril2 branch which we’re working on for @jon_slider’s D2, so I’m still working on it.

1 Thank

I do have one. But the FC13 switch LEDs are treated in Anduril as RGB_AUX_LEDs, not BUTTON_LEDs like the one in the D2 switch – so, different parts of the code.

Sure! Here’s the complete patch for the latest version: 721-8C_quick_aux_switch_-_20230616.diff · GitHub
(Originally posted here in BLF at: Anduril 2 feature change suggestions - #423 by dmenezes)

Please freel free to :slight_smile: I’m actually very pleased people find it useful! :+1:

1 Thank

Finally finished it, here’s the tested and working hex: http://www.durval.com/xfer-only/anduril.emisar-d4sv2-tintramp_-_DONT_USE_BUTTON_LED_WHILE_ON_+_DONT_BLINK_AT_RAMP_CEIL_+_8C_QUICK_AUX_SWITCH_-_2023090904.zip

And the patch source:
#3: 642-8C_QUICK_AUX_SWITCH.diff

--- 642/~toykeeper/flashlight-firmware/anduril2/ToyKeeper/spaghetti-monster/anduril/off-mode.c.orig-2023090904  2021-09-01 00:07:45.000000000 -0400
+++ 642/~toykeeper/flashlight-firmware/anduril2/ToyKeeper/spaghetti-monster/anduril/off-mode.c  2023-09-10 14:06:07.362758269 -0300
@@ -318,6 +318,49 @@
     }
     #endif  // end 7 clicks
 
+    #ifdef USE_QUICK_AUX_SWITCH
+        #ifdef USE_INDICATOR_LED
+        // 8 clicks: if indicator LEDs (aka "aux LEDs") are not off, change them to off; if they're already off, change them to low
+        //  See: https://budgetlightforum.com/t/anduril-2-feature-change-suggestions/218045/145
+        else if (event == EV_8clicks) {
+            uint8_t mode = (indicator_led_mode & 3);
+            uint8_t previous_mode = (previous_indicator_led_mode & 3);
+            if (mode) {
+                previous_mode = mode;
+                mode = 0;
+           } else {
+                mode = previous_mode;
+                previous_mode = 0;
+            }
+            indicator_led_mode = (indicator_led_mode & 0b11111100) | mode;
+            previous_indicator_led_mode = (previous_indicator_led_mode & 0b11111100) | previous_mode;
+            // redundant, sleep tick does the same thing
+            //indicator_led_update(indicator_led_mode & 0x03, arg);
+            save_config();
+            return MISCHIEF_MANAGED;
+        }
+        #elif defined(USE_AUX_RGB_LEDS)
+        // 8 clicks: if RGB aux LED pattern is not off, change it to off; if it's already off, change it to low
+        else if (event == EV_8clicks) {
+            uint8_t mode = (rgb_led_off_mode >> 4);
+            uint8_t previous_mode = (previous_rgb_led_off_mode >> 4);
+            if (mode) {
+                previous_mode = mode;
+                mode = 0;
+            } else {
+                mode = previous_mode;
+                previous_mode = 0;
+            }
+            rgb_led_off_mode = (mode << 4) | (rgb_led_off_mode & 0x0f);
+            previous_rgb_led_off_mode = (previous_mode << 4) | (previous_rgb_led_off_mode & 0x0f);
+            rgb_led_update(rgb_led_off_mode, 0);
+            save_config();
+            blink_once();
+            return MISCHIEF_MANAGED;
+        }
+        #endif  // end 8 clicks
+    #endif
+
     #ifdef USE_GLOBALS_CONFIG
     // 9 clicks, but hold last click: configure misc global settings
     else if ((event == EV_click9_hold) && (!arg)) {
--- 642/~toykeeper/flashlight-firmware/anduril2/ToyKeeper/spaghetti-monster/anduril/load-save-config.c.orig-2023090904  2021-11-03 07:16:05.000000000 -0300
+++ 642/~toykeeper/flashlight-firmware/anduril2/ToyKeeper/spaghetti-monster/anduril/load-save-config.c  2023-09-10 14:07:11.145032045 -0300
@@ -95,6 +95,15 @@
         #ifdef USE_AUTOLOCK
         autolock_time = eeprom[autolock_time_e];
         #endif
+        #ifdef USE_QUICK_AUX_SWITCH
+            #ifdef USE_INDICATOR_LED
+                previous_indicator_led_off_mode = eeprom[previous_indicator_led_off_mode_e];
+            #endif
+            #ifdef USE_AUX_RGB_LEDS
+                previous_rgb_led_off_mode = eeprom[previous_rgb_led_off_mode_e];
+                previous_rgb_led_lockout_mode = eeprom[previous_rgb_led_lockout_mode_e];
+            #endif
+        #endif
     }
     #ifdef START_AT_MEMORIZED_LEVEL
     if (load_eeprom_wl()) {
@@ -174,6 +183,15 @@
     #ifdef USE_AUTOLOCK
     eeprom[autolock_time_e] = autolock_time;
     #endif
+    #ifdef USE_QUICK_AUX_SWITCH
+        #ifdef USE_INDICATOR_LED
+            eeprom[previous_indicator_led_off_mode_e] = previous_indicator_led_off_mode;
+        #endif
+        #ifdef USE_AUX_RGB_LEDS
+            eeprom[previous_rgb_led_off_mode_e] = previous_rgb_led_off_mode;
+            eeprom[previous_rgb_led_lockout_mode_e] = previous_rgb_led_lockout_mode;
+        #endif
+    #endif
 
     save_eeprom();
 }
--- 642/~toykeeper/flashlight-firmware/anduril2/ToyKeeper/spaghetti-monster/anduril/lockout-mode.c.orig-2023090904      2021-12-13 19:19:19.000000000 -0300
+++ 642/~toykeeper/flashlight-firmware/anduril2/ToyKeeper/spaghetti-monster/anduril/lockout-mode.c      2023-09-10 14:02:23.150724506 -0300
@@ -187,6 +187,49 @@
     }
     #endif
 
+    #ifdef USE_QUICK_AUX_SWITCH
+         #if defined(USE_INDICATOR_LED)
+         // 8 clicks: if indicator LEDs (aka "aux LEDs") mode is not off, save it and change it to off; if it's already off, change it back to saved
+         //  See: https://budgetlightforum.com/t/anduril-2-feature-change-suggestions/218045/145
+         else if (event == EV_8clicks) {
+             uint8_t mode = indicator_led_mode >> 2;
+                uint8_t previous_mode = previous_indicator_led_mode >> 2;
+             if (mode) {
+                 previous_mode = mode;
+                 mode = 0;
+             } else {
+                 mode = previous_mode;
+                 previous_mode = 0;
+             }
+             indicator_led_mode = (mode << 2) + (indicator_led_mode & 0x03);
+             previous_indicator_led_mode = (previous_mode << 2) + (previous_indicator_led_mode & 0x03);
+             // redundant, sleep tick does the same thing
+             //indicator_led_update(indicator_led_mode >> 2, arg);
+             save_config();
+             return MISCHIEF_MANAGED;
+         }
+         #elif defined(USE_AUX_RGB_LEDS)
+         // 8 clicks: if RGB aux LED pattern mode is not off, save it and change it to off; if it's already off, change it back to saved
+         else if (event == EV_8clicks) {
+             uint8_t mode = (rgb_led_lockout_mode >> 4);
+             uint8_t previous_mode = (previous_rgb_led_lockout_mode >> 4);
+             if (mode) {
+                 previous_mode = mode;
+                 mode = 0;
+             } else {
+                 mode = previous_mode;
+                 previous_mode = 0;
+             }
+             rgb_led_lockout_mode = (mode << 4) | (rgb_led_lockout_mode & 0x0f);
+             previous_rgb_led_lockout_mode = (previous_mode << 4) | (previous_rgb_led_lockout_mode & 0x0f);
+             rgb_led_update(rgb_led_lockout_mode, 0);
+             save_config();
+             blink_once();
+             return MISCHIEF_MANAGED;
+         }
+         #endif // end 8 clicks
+     #endif
+
     return EVENT_NOT_HANDLED;
 }
 
--- 642/~toykeeper/flashlight-firmware/anduril2/ToyKeeper/spaghetti-monster/anduril/aux-leds.h.orig-2023090904  2021-04-14 02:09:23.000000000 -0400
+++ 642/~toykeeper/flashlight-firmware/anduril2/ToyKeeper/spaghetti-monster/anduril/aux-leds.h  2023-09-10 13:57:28.340059657 -0300
@@ -83,5 +83,14 @@
     #endif
 #endif
 
+#ifdef USE_QUICK_AUX_SWITCH
+  #ifdef USE_INDICATOR_LED
+          uint8_t previous_indicator_led_mode = ~INDICATOR_LED_DEFAULT_MODE;
+  #endif
+#endif
 
 #endif
--- 642/~toykeeper/flashlight-firmware/anduril2/ToyKeeper/spaghetti-monster/anduril/load-save-config-fsm.h.orig-2023090904      2021-11-03 07:16:05.000000000 -0300
+++ 642/~toykeeper/flashlight-firmware/anduril2/ToyKeeper/spaghetti-monster/anduril/load-save-config-fsm.h      2023-09-09 18:00:25.047904773 -0300
@@ -95,6 +95,11 @@
     #ifdef USE_AUTOLOCK
     autolock_time_e,
     #endif
+    #ifdef USE_QUICK_AUX_SWITCH
+    previous_indicator_led_mode_e,
+    previous_rgb_led_off_mode_e,
+    previous_rgb_led_lockout_mode_e,
+    #endif
     eeprom_indexes_e_END
 } eeprom_indexes_e;
 #define EEPROM_BYTES eeprom_indexes_e_END
--- 642/~toykeeper/flashlight-firmware/anduril2/ToyKeeper/spaghetti-monster/anduril/config-default.h.orig-2023090904    2021-12-08 19:36:58.000000000 -0300
+++ 642/~toykeeper/flashlight-firmware/anduril2/ToyKeeper/spaghetti-monster/anduril/config-default.h    2023-09-09 17:49:37.215866774 -0300
@@ -194,4 +194,7 @@
 // those oscillations
 //#define USE_LOWPASS_WHILE_ASLEEP
 
+// enable quick switch to/from current aux mode to off
+#define USE_QUICK_AUX_SWITCH
+
 #endif

Thanks to @jon_slider for coming up with the idea, and for helping me with the testing.

I would just like to add that, to my great surprise, this last mod also worked first try despite its relative complexity.

This goes on to show what a great programmer @Toykeeper is, her code is so well-written that even being a relatively ignorant person (meaning, I know C well, and embedded programming relatively well, but very little flashlight electronics and even less Anduril internals) I was able to ‘parachute’ into her code and easily make these changes. Kudos to her! :+1: :+1: :+1:

2 Thanks

That was Fast!
I LOVE your new D2 Hex

Thanks to dmenezes my D2 now has the following upgrades:

  1. Button Light OFF when main LEDs are On
  2. No Blink at top of ramp
  3. 8C toggles Button and Aux lights On and Off

Outstanding!
Thank You!

2 Thanks

Heads-up to all of you interested in my 8C_Quick_Aux_Switch mod: I just refactored it for TK’s latest rev (767), please see my post on the other topic for all the HEXes, source code, etc: Anduril ... 2? - #1685 by dmenezes

Enjoy! :slight_smile:

1 Thank

This is a follow-up from my post in another topic: Wurkkos TS10 Ti (v2) much more aggressive thermal stepdown compared to regular TS10? - #45 by dmenezes

This is what has been working great for me so far, re: setting ceiling to 120 and disabling turbo:

#define RAMP_SMOOTH_CEIL     120
#define RAMP_DISCRETE_CEIL   RAMP_SMOOTH_CEIL
#define DEFAULT_2C_STYLE     0 // disable 2 click turbo

Interesting! I’ve never dabbled with that before, but I think you refer to this, right?
cfg-wurkkos-ts10.h

#define PWM1_LEVELS     1,   1,   2,   2,   3,   3,   4,   5,   6,   6,   8,   9,   9,  10,  10,  11,  12,  13,  14,  15,  16,  17,  18,  19,  19,  20,  21,  22,  23, 23, 24, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34, 35, 36, 37, 38, 40, 41, 43, 45, 47, 50, 53, 56, 60, 63, 67, 71, 75, 79, 84, 89, 94, 99,104,110,116,122,129,136,143,150,158,166,174,183,192,202,211,222,232,243,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,  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,  3,  5,  7,  8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 29, 31, 34, 37, 39, 42, 45, 48, 51, 54, 58, 61, 65, 68, 72, 76, 80, 84, 88, 93, 97,102,107,112,117,122,127,133,139,145,151,157,163,170,177,183,191,198,205,213,221,229,238,246,255
#define PWM_TOPS     4095,2893,3917,2806,3252,2703,2684,2660,2640,2370,3000,2900,2630,2549,2246,2193,2030,1961,1889,1716,1642,1569,1497,1428,1290,1232,1176,1122,1070,976,932,890,849,779,745,685,656,605,579,536,514,476,457,424,407,379,364,340,327,314,302,291,280,276,266,262,257,253,253,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,255,255,255,255,255,255

Given the TS10 is 1+FET, I presume PWM1_LEVELS refers to its single 7035 regulator, and PWM2_LEVELS refers to its FET, is that correct? In that case, what is PWM_TOPS for?

I apologize if I’m asking something obvious, but at least it wasn’t obvious to me after some grepping of the source tree and delving into some of the files that popped up (ramp-mode.c, ../fsm-ramping.c, ../../hwdef-wurkkos-ts10.c, ../../../bin/level_calc.py among others). If there are other files (or forum topics, or blog posts, etc) that I should consult in order to make more sense of these tables, I will be much obliged if someone can point them to me.

TIA!

Here’s TK’s latest and greatest rev. 812 with my 8C-Quick_Aux_Swap mod, all the hexes that build(*): http://durval.com/xfer-only/toykeeper_-_flashlight-firmware_-_multi-channel_-_rev_812-8C_quick_aux_switch_-_00ALL_HEXES_THAT_BUILD.zip

The exact same diff I already posted for rev.767 applied (with a few fuzzies, but no issues) so anyone interested can see the source code there.

(*) Flashlights with an AT85 don’t build because they don’t have enough flash memory to support TK’s latest changes plus my mod, but all the others are building.

There is FW3A Lume1 or I don’t see it?

According to TK’s MODELS file, there’s no fw3a-lume1, only fw3x-lume1:

0314 fw3x-lume1 attiny1634

The ones for fw3a make no reference to lume1:

0311    fw3a                            attiny85
0312    fw3a-219                        attiny85
0313    fw3a-nofet                      attiny85

Does your FW3A blink one of these 3 model codes? If yes, perhaps we can get it to compile by removing some Anduril feature you don’t use, like SIMPLE_UI.

Please tell me how you want to proceed.

Moreover, I checked and fw3x-lume1 is not building in TK’s pristine rev 812 (ie, without my mod):

812/~toykeeper/flashlight-firmware/multi-channel/ToyKeeper/spaghetti-monster/anduril$ ../../../bin/build.sh 1634 anduril -DCFG_H=cfg-fw3x-lume1.h
avr-cpp -DCFG_H=cfg-fw3x-lume1.h -Wall -g -Os -mmcu=attiny1634 -C -std=gnu99 -fgnu89-inline -fwhole-program -DATTINY=1634 -I.. -I../.. -I../../.. -fshort-enums -B /home/normal/mnt_-_src_-_fl
ashlight/http_-_packs.download.atmel.com/Atmel.ATtiny_DFP.2.0.368/gcc/dev/attiny1634/ -I /home/normal/mnt_-_src_-_flashlight/http_-_packs.download.atmel.com/Atmel.ATtiny_DFP.2.0.368/include/
 -o foo.cpp anduril.c
avr-gcc -DCFG_H=cfg-fw3x-lume1.h -Wall -g -Os -mmcu=attiny1634 -c -std=gnu99 -fgnu89-inline -fwhole-program -DATTINY=1634 -I.. -I../.. -I../../.. -fshort-enums -B /home/normal/mnt_-_src_-_fl
ashlight/http_-_packs.download.atmel.com/Atmel.ATtiny_DFP.2.0.368/gcc/dev/attiny1634/ -I /home/normal/mnt_-_src_-_flashlight/http_-_packs.download.atmel.com/Atmel.ATtiny_DFP.2.0.368/include/
 -o anduril.o -c anduril.c
In file included from ../spaghetti-monster.h:29:0,
                 from anduril.c:77:
../fsm-ramping.h:103:15: error: unknown type name ‘PWM1_DATATYPE’
 PROGMEM const PWM1_DATATYPE pwm1_levels[] = { PWM1_LEVELS };
               ^
../fsm-ramping.h:106:15: error: unknown type name ‘PWM2_DATATYPE’
 PROGMEM const PWM2_DATATYPE pwm2_levels[] = { PWM2_LEVELS };
               ^
../fsm-misc.c: In function ‘blink_digit’:
../fsm-ramping.h:163:19: error: ‘RAMP_SIZE’ undeclared (first use in this function)
 #define MAX_LEVEL RAMP_SIZE
                   ^
../fsm-misc.h:18:35: note: in expansion of macro ‘MAX_LEVEL’
         #define BLINK_BRIGHTNESS (MAX_LEVEL/6)
                                   ^
../fsm-misc.c:46:19: note: in expansion of macro ‘BLINK_BRIGHTNESS’
         set_level(BLINK_BRIGHTNESS);
                   ^
../fsm-ramping.h:163:19: note: each undeclared identifier is reported only once for each function it appears in
 #define MAX_LEVEL RAMP_SIZE
                   ^
../fsm-misc.h:18:35: note: in expansion of macro ‘MAX_LEVEL’
         #define BLINK_BRIGHTNESS (MAX_LEVEL/6)
                                   ^
../fsm-misc.c:46:19: note: in expansion of macro ‘BLINK_BRIGHTNESS’
         set_level(BLINK_BRIGHTNESS);
                   ^
In file included from anduril.c:91:0:
load-save-config.h: At top level:
ramp-mode.h:31:26: error: ‘RAMP_SIZE’ undeclared here (not in a function)
 #define SIMPLE_UI_FLOOR (RAMP_SIZE*2/15)
                          ^
load-save-config.h:32:17: note: in expansion of macro ‘SIMPLE_UI_FLOOR’
                 SIMPLE_UI_FLOOR,
                 ^
In file included from ../spaghetti-monster.h:28:0,
                 from anduril.c:77:
../fsm-channels.h:36:9: warning: array ‘channels’ assumed to have one element
 Channel channels[];  // values are defined in the hwdef-*.c
         ^

I guess that’s because TK haven’t “ported it to the new API” or something. Tagging her in case she wants to comment. That was indeed the case, see my next post.

Just checked her raw commit logs and it seems that got fixed in rev.814:

814. By Selene ToyKeeper 17 hours ago

converted fw3x-lume1 to new API, I think
(needs testing on actual hardware, and ideally tweaking to improve performance)

So it seems she fixed it 2 revisions later and less than 1 day after I built my hexes… :slight_smile:

@Light_Veteran, is your light indeed a FW3X with the Lume1 driver? If yes, just say the word and I will try and build you an HEX with my 8C-Quick_Aux_Switch mod.

Ok I understand what happened. Don’t worry I’m in no hurry!:relieved:
Yes, is FW3A with lume1 and I have also an FW3X

Correct, is because Lume1 in the past was sell separately from FW3X with aux board so I grab one or two when was possible. So for my FW3A the correct firmware is FW3X-lume1

1 Thank

I will have it built, both for pristine rev 814 and for it plus my 8C-Quick_Aux_Switch mod. Please wait one.

1 Thank

As always thank for your time and kindness

1 Thank

It actually took almost 15mins :slight_smile: but here they are: https://durval.com/xfer-only/814+814-8C_quick_aux_switch.zip

Please let me know how it goes.

I set it now and the only thing do not work is aux channel in voltage reading.
Off—>3C = Voltage reading by main LEDs —>3C = Cycle from main LEDs to AUX for voltage reading.
So… OFF—>3C—>3C don’t work. Is not a problem for me but the correct way is to inform you

1 Thank

Thanks for the report, much appreciated!

I will have a look at it ASAP (probably tonight or tomorrow early morning, as I’m right now smack in the middle of one of these IRL situations… :expressionless: )

1 Thank

Just did a quick check with my TiTS10 which is running 812-8C_Quick_Aux_Switch and it works: 3C during voltage read blinking rotates between the aux LEDs (and all their possible aux colors on the TiTS10, given they’re RGB) and the main LEDs.

So that’s actually a bug, either in rev 814 or for the fw3x-lume1 (or both). I will investigate further and get back to you tonight or early tomorrow, please stand by.

1 Thank

Yes, I also try with TS10 and the only color available, work