Blinking lights when blade is off for 2 pixels in library

I have an 89sabers Anakin EP2 that has 2 pixels as accent that are wired as 1 single blade. I’ve been trying to find an option in the library that let me configure the 2 pixels individually when blade is off. However, the OFF behavior in the library doesn’t let me configure by the pixels

My strategy with the ON behavior (which matches the blade) is that I will use “split blade” style to configure each pixel as different colors and that worked just fine. Is there a way in the library to do the same with the OFF behavior? I don’t want the OFF behavior to match the ON behavior.

Just choose “Custom” under OFF behavior (for Accent or Crystal Blade type) and select the Option(s) you want. Blinking is at bottom of dropdown.

I have tried it before but it only allows blinking for both of the pixels (with the same color) and not individually (they’re only wired as 1 blade), that’s why I’m wondering if it’s even possible to modify the OFF state of each individual accents.

If they are wired together they will act the same. If they’re neopixels (serial) you can try a SubBlade, otherwise you’d need them wired independently.

As I mentioned above, I got around it by applying the “split blade(25/75) style” for the main blade (2 pixels), then just got the OFF behavior to align with the ON state which is the same as the main blade. That way I can change each color for the pixels quite easily, even for the OFF state.

Meaning changing color for each accent pixel is still possible even if they’re wired as a single blade, which I managed with the above method. I can live with that but just thought it’d be pretty nice if the OFF state pixels can also use the “split blade” style like that

Also it’s still me, I used a different account by mistake :slight_smile:

Post your BladeConfig, if Split Blade works you should be able to do SubBlade set up to control independently.

config.txt (8.5 KB)

Here it is, only 1 sample preset

You can separate those pixels with SubBlade by changing:

BladeConfig blades[] = {
{ 0,
  WS281XBladePtr<128, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(),
  WS281XBladePtr<2, blade2Pin, Color8::GRB, PowerPINS<bladePowerPin4, bladePowerPin5> >(),
  CONFIGARRAY(presets) },
};


to:

BladeConfig blades[] = {
{ 0,
  WS281XBladePtr<128, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(),
  SubBlade(0,0, WS281XBladePtr<2, blade2Pin, Color8::GRB, PowerPINS<bladePowerPin4, bladePowerPin5> >()),
  SubBlade(1, 1, NULL),
  CONFIGARRAY(presets) },
};

Then change NUM_BLADES at top of config to 3 and you’ll need 3 styles per preset. This will let the accents each have a unique style in the preset to be whatever you want.

The first style will be your Main Blade (same as before), the 2nd style will be the first pixel and the 3rd style will be the 2nd pixel in each preset.

1 Like

Got it, I’ll try it out

Also this didn’t compile until I changed it to

BladeConfig blades[] = {

But it worked, the individual pixels reacted to the two different styles. I’ll mess around with it some more to get the right result

Sorry, typo. Glad to hear.