Blaster build proffieboard V2

Iam making a stormtrooper blaster. I just want to do a 3 blade neopixle wiring job. I have no idea how to do the blade presets. I know you just wire it up like a regular saber. If someone can help with that, it would be awesome. New territory for me. I heard that the proffieboard v2 would be good for that.

It would help if you had some specific details on what you want to do, because “just wire it up like a regular saber” is pretty much correct.
Have you wired a saber before? Or used a Proffieboard at all yet?

Yes. Many. One blade, tri blade etc. Crystal chambers. I am not sure how the programing would be because a blade stays light, but a blaster would just be on then off right away. The wireing i could do one led in the center . Leds on bolth sides showing thru. So id wire it like a tri blade. I would use all neopixles for the project.

The key to your understanding might be the prop file. That’s what controls what the buttons do (and even what they’re called).
A blaster prop differs from a saber prop in that (typically) it’s just always “on” (like the blade is running, saber is on etc…)
The lighting effects are all about the blade style. In essence, you have a “blade” running with a black base color, then pulling the trigger does EFFECT_FIRE, which you just make a blade style to your liking for that event.
For example, I have a DL44 with just a 9x1515 pixels in the muzzle.
I use the blade style below for it. (if you click the style below, it’ll take you to the current official style editor page, where (even though it shows a saber) you can choose the “Select more effects” dropdown, pick a blaster effect (FIRE, STUN) and the click “Do Selected Effect” to see the animation.

It’s just basic pew-pew.

StylePtr<Layers<
  Black,
  TransitionEffectL<TrConcat<TrDelay<100>,Red,TrFade<200>,Black,TrFade<300>>,EFFECT_FIRE>,
  TransitionEffectL<TrConcat<TrDelay<100>,DeepSkyBlue,TrFade<200>,Blinking<Black,Blue,100,500>,TrFade<300>>,EFFECT_STUN>,
  LockupTrL<TransitionLoopL<TrConcat<TrInstant,White,TrFade<50>,Red,TrFade<150>>>,TrInstant,TrConcat<TrInstant,Rgb<50,0,0>,TrFade<400>>,SaberBase::LOCKUP_AUTOFIRE>,
  TransitionEffectL<TrConcat<TrExtend<1000,TrFade<250>>,Mix<BatteryLevel,Red,Green>,TrFade<1000>>,EFFECT_BATTERY_LEVEL>>>()

I use the blaster_BC_buttons.h prop file.

Ok ya ill start there. Might not get to it till the weekend. Very much appreciated. I have quite a few sabers so iam wanting to expand. Thankyou.

I like to use OS6 it seems to be my thing. Will this be fine?

Works on any OS. Well since layers came around and up.

How about the sd card sound font? Obviously i really dont use clash of lightning block. Is the a spicific way to do the font. I know what to do useing saber.

How about the prop file? If you can point me to that as well, would be awesome.

Prop file is in ProffieOS/props folder.
For a font, you can use this and/or get an idea of blaster font sounds.
https://www.dropbox.com/scl/fo/blpnirl6cl85k81n38z48/AK1qJHBOp4z2FqiS7F6cSHU?rlkey=lcf1g9zdk5ykx6puojq3b869j&st=9ieg9813&dl=0

Also this:

There are two:
blaster.h & blaster_BC_buttons.h


/****** CONFIG_TOP blaster defines  ****/
#ifdef CONFIG_TOP

#include "proffieboard_v2_config.h"
#define NUM_BLADES 3
#define NUM_BUTTONS 2   // First button is fire, second adds Mode Select and third is either Power or Clip Detect.
                        // As always, you have to add them in `CONFIG_BUTTONS`.
const unsigned int maxLedsPerStrip = 144;
#define CLASH_THRESHOLD_G 2.0         //Affects the shaking for unjamming your weapon.
#define VOLUME 1500
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define ENABLE_SD
#define ENABLE_BLASTER_AUTO          // If you desire to enable AUTO mode.
#define BLASTER_SHOTS_UNTIL_EMPTY 15 // The capacity of your weapons rounds.
#define BLASTER_JAM_PERCENTAGE 1     //  0-100. If not defined, random.
#define ENABLE_SSD1306		           //To enable OLED

#endif

/****** CONFIG_PROP blaster defines  ****/
#ifdef CONFIG_PROP

#include "../props/blaster.h"

#endif

/****** CONFIG_PROP blaster defines  ****/
#ifdef CONFIG_PRESETS

Preset presets[] = {
// Default basic blast color with red audio flicker on blast
{ "E-11", "tracks/mars.wav",
  StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,Red>,250,EFFECT_FIRE>,AudioFlicker<Black,Blue>,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>>>() },
  "E-11" },
{ "E-11D", "tracks/EzraTheme.wav",
  StylePtr<Layers<AudioFlicker<RotateColorsX<Variation,Blue>,RotateColorsX<Variation,Rgb<0,0,128>>>,BlastL<White>, InOutTrL<TrInstant,TrFade<300>,Pulsing<RotateColorsX<Variation,Blue>,RotateColorsX<Variation,Rgb<0,0,10>>,3000>>>>(),
  StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,Red>,250,EFFECT_FIRE>,AudioFlicker<Black,Red>,1500,EFFECT_STUN>,AudioFlicker<Black,Red>>>() },
  "E-11D" }
;

BladeConfig blades[] = {
 
{ 0, WS281XBladePtr<144, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(),
       WS281XBladePtr<20, blade2Pin,Color8::GRB, PowerPINS< bladePowerPin4> >(),
       WS281XBladePtr<1, blade3Pin,Color8::GRB, PowerPINS< bladePowerPin5> >(),
       

  CONFIGARRAY(presets) },
};

#endif

#ifdef CONFIG_BUTTONS
Button FireButton(BUTTON_FIRE, powerButtonPin, "fire");
Button ModeButton(BUTTON_MODE_SELECT, auxPin, "modeselect");
//Button PowerButton(BUTTON_POWER, aux2Pin, "power"); //A third button to power on/off your weapon
//Button PowerButton(BUTTON_CLIP_DETECT, aux2Pin, "clip"); //A third button is a clip sensor. It should be closed when the clip is in, and open when the clip is removed. 
#endif

This is what i found on Github. I am useing power pins 2 and 3 for power pins for the rail sides of the blaster. A led ring using power pin 4 data 2. 1 led as a extra detail on powerpin 5 using data 3.

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

In file included from C:\Users\duart\OneDrive\Desktop\ProffieOS\ProffieOS.ino:621:
C:\Users\duart\OneDrive\Desktop\ProffieOS\config\benoblaster1_config.h:38:1: error: expected unqualified-id before ‘{’ token
38 | { “E-11D”, “tracks/EzraTheme.wav”,
| ^
C:\Users\duart\OneDrive\Desktop\ProffieOS\config\benoblaster1_config.h:40:163: error: expected unqualified-id before ‘,’ token
40 | StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,Red>,250,EFFECT_FIRE>,AudioFlicker<Black,Red>,1500,EFFECT_STUN>,AudioFlicker<Black,Red>>>() },
| ^
C:\Users\duart\OneDrive\Desktop\ProffieOS\config\benoblaster1_config.h:41:3: error: expected unqualified-id before string constant
41 | “E-11D” }
| ^~~~~~~
C:\Users\duart\OneDrive\Desktop\ProffieOS\config\benoblaster1_config.h:41:11: error: expected declaration before ‘}’ token
41 | “E-11D” }
| ^
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.

This is the one i went with i had changed the first one. Iam really in the weeds here maybe. How does it look.

line 36 & line 41
delete the “}” at the end

edit: but keep the comma “,”

/****** CONFIG_TOP blaster defines ****/#ifdef CONFIG_TOP#include "proffi - Pastebin.com

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

In file included from C:\Users\duart\OneDrive\Desktop\ProffieOS\ProffieOS.ino:621:
C:\Users\duart\OneDrive\Desktop\ProffieOS\config\benoblaster1_config.h:49:13: error: expected primary-expression before ‘blades’
49 | BladeConfig blades = {
| ^~~~~~
C:\Users\duart\OneDrive\Desktop\ProffieOS\config\benoblaster1_config.h:49:13: error: expected ‘}’ before ‘blades’
In file included from C:\Users\duart\OneDrive\Desktop\ProffieOS\ProffieOS.ino:621:
C:\Users\duart\OneDrive\Desktop\ProffieOS\config\benoblaster1_config.h:32:20: note: to match this ‘{’
32 | Preset presets = {
| ^
In file included from C:\Users\duart\OneDrive\Desktop\ProffieOS\ProffieOS.ino:240:
C:\Users\duart\OneDrive\Desktop\ProffieOS\props\prop_base.h: In member function ‘size_t PropBase::FindBestConfig()’:
C:\Users\duart\OneDrive\Desktop\ProffieOS\props\prop_base.h:567:25: error: ‘blades’ was not declared in this scope; did you mean ‘bladePin’?
567 | static_assert(NELEM(blades) > 0, “blades array cannot be empty”);
| ^~~~~~
C:\Users\duart\OneDrive\Desktop\ProffieOS\common\common.h:18:26: note: in definition of macro ‘NELEM’
18 | #define NELEM(X) (sizeof(X)/sizeof((X)[0]))
| ^
In file included from C:\Users\duart\OneDrive\Desktop\ProffieOS\props\blaster.h:34,
from C:\Users\duart\OneDrive\Desktop\ProffieOS\config\benoblaster1_config.h:25,
from C:\Users\duart\OneDrive\Desktop\ProffieOS\ProffieOS.ino:625:
C:\Users\duart\OneDrive\Desktop\ProffieOS\props\prop_base.h: In member function ‘void PropBase::FindBlade()’:
C:\Users\duart\OneDrive\Desktop\ProffieOS\props\prop_base.h:622:22: error: ‘blades’ was not declared in this scope; did you mean ‘bladePin’?
622 | current_config = blades + best_config;
| ^~~~~~
| bladePin
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.

See anything else.