Blaster Pixel Styles

So I recently finished installing an A180 with a proffie v2.2. There is 1 neopixel at the end of the barrel(pin1) and 13 neopixels on the inner barrel (pin2)

Since the blade style editor doesn’t really show a good example of what I’m looking at when testing, does anyone have enough knowledge or would like to work with me to make a style that is white “wipe to tip” and fades red on the barrel and the tip flash white and fade red? I’m trying to simulate the look of the laser leaving the barrel.

I can’t answer your question but I’d love to see that once it’s all done! Jyn’s blaster is my favourite in the franchise!

1 Like

Here it is before I have the desired blade style.

3 Likes

Maybe if you explained a little clearer what you’re looking to see as the end result?
For example, in sequence, what happens?
And why would the Style Editor not work for seeing it?

So two things

I’m looking for the pixels on the barrel to wipe to tip as white, then follow closely wipe to red.

The barrel end (1 pixel) would flash white, then fade red.

I want to simulate the laser leaving the barrel and having the blast look explosive.

So something like this for the barrel?
StylePtr<TransitionEffectL<TrConcat<TrWipe<100>,White,TrWipe<100>,Red,TrWipe<200>>,EFFECT_BLAST>>()

And this for the tip?
StylePtr<TransitionEffectL<TrConcat<TrInstant,White,TrFade<200>,Red,TrFade<300>>,EFFECT_BLAST>>()

(Hit the BLAST button on the Editor page)

okay yes, these are the correct effects. I am getting an error when trying to load the config.

also I would like to keep the alternate mode of fire with the audio flicker <black, blue>

This is the error. thank you for your assistance thus far.

Arduino: 1.8.15 (Windows Store 1.8.49.0) (Windows 10), Board: “Proffieboard V2, Serial, SDCARD (SPI), 80 MHz, Smallest Code”

In file included from C:\Users\Jonathan Rossi\Desktop\ProffieOS\styles\fire.h:4:0,

             from C:\Users\Jonathan Rossi\Desktop\ProffieOS\ProffieOS.ino:379:

C:\Users\Jonathan Rossi\Desktop\ProffieOS\styles\style_ptr.h: In instantiation of ‘void Style::run(BladeBase*) [with T = TransitionEffectL<TrConcat<TrInstant, Rgb<255, 255, 255>, TrFadeX<Int<200> >, Rgb<255, 0, 0>, TrFadeX<Int<300> > >, (EffectType)2>]’:

C:\Users\Jonathan Rossi\Desktop\ProffieOS\ProffieOS.ino:1808:1: required from here

C:\Users\Jonathan Rossi\Desktop\ProffieOS\styles\style_ptr.h:45:42: error: conversion from ‘RGBA_nod’ to non-scalar type ‘OverDriveColor’ requested

   OverDriveColor c = base_.getColor(i);

                                      ^

C:\Users\Jonathan Rossi\Desktop\ProffieOS\styles\style_ptr.h: In instantiation of ‘void Style::run(BladeBase*) [with T = TransitionEffectL<TrConcat<TrWipeX<Int<100> >, Rgb<255, 255, 255>, TrWipeX<Int<100> >, Rgb<255, 0, 0>, TrWipeX<Int<200> > >, (EffectType)2>]’:

C:\Users\Jonathan Rossi\Desktop\ProffieOS\ProffieOS.ino:1808:1: required from here

C:\Users\Jonathan Rossi\Desktop\ProffieOS\styles\style_ptr.h:45:42: error: conversion from ‘RGBA_nod’ to non-scalar type ‘OverDriveColor’ requested

exit status 1

Error compiling for board Proffieboard V2.

This report would have more information with
“Show verbose output during compilation”
option enabled in File → Preferences.

Well that can’t be the ONLY layer. The base layer can’t be a transparent one, so you probably want to add Black under that one.
So:

StylePtr<Layers<Black,TransitionEffectL<TrConcat<TrWipe<100>,White,TrWipe<100>,Red,TrWipe<200>>,EFFECT_BLAST>>>()```

Do the same for the tip style.

Okay, I changed it to “EFFECT_FIRE” and it works. if i were to add in the code for the stun, were would that go?

Well it’s going to depend on your prop file. If you’re using an actual blaster prop, then it wouldn’t be EFFECT_BLAST :wink:
I just made something you could see in the style editor.

EDIT yes, correct.
Stun would be same sort of thing, just another layer in the style. Maybe a different animation and color? That’s what I’d go for.

Something like:

StylePtr<Layers<
Black,
TransitionEffectL<TrConcat<TrWipe<100>,White,TrWipe<100>,Red,TrWipe<200>>,EFFECT_FIRE>,
TransitionEffectL<TrConcat<TrWipe<100>,DeepSkyBlue,TrWipe<100>,Blinking<Black,Blue,100,500>,TrWipe<200>>,EFFECT_STUN>
>>()

And for the tip:

StylePtr<Layers<
Black,
TransitionEffectL<TrConcat<TrDelay<100>,White,TrFade<200>,Red,TrFade<300>>,EFFECT_FIRE>,
TransitionEffectL<TrConcat<TrDelay<100>,DeepSkyBlue,TrFade<200>,Blinking<Black,Blue,100,500>,TrFade<300>>,EFFECT_STUN>
>>()

Timed the tip to light up when the blast reaches the tip of the barrel :wink:

error compiling :sweat_smile: :point_right: :point_left:
Arduino: 1.8.15 (Windows Store 1.8.49.0) (Windows 10), Board: “Proffieboard V2, Serial, SDCARD (SPI), 80 MHz, Smallest Code”

In file included from C:\Users\Jonathan Rossi\Desktop\ProffieOS\ProffieOS.ino:582:0:

C:\Users\Jonathan Rossi\Desktop\ProffieOS\config\default_proffieboard_config.h:57:159: error: expected primary-expression before ‘)’ token

StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,Red>,250,EFFECT_FIRE>,AudioFlicker<Black,Red>,1500,EFFECT_STUN>,AudioFlicker<Black,Red>>>>(),

                                                                                                                                                           ^

exit status 1

Error compiling for board Proffieboard V2.

This report would have more information with
“Show verbose output during compilation”
option enabled in File → Preferences.

You have an errant comma, brace or bracket.
You should post the whole config if it’s not just the elements I posted.

{ “A180”, “tracks/medley1.wav”,

StylePtr<Layers<Black,TransitionEffectL<TrConcat<TrWipe<100>,White,TrWipe<100>,Red,TrWipe<200>>,EFFECT_FIRE>,TransitionEffectL<TrConcat<TrWipe<100>,DeepSkyBlue,TrWipe<100>,Blinking<Black,Blue,100,500>,TrWipe<200>>,EFFECT_STUN>>>(),

StylePtr<Layers<Black,TransitionEffectL<TrConcat<TrInstant,White,TrFade<200>,Red,TrFade<300>>,EFFECT_FIRE>,TransitionEffectL<TrConcat<TrInstant,DeepSkyBlue,TrFade<200>,Blinking<Black,Blue,100,500>,TrFade<300>>,EFFECT_STUN>>>(),

},

Really hard to tell from that post.
Are you actually editing default_proffieboard_config.h?
Where’s the rest of the file?
Are those quotation marks actually fancy unicode slanted versions or did The Crucible just do that to your post?
Type 3 backticks (`) then paste your whole config, then close with 3 backticks.

everything is edited in note pad, all the fancy is Crucible changing it.

yes I’m just lazily editing the default config.

here is everything

#ifdef CONFIG_TOP

#include “proffieboard_v2_config.h”

#define NUM_BLADES 2

#define NUM_BUTTONS 2

#define VOLUME 2000

const unsigned int maxLedsPerStrip = 144;

#define CLASH_THRESHOLD_G 1.0

#define ENABLE_AUDIO

#define ENABLE_WS2811

#define ENABLE_SD

#define DELAYED_OFF

#define ENABLE_BLASTER_AUTO

#endif

#ifdef CONFIG_PROP

#include “…/props/blaster.h”

#endif

#ifdef CONFIG_PRESETS

Preset presets[] = {

// Custom Wipe to tip blast

{ “A180”, “tracks/medley1.wav”,

StylePtr<Layers<
Black,
TransitionEffectL<TrConcat<TrWipe<100>,White,TrWipe<100>,Red,TrWipe<200>>,EFFECT_FIRE>,
TransitionEffectL<TrConcat<TrWipe<100>,DeepSkyBlue,TrWipe<100>,Blinking<Black,Blue,100,500>,TrWipe<200>>,EFFECT_STUN>

(),

StylePtr<Layers<
Black,
TransitionEffectL<TrConcat<TrDelay<100>,White,TrFade<200>,Red,TrFade<300>>,EFFECT_FIRE>,
TransitionEffectL<TrConcat<TrDelay<100>,DeepSkyBlue,TrFade<200>,Blinking<Black,Blue,100,500>,TrFade<300>>,EFFECT_STUN>

(),
},

{ “DL44”, “tracks/medley1.wav”,

StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,Red>,250,EFFECT_FIRE>,AudioFlicker<Black,Red>,1500,EFFECT_STUN>,AudioFlicker<Black,Red>>>(),

StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,Red>,250,EFFECT_FIRE>,AudioFlicker<Black,Red>,1500,EFFECT_STUN>,AudioFlicker<Black,Red>>>>(),

},

{ “Westar”, “tracks/medley1.wav”,

StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,DarkOrange>,250,EFFECT_FIRE>,AudioFlicker<Black,Green>,1500,EFFECT_STUN>,AudioFlicker<Black,Red>>>(),

StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,DarkOrange>,250,EFFECT_FIRE>,AudioFlicker<Black,Green>,1500,EFFECT_STUN>,AudioFlicker<Black,Red>>>(),
},

};

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

#endif

#ifdef CONFIG_BUTTONS

Button FireButton(BUTTON_FIRE, powerButtonPin, “fire”);

Button ModeButton(BUTTON_MODE_SELECT, auxPin, “modeselect”);

#endif

ok but if you did the backticks thing that would have showed up as friendly copyable code

like this

Screen Shot 2021-07-03 at 8.21.46 PM

Does #include “…/props/blaster.h” really have 3 dots ? Should be 2.

Maybe a Crucible formatting thing, but the styles that I did lost a pair of closing >> before the ending (). All the quotes are fancy too.
DL44 second style has an extra closing > at the end.

Second blade doesn’t have any PowerPINS declared.

#define DELAYED_OFF is a thermal detonator thing…not sure why that’s there.

This compiles:

#ifdef CONFIG_TOP
#include "proffieboard_v2_config.h"
#define NUM_BLADES 2
#define NUM_BUTTONS 2
#define VOLUME 2000
const unsigned int maxLedsPerStrip = 144;
#define CLASH_THRESHOLD_G 1.0
#define ENABLE_AUDIO
#define ENABLE_WS2811
#define ENABLE_SD
#define DELAYED_OFF
#define ENABLE_BLASTER_AUTO
#endif

#ifdef CONFIG_PROP
#include "../props/blaster.h"
#endif

#ifdef CONFIG_PRESETS
Preset presets[] = {

// Custom Wipe to tip blast

{ "A180", "tracks/medley1.wav",
StylePtr<Layers<
Black,
TransitionEffectL<TrConcat<TrWipe<100>,White,TrWipe<100>,Red,TrWipe<200>>,EFFECT_FIRE>,
TransitionEffectL<TrConcat<TrWipe<100>,DeepSkyBlue,TrWipe<100>,Blinking<Black,Blue,100,500>,TrWipe<200>>,EFFECT_STUN>>>(),

StylePtr<Layers<
Black,
TransitionEffectL<TrConcat<TrDelay<100>,White,TrFade<200>,Red,TrFade<300>>,EFFECT_FIRE>,
TransitionEffectL<TrConcat<TrDelay<100>,DeepSkyBlue,TrFade<200>,Blinking<Black,Blue,100,500>,TrFade<300>>,EFFECT_STUN>>>(),
},

{ "DL44", "tracks/medley1.wav",

StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,Red>,250,EFFECT_FIRE>,AudioFlicker<Black,Red>,1500,EFFECT_STUN>,AudioFlicker<Black,Red>>>(),

StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,Red>,250,EFFECT_FIRE>,AudioFlicker<Black,Red>,1500,EFFECT_STUN>,AudioFlicker<Black,Red>>>()},

{ "Westar", "tracks/medley1.wav",

StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,DarkOrange>,250,EFFECT_FIRE>,AudioFlicker<Black,Green>,1500,EFFECT_STUN>,AudioFlicker<Black,Red>>>(),

StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,DarkOrange>,250,EFFECT_FIRE>,AudioFlicker<Black,Green>,1500,EFFECT_STUN>,AudioFlicker<Black,Red>>>()},
};

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

#endif

#ifdef CONFIG_BUTTONS
Button FireButton(BUTTON_FIRE, powerButtonPin, "fire");
Button ModeButton(BUTTON_MODE_SELECT, auxPin, "modeselect");

#endif

Ty!!

This worked, I’ll post video soon. Thank you for holding my hand :joy: I’ll make sure I credit you in my post! Are you on Instagram or TikTok?

It’s just me, Brian Conner.
Actually just renamed insta to nosloppy_ from nyquist747.