Hi all,
Brand new here and obviously a noob to Proffie!
I am building my first saber and I have a V3.9 board ready to go.
I am keeping it as simple as possible!
Illuminated PCB from TCSS.
2 anti vandal illuminated switches.
Speaker.
Custom quad core blade that I made with 117 Leds per strip.
I used the config generator on Frank’s site to start and ran into a compilation error related to the button config section. “Power” and “aux” not defined.
This is what Frank’s generator gave me:
#ifdef CONFIG_TOP
#include "proffieboard_v3_config.h"
#define NUM_BLADES 5
#define NUM_BUTTONS 2
#define VOLUME 1000
const unsigned int maxLedsPerStrip = 144;
#define CLASH_THRESHOLD_G 1.0
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define ENABLE_SD
#define SHARED_POWER_PINS
#endif
#ifdef CONFIG_PRESETS
Preset presets[] = {
{ "TeensySF", "tracks/venus.wav",
StyleNormalPtr<CYAN, WHITE, 300, 800>(),
StyleNormalPtr<CYAN, WHITE, 300, 800>(),
StyleNormalPtr<CYAN, WHITE, 300, 800>(),
StyleNormalPtr<CYAN, WHITE, 300, 800>(),
StyleNormalPtr<CYAN, WHITE, 300, 800>(), "cyan"},
{ "SmthJedi", "tracks/mars.wav",
StylePtr<InOutSparkTip<EASYBLADE(BLUE, WHITE), 300, 800> >(),
StylePtr<InOutSparkTip<EASYBLADE(BLUE, WHITE), 300, 800> >(),
StylePtr<InOutSparkTip<EASYBLADE(BLUE, WHITE), 300, 800> >(),
StylePtr<InOutSparkTip<EASYBLADE(BLUE, WHITE), 300, 800> >(),
StylePtr<InOutSparkTip<EASYBLADE(BLUE, WHITE), 300, 800> >(), "blue"},
{ "SmthGrey", "tracks/mercury.wav",
StyleFirePtr<RED, YELLOW, 0>(),
StyleFirePtr<RED, YELLOW, 1>(),
StyleFirePtr<RED, YELLOW, 2>(),
StyleFirePtr<RED, YELLOW, 3>(),
StyleFirePtr<RED, YELLOW, 4>(), "fire"},
{ "SmthFuzz", "tracks/uranus.wav",
StyleNormalPtr<RED, WHITE, 300, 800>(),
StyleNormalPtr<RED, WHITE, 300, 800>(),
StyleNormalPtr<RED, WHITE, 300, 800>(),
StyleNormalPtr<RED, WHITE, 300, 800>(),
StyleNormalPtr<RED, WHITE, 300, 800>(), "red"},
{ "RgueCmdr", "tracks/venus.wav",
StyleFirePtr<BLUE, CYAN, 0>(),
StyleFirePtr<BLUE, CYAN, 1>(),
StyleFirePtr<BLUE, CYAN, 2>(),
StyleFirePtr<BLUE, CYAN, 3>(),
StyleFirePtr<BLUE, CYAN, 4>(), "blue fire"},
{ "TthCrstl", "tracks/mars.wav",
StylePtr<InOutHelper<EASYBLADE(OnSpark<GREEN>, WHITE), 300, 800> >(),
StylePtr<InOutHelper<EASYBLADE(OnSpark<GREEN>, WHITE), 300, 800> >(),
StylePtr<InOutHelper<EASYBLADE(OnSpark<GREEN>, WHITE), 300, 800> >(),
StylePtr<InOutHelper<EASYBLADE(OnSpark<GREEN>, WHITE), 300, 800> >(),
StylePtr<InOutHelper<EASYBLADE(OnSpark<GREEN>, WHITE), 300, 800> >(), "green"},
{ "TeensySF", "tracks/mercury.wav",
StyleNormalPtr<WHITE, RED, 300, 800, RED>(),
StyleNormalPtr<WHITE, RED, 300, 800, RED>(),
StyleNormalPtr<WHITE, RED, 300, 800, RED>(),
StyleNormalPtr<WHITE, RED, 300, 800, RED>(),
StyleNormalPtr<WHITE, RED, 300, 800, RED>(), "white"},
{ "SmthJedi", "tracks/uranus.wav",
StyleNormalPtr<AudioFlicker<YELLOW, WHITE>, BLUE, 300, 800>(),
StyleNormalPtr<AudioFlicker<YELLOW, WHITE>, BLUE, 300, 800>(),
StyleNormalPtr<AudioFlicker<YELLOW, WHITE>, BLUE, 300, 800>(),
StyleNormalPtr<AudioFlicker<YELLOW, WHITE>, BLUE, 300, 800>(),
StyleNormalPtr<AudioFlicker<YELLOW, WHITE>, BLUE, 300, 800>(), "yellow"},
{ "SmthGrey", "tracks/venus.wav",
StylePtr<InOutSparkTip<EASYBLADE(MAGENTA, WHITE), 300, 800> >(),
StylePtr<InOutSparkTip<EASYBLADE(MAGENTA, WHITE), 300, 800> >(),
StylePtr<InOutSparkTip<EASYBLADE(MAGENTA, WHITE), 300, 800> >(),
StylePtr<InOutSparkTip<EASYBLADE(MAGENTA, WHITE), 300, 800> >(),
StylePtr<InOutSparkTip<EASYBLADE(MAGENTA, WHITE), 300, 800> >(), "magenta"},
{ "SmthFuzz", "tracks/mars.wav",
StyleNormalPtr<Gradient<RED, BLUE>, Gradient<CYAN, YELLOW>, 300, 800>(),
StyleNormalPtr<Gradient<RED, BLUE>, Gradient<CYAN, YELLOW>, 300, 800>(),
StyleNormalPtr<Gradient<RED, BLUE>, Gradient<CYAN, YELLOW>, 300, 800>(),
StyleNormalPtr<Gradient<RED, BLUE>, Gradient<CYAN, YELLOW>, 300, 800>(),
StyleNormalPtr<Gradient<RED, BLUE>, Gradient<CYAN, YELLOW>, 300, 800>(), "gradient"},
{ "RgueCmdr", "tracks/mercury.wav",
StyleRainbowPtr<300, 800>(),
StyleRainbowPtr<300, 800>(),
StyleRainbowPtr<300, 800>(),
StyleRainbowPtr<300, 800>(),
StyleRainbowPtr<300, 800>(), "rainbow"},
{ "TthCrstl", "tracks/uranus.wav",
StyleStrobePtr<WHITE, Rainbow, 15, 300, 800>(),
StyleStrobePtr<WHITE, Rainbow, 15, 300, 800>(),
StyleStrobePtr<WHITE, Rainbow, 15, 300, 800>(),
StyleStrobePtr<WHITE, Rainbow, 15, 300, 800>(),
StyleStrobePtr<WHITE, Rainbow, 15, 300, 800>(), "strobe"},
{ "TeensySF", "tracks/venus.wav",
&style_pov,
StyleNormalPtr<BLACK, BLACK, 300, 800>(),
StyleNormalPtr<BLACK, BLACK, 300, 800>(),
StyleNormalPtr<BLACK, BLACK, 300, 800>(),
StyleNormalPtr<BLACK, BLACK, 300, 800>(), "POV"},
{ "SmthJedi", "tracks/mars.wav",
&style_charging,
StyleNormalPtr<BLACK, BLACK, 300, 800>(),
StyleNormalPtr<BLACK, BLACK, 300, 800>(),
StyleNormalPtr<BLACK, BLACK, 300, 800>(),
StyleNormalPtr<BLACK, BLACK, 300, 800>(), "Battery\nLevel"}
};
BladeConfig blades[] = {
{ 0, WS281XBladePtr<117, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(),
SubBladeWithStride(0, 15, 2, WS281XBladePtr<16, blade2Pin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >()),
SubBladeWithStride(1, 15, 2, NULL),
SimpleBladePtr<CreeXPE2WhiteTemplate<550>, NoLED, NoLED, NoLED, blade5Pin, -1, -1, -1>(),
SimpleBladePtr<CreeXPE2WhiteTemplate<550>, NoLED, NoLED, NoLED, blade6Pin, -1, -1, -1>()
, CONFIGARRAY(presets) },
};
#endif
#ifdef CONFIG_BUTTONS
Button PowerButton(BUTTON_POWER, power, "pow");
Button AuxButton(BUTTON_AUX, aux, "aux");
#endif
With the help of Fett’s site I replaced the config button section with this and got it to compile properly:
#ifdef CONFIG_BUTTONS
Button PowerButton(BUTTON_POWER, powerButtonPin, "pow");
Button AuxButton(BUTTON_AUX, auxPin, "aux");
#endif
This has made me doubt Franks generator and specifically the blade config section.
Why does it have this as my blade config and a num value of 5 for blades?
BladeConfig blades[] = {
{ 0, WS281XBladePtr<117, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(),
SubBladeWithStride(0, 15, 2, WS281XBladePtr<16, blade2Pin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >()),
SubBladeWithStride(1, 15, 2, NULL),
SimpleBladePtr<CreeXPE2WhiteTemplate<550>, NoLED, NoLED, NoLED, blade5Pin, -1, -1, -1>(),
SimpleBladePtr<CreeXPE2WhiteTemplate<550>, NoLED, NoLED, NoLED, blade6Pin, -1, -1, -1>()
, CONFIGARRAY(presets) },
};
#endif
Does this look correct for what I selected as buttons, PCB etc?
I want to solder this board correct the first time so thank you in advance for reading through this.
I also have issues with adding styles to the config but I’ll wait on that!