Compiling Error

Hey y’all. Getting this error when attempting to compile my config. Should be noted I copied and pasted the “Yoda” preset but changed the preset name and then added in my own style code.

 Arduino: 1.8.19 (Windows 10), Board: "Proffieboard V3, Serial, SDCARD (SDIO High Speed), 80 MHz, Smallest Code"



In file included from C:\Users\jpark\OneDrive\Desktop\Proffie OS\ProffieOS\ProffieOS.ino:622:

C:\Users\jpark\OneDrive\Desktop\Proffie OS\ProffieOS\config\89V3_Qui.h:151:139: error: cannot convert 'const char*' to 'StyleFactory*' in initialization

  151 |   MultiTransitionEffectL<TrConcat<TrColorCycle<3500>,Strobe<Black,White,15,1>,TrConcat<TrFade<100>,White,TrFade<100>>>,EFFECT_FORCE>>>(), "Yoda"},

      |                                                                                                                                           ^~~~~~~

      |                                                                                                                                           |

      |                                                                                                                                           const char*

exit status 1

Error compiling for board Proffieboard V3.



This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

This means that your new preset has fewer styles in it than it should have, based on the NUM_BLADES in your configuration file.

Thank you! I fixed that. Looks like now I am getting compiling errors for blade configs which from what I was hearing we dont touch too much but maybe I am wrong? My saber has 1 blade which I’ve corrected now and 2 buttons.

Arduino: 1.8.19 (Windows 10), Board: "Proffieboard V3, Serial, SDCARD (SDIO High Speed), 80 MHz, Smallest Code"





















In file included from C:\Users\jpark\OneDrive\Desktop\Proffie OS\ProffieOS\ProffieOS.ino:622:

C:\Users\jpark\OneDrive\Desktop\Proffie OS\ProffieOS\config\89V3_Qui.h:203:1: error: too many initializers for 'Preset'

  203 | };

      | ^

C:\Users\jpark\OneDrive\Desktop\Proffie OS\ProffieOS\config\89V3_Qui.h:207:91: error: cannot convert 'BladeBase*' to 'Preset*' in initialization

  207 |     WS281XBladePtr<30, blade2Pin, Color8::GRB, PowerPINS<bladePowerPin4, bladePowerPin5> >()

      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~

      |                                                                                           |

      |                                                                                           BladeBase*

In file included from C:\Users\jpark\OneDrive\Desktop\Proffie OS\ProffieOS\ProffieOS.ino:592:

C:\Users\jpark\OneDrive\Desktop\Proffie OS\ProffieOS\config\89V3_Qui.h:208:17: error: invalid conversion from 'Preset*' to 'size_t' {aka 'unsigned int'} [-fpermissive]

  208 |   , CONFIGARRAY(presets) },

      |                 ^~~~~~~

      |                 |

      |                 Preset*

C:\Users\jpark\OneDrive\Desktop\Proffie OS\ProffieOS\common\preset.h:6:24: note: in definition of macro 'CONFIGARRAY'

    6 | #define CONFIGARRAY(X) X, NELEM(X)

      |                        ^

In file included from C:\Users\jpark\OneDrive\Desktop\Proffie OS\ProffieOS\ProffieOS.ino:241:

C:\Users\jpark\OneDrive\Desktop\Proffie OS\ProffieOS\common\common.h:18:28: error: invalid conversion from 'unsigned int' to 'const char*' [-fpermissive]

   18 | #define NELEM(X) (sizeof(X)/sizeof((X)[0]))

      |                  ~~~~~~~~~~^~~~~~~~~~~~~~~~

      |                            |

      |                            unsigned int

C:\Users\jpark\OneDrive\Desktop\Proffie OS\ProffieOS\common\preset.h:6:27: note: in expansion of macro 'NELEM'

    6 | #define CONFIGARRAY(X) X, NELEM(X)

      |                           ^~~~~

C:\Users\jpark\OneDrive\Desktop\Proffie OS\ProffieOS\config\89V3_Qui.h:208:5: note: in expansion of macro 'CONFIGARRAY'

  208 |   , CONFIGARRAY(presets) },

      |     ^~~~~~~~~~~

exit status 1

Error compiling for board Proffieboard V3.



This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

I would have to see your config file, but it looks like maybe you’re not ending your preset array properly so it keeps going into the blades array.

This is the preset I added into the config. I guess I’d start with this and see if anything looks wonky with it.

{ "Sword;common", "tracks/venus.wav",
    StylePtr<Layers<
  Strobe<Black,Strobe<DarkOrange,Orange,75,50>,75,50>,
  LockupTrL<Layers<
    AlphaL<StrobeL<White,Int<20>,Int<20>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Int<8000>,Int<29000>>,Int<6000>>,Scale<SwingSpeed<100>,Int<14000>,Int<18000>>>>,
    AlphaL<Strobe<Red,White,15,1>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Int<8000>,Int<29000>>,Int<6000>>,Int<10000>>>>,TrConcat<TrInstant,Snow,TrFade<400>>,TrConcat<TrInstant,White,TrFade<400>>,SaberBase::LOCKUP_NORMAL>,
  ResponsiveLightningBlockL<Strobe<White,AudioFlicker<White,Blue>,50,1>,TrConcat<TrInstant,AlphaL<White,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,HumpFlickerL<AlphaL<White,Int<16000>>,30>,TrSmoothFade<600>>>,
  MultiTransitionEffectL<TrConcat<TrConcat<TrFade<100>,White,TrFade<100>>,Sparkle<Blue>,TrWipeSparkTip<White,300>>,EFFECT_STAB>,
  MultiTransitionEffectL<TrConcat<TrSparkX<Strobe<Black,Blue,15,29>,Int<80>,Int<200>>,White,TrConcat<TrFade<100>,Strobe<Black,Blue,15,29>,TrConcat<TrFade<100>,Strobe<Black,Blue,15,29>,TrFade<100>>>>,EFFECT_BLAST>,
  MultiTransitionEffectL<TrConcat<TrBoing<300,2>,White,TrConcat<TrFade<100>,Blue,TrFade<100>>>,EFFECT_CLASH>,
  TransitionEffectL<TrConcat<TrInstant,HumpFlickerL<RotateColorsX<Variation,Rgb<230,180,80>>,40>,TrFade<1200>>,EFFECT_IGNITION>,
  LockupTrL<AlphaL<BrownNoiseFlickerL<Strobe<Black,Ivory,15,20>,Int<300>>,SmoothStep<Int<30000>,Int<5000>>>,TrWipeIn<400>,TrConcat<TrFade<100>,White,TrFade<100>>,SaberBase::LOCKUP_DRAG>,
  LockupTrL<AlphaL<Mix<TwistAngle<>,Strobe<Black,Ivory,15,20>,Strobe<Black,Cyan,45,35>>,SmoothStep<Int<28000>,Int<5000>>>,TrConcat<TrFade<100>,White,TrFade<156>>,TrConcat<TrConcat<TrFade<100>,Blue,TrFade<100>>,White,TrFade<100>>,SaberBase::LOCKUP_MELT>,
  InOutTrL<TrWipeSparkTip<Strobe<Black,White,20,25>,1000,125>,TrWipeInSparkTip<Strobe<Black,White,15,20>,522,200>>,
  MultiTransitionEffectL<TrConcat<TrColorCycle<3500>,Strobe<Black,White,15,1>,TrConcat<TrFade<100>,White,TrFade<100>>>,EFFECT_FORCE>>>(), "Sword"},

If you can’t figure it out, please post the entire config file, not just a snippet.

Pretty much all of this is new to me haha. I can understand how so of these things work together but troubleshooting would be difficult. Ill post the whole config here. I appreciate you looking at it

#ifdef CONFIG_TOP
#include "proffieboard_v3_config.h"
#define NUM_BLADES 2
#define NUM_BUTTONS 2
#define VOLUME 1800
const unsigned int maxLedsPerStrip = 128;
#define CLASH_THRESHOLD_G 4.5
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define ENABLE_SD
#define ENABLE_SERIAL
#define ORIENTATION ORIENTATION_USB_TOWARDS_BLADE

#define DISABLE_DIAGNOSTIC_COMMANDS
#define FETT263_MULTI_PHASE

#define FETT263_TWIST_ON_NO_BM 
#define FETT263_TWIST_ON 
#define FETT263_TWIST_OFF    

#define FETT263_STAB_ON_NO_BM                                              
#define FETT263_STAB_ON                                

#define FETT263_SWING_ON_SPEED 500
#define FETT263_SWING_ON_NO_BM
#define FETT263_SWING_ON
#define FETT263_SWING_OFF

#define MOTION_TIMEOUT 60 * 3 * 1000  

#define FETT263_THRUST_ON
#define FETT263_THRUST_OFF
#define FETT263_DISABLE_COPY_PRESET

// #define ENABLE_SSD1306
// // Max 20 characters
// #define BLE_PASSWORD "your password"
// // Max 32 characters.
// #define BLE_NAME "Your Saber Name"
// // Max 9 characters
// #define BLE_SHORTNAME "Saber"

#define MOTION_TIMEOUT 60 * 3 * 800               
#endif

#ifdef CONFIG_PROP
#include "../props/saber_fett263_buttons.h"

#endif


#ifdef CONFIG_PRESETS
Preset presets[] = {  
   
   { "QGJ;common", "tracks/venus.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Green,White>,AudioFlicker<Green,White>>,White>,300,800>>(),
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Green,White>,AudioFlicker<Green,White>>,White>,300,800>>(), "chungreen"}, 
   { "AhsokaTM;common", "tracks/mars.wav",
    StylePtr<InOutHelper<EasyBlade<OnSpark<BrownNoiseFlicker<Snow,Blue,50>>,White>,300,800>>(),
    StylePtr<InOutHelper<EasyBlade<OnSpark<BrownNoiseFlicker<Snow,Blue,50>>,White>,300,800>>(), "Ahsoka"},
   { "Ben;common", "tracks/mars.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<DeepSkyBlue,White>,AudioFlicker<DeepSkyBlue,White>>,White>,300,800>>(),
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<DeepSkyBlue,White>,AudioFlicker<DeepSkyBlue,White>>,White>,300,800>>(), "Ben"}, 
   { "Dooku;common", "tracks/mars.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Red,White>,AudioFlicker<Red,White>>,White>,400,800>>(),
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Red,White>,AudioFlicker<Red,White>>,White>,400,800>>(), "Dooku"},
   { "DV3;common", "tracks/mars.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Red,White>,AudioFlicker<Red,White>>,White>,400,800>>(),
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Red,White>,AudioFlicker<Red,White>>,White>,400,800>>(), "DV3"},   
   { "Emperor;common", "tracks/mars.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Red,White>,AudioFlicker<Red,White>>,White>,400,800>>(),
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Red,White>,AudioFlicker<Red,White>>,White>,400,800>>(), "Emperor"}, 
   { "Fire;common", "tracks/mars.wav",
    StylePtr<StyleFire<Red,Yellow>>(),
    StylePtr<StyleFire<Red,Yellow>>(), "Fire"},  
   { "Graflex;common", "tracks/venus.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Blue,White>,AudioFlicker<Blue,White>>,White>,300,800>>(),
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Blue,White>,AudioFlicker<Blue,White>>,White>,300,800>>(), "chunblue"},
   { "Guardian;common", "tracks/Guardian.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Yellow,DarkOrange>,AudioFlicker<DarkOrange,Yellow>,AudioFlicker<Blue,White>>,White>,200,500>>(),  
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Yellow,DarkOrange>,AudioFlicker<DarkOrange,Yellow>,AudioFlicker<Blue,White>>,White>,200,500>>(), },  
   { "Luke;common", "tracks/venus.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Green,White>,AudioFlicker<Green,White>>,White>,400,800>>(),
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Green,White>,AudioFlicker<Green,White>>,White>,400,800>>(), "Luke"}, 
   { "luke4;common", "tracks/mars.wav",
    StylePtr<InOutHelper<EasyBlade<OnSpark<Gradient<Blue,AudioFlicker<White,Blue>,Red,RandomFlicker<Yellow,Blue>>>,White>,300,800>>(),
    StylePtr<InOutHelper<EasyBlade<OnSpark<Gradient<Blue,AudioFlicker<White,Blue>,Red,RandomFlicker<Yellow,Blue>>>,White>,300,800>>(), "KK"},
   { "luke5;common", "tracks/venus.wav",
    StylePtr<InOutHelper<RandomPerLEDFlicker<Pulsing<Blue,InOutHelper<White,300,800>,800>,Blue>,300,800>>(),
    StylePtr<InOutHelper<RandomPerLEDFlicker<Pulsing<Blue,InOutHelper<White,300,800>,800>,Blue>,300,800>>(), "BLUEFLASH"},
   { "Luke6;common", "tracks/venus.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Green,White>,AudioFlicker<Green,White>>,White>,400,800>>(),
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Green,White>,AudioFlicker<Green,White>>,White>,400,800>>(), "Luke6"}, 
   { "Rey;common", "tracks/mars.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Blue,White>,AudioFlicker<Blue,White>>,White>,300,800>>(),
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Blue,White>,AudioFlicker<Blue,White>>,White>,300,800>>(), "sparkstar"},
   { "reygold;common", "tracks/mars.wav",
    StylePtr<InOutHelper<EasyBlade<Sparkle<Orange>,White>,300,800>>(),
    StylePtr<InOutHelper<EasyBlade<Sparkle<Orange>,White>,300,800>>(), "sparkstar"},
   { "RgueCmdr;common", "tracks/venus.wav",
    StylePtr<InOutHelper<EasyBlade<OnSpark<TransitionLoop<Red,TrConcat<TrFade<1000>,GreenYellow,TrFade<200>>>>,White>,300,800>>(),
    StylePtr<InOutHelper<EasyBlade<OnSpark<TransitionLoop<Red,TrConcat<TrFade<1000>,GreenYellow,TrFade<200>>>>,White>,300,800>>(), "CC"},    
   { "Shan;common", "tracks/venus.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Blue,White>,AudioFlicker<Blue,White>>,White>,300,800>>(),
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Blue,White>,AudioFlicker<Blue,White>>,White>,300,800>>(), "Shan"},
   { "SmthFuzz;common", "tracks/uranus.wav",
    StylePtr<InOutHelper<EasyBlade<OnSpark<Gradient<Cylon<Red,5,20,Red,30,20,1>,GhostWhite,Cylon<Red,5,20,Red,5,20,1>>>,White>,300,800>>(),
    StylePtr<InOutHelper<EasyBlade<OnSpark<Gradient<Cylon<Red,5,20,Red,30,20,1>,GhostWhite,Cylon<Red,5,20,Red,5,20,1>>>,White>,300,800>>(), "Cylonwhite"}, 
   { "SmthGrey;common", "tracks/mercury.wav",
    StylePtr<InOutHelper<EasyBlade<OnSpark<GhostWhite,Black>,White>,300,800>>(),
    StylePtr<InOutHelper<EasyBlade<OnSpark<GhostWhite,Black>,White>,300,800>>(),"white1"}, 
   { "SmthJedi;common", "tracks/venus.wav",
    StylePtr<InOutHelper<EasyBlade<OnSpark<InOutTr<Azure,TrColorCycle<3000>,TrFade<500>,Green>>,White>,300,800>>(),
    StylePtr<InOutHelper<EasyBlade<OnSpark<InOutTr<Azure,TrColorCycle<3000>,TrFade<500>,Green>>,White>,300,800>>(), "greenflash"}, 
   { "Spectral;common", "tracks/venus.wav",
    StylePtr<InOutHelper<EasyBlade<OnSpark<InOutTr<Azure,TrColorCycle<3000>,TrFade<500>,Green>>,White>,300,800>>(),
    StylePtr<InOutHelper<EasyBlade<OnSpark<InOutTr<Azure,TrColorCycle<3000>,TrFade<500>,Green>>,White>,300,800>>(), "Spectral"},  
   { "TeensySF;common", "tracks/mars.wav",
    StylePtr<InOutHelper<EasyBlade<Stripes<1000,1000,Cyan,Magenta,Yellow,Blue>,White>,300,800>>(),
    StylePtr<InOutHelper<EasyBlade<Stripes<1000,1000,Cyan,Magenta,Yellow,Blue>,White>,300,800>>(), "rainbow"},
   { "TeenysSF;common", "tracks/mars.wav",
    StylePtr<InOutHelper<EasyBlade<OnSpark<HumpFlicker<Green,Magenta,50>>,White>,300,800>>(),
    StylePtr<InOutHelper<EasyBlade<OnSpark<HumpFlicker<Green,Magenta,50>>,White>,300,800>>(), "EE"},
   { "TthCrstl;common", "tracks/venus.wav",
    StylePtr<InOutHelper<EasyBlade<OnSpark<Sparkle<HotPink,Yellow>>,GreenYellow>,300,800>>(),
    StylePtr<InOutHelper<EasyBlade<OnSpark<Sparkle<HotPink,Yellow>>,GreenYellow>,300,800>>(), "PINK"},
   { "Vader;common", "tracks/mars.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Red,White>,AudioFlicker<Red,White>>,White>,400,800>>(),
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Red,White>,AudioFlicker<Red,White>>,White>,400,800>>(), "chunRed"},
   { "Windu;common", "tracks/uranus.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Magenta,White>,AudioFlicker<Blue,White>>,White>,300,800>>(),
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Magenta,White>,AudioFlicker<Blue,White>>,White>,300,800>>(), "chunzise"},   
   { "Yoda;common", "tracks/venus.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Green,White>,AudioFlicker<Green,White>>,White>,400,800>>(),
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Green,White>,AudioFlicker<Green,White>>,White>,400,800>>(), "Yoda"},
   { "Sword;common", "tracks/venus.wav",
    StylePtr<Layers<
  Strobe<Black,Strobe<DarkOrange,Orange,75,50>,75,50>,
  LockupTrL<Layers<
    AlphaL<StrobeL<White,Int<20>,Int<20>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Int<8000>,Int<29000>>,Int<6000>>,Scale<SwingSpeed<100>,Int<14000>,Int<18000>>>>,
    AlphaL<Strobe<Red,White,15,1>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Int<8000>,Int<29000>>,Int<6000>>,Int<10000>>>>,TrConcat<TrInstant,Snow,TrFade<400>>,TrConcat<TrInstant,White,TrFade<400>>,SaberBase::LOCKUP_NORMAL>,
  ResponsiveLightningBlockL<Strobe<White,AudioFlicker<White,Blue>,50,1>,TrConcat<TrInstant,AlphaL<White,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,HumpFlickerL<AlphaL<White,Int<16000>>,30>,TrSmoothFade<600>>>,
  MultiTransitionEffectL<TrConcat<TrConcat<TrFade<100>,White,TrFade<100>>,Sparkle<Blue>,TrWipeSparkTip<White,300>>,EFFECT_STAB>,
  MultiTransitionEffectL<TrConcat<TrSparkX<Strobe<Black,Blue,15,29>,Int<80>,Int<200>>,White,TrConcat<TrFade<100>,Strobe<Black,Blue,15,29>,TrConcat<TrFade<100>,Strobe<Black,Blue,15,29>,TrFade<100>>>>,EFFECT_BLAST>,
  MultiTransitionEffectL<TrConcat<TrBoing<300,2>,White,TrConcat<TrFade<100>,Blue,TrFade<100>>>,EFFECT_CLASH>,
  TransitionEffectL<TrConcat<TrInstant,HumpFlickerL<RotateColorsX<Variation,Rgb<230,180,80>>,40>,TrFade<1200>>,EFFECT_IGNITION>,
  LockupTrL<AlphaL<BrownNoiseFlickerL<Strobe<Black,Ivory,15,20>,Int<300>>,SmoothStep<Int<30000>,Int<5000>>>,TrWipeIn<400>,TrConcat<TrFade<100>,White,TrFade<100>>,SaberBase::LOCKUP_DRAG>,
  LockupTrL<AlphaL<Mix<TwistAngle<>,Strobe<Black,Ivory,15,20>,Strobe<Black,Cyan,45,35>>,SmoothStep<Int<28000>,Int<5000>>>,TrConcat<TrFade<100>,White,TrFade<156>>,TrConcat<TrConcat<TrFade<100>,Blue,TrFade<100>>,White,TrFade<100>>,SaberBase::LOCKUP_MELT>,
  InOutTrL<TrWipeSparkTip<Strobe<Black,White,20,25>,1000,125>,TrWipeInSparkTip<Strobe<Black,White,15,20>,522,200>>,
  MultiTransitionEffectL<TrConcat<TrColorCycle<3500>,Strobe<Black,White,15,1>,TrConcat<TrFade<100>,White,TrFade<100>>>,EFFECT_FORCE>>>(), "Sword"}, 
   { "Vortex;common", "tracks/uranus.wav",
    StylePtr<Layers<StyleFire<Stripes<2500,-5000,BrownNoiseFlicker<RotateColorsX<Variation,Rgb<255,0,0>>,Black,20>,RotateColorsX<Variation,Rgb<4,0,8>>,
    BrownNoiseFlicker<Black,RotateColorsX<Variation,Rgb<115,15,220>>,70>,RotateColorsX<Variation,Rgb<42,0,105>>>,RotateColorsX<Variation,Rgb<30,0,66>>,0,5,FireConfig<2,3000,0>,FireConfig<2,3000,0>,
    FireConfig<2,3000,0>,FireConfig<2,3000,0>>,AlphaL<Stripes<2500,-3000,Red,Rgb<60,0,0>,Pulsing<Rgb<30,0,0>,Black,800>>,SwingSpeed<600>>,LockupTrL<Layers<AlphaL<AudioFlickerL<White>,Bump<Scale<BladeAngle<>,
    Scale<BladeAngle<0,16000>,Int<4000>,Int<26000>>,Int<6000>>,Scale<SwingSpeed<100>,Int<14000>,Int<18000>>>>,AlphaL<White,Bump<Scale<BladeAngle<>,
    Scale<BladeAngle<0,16000>,Int<4000>,Int<26000>>,Int<6000>>,Int<10000>>>>,TrConcat<TrInstant,White,TrFade<400>>,TrConcat<TrJoinR<TrWipe<100>,TrWipeIn<100>>,White,TrJoinR<TrWipe<100>,TrWipeIn<100>>>,
    SaberBase::LOCKUP_NORMAL>,ResponsiveLightningBlockL<Strobe<White,AudioFlicker<White,Blue>,50,1>,TrConcat<TrInstant,AlphaL<White,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,
    HumpFlickerL<AlphaL<White,Int<16000>>,30>,TrSmoothFade<600>>>,SparkleL<White,100,400>,ResponsiveStabL<Red,TrWipeIn<600>,TrWipe<600>>,
    ResponsiveBlastL<White,Int<400>,Scale<SwingSpeed<200>,Int<100>,Int<400>>,Int<400>>,ResponsiveClashL<White,TrInstant,TrFade<400>,Scale<BladeAngle<0,16000>,Int<4000>,Int<26000>>,Int<6000>,Int<20000>>,
    TransitionEffectL<TrConcat<TrInstant,AudioFlickerL<White>,TrFade<800>>,EFFECT_IGNITION>,TransitionEffectL<TrConcat<TrInstant,HumpFlickerL<White,40>,TrFade<1000>>,
    EFFECT_RETRACTION>,LockupTrL<AlphaL<BrownNoiseFlickerL<White,Int<300>>,SmoothStep<Int<30000>,Int<5000>>>,TrWipeIn<400>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL<AlphaL<Mix<TwistAngle<>,Red,Orange>,
    SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,InOutTrL<TrConcat<TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<400>,Int<300>,Int<400>,Int<32768>>,
    Mix<SmoothStep<Int<5500>,Int<-2000>>,Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<350>,Int<300>,Int<350>,Int<32768>>,Mix<SmoothStep<Int<11000>,Int<-2000>>,
    Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<300>,Int<300>,Int<300>,Int<32768>>,Mix<SmoothStep<Int<16500>,Int<-2000>>,
    Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<250>,Int<300>,Int<250>,Int<32768>>,Mix<SmoothStep<Int<22000>,Int<-2000>>,
    Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<200>,Int<300>,Int<200>,Int<32768>>,Mix<SmoothStep<Int<27500>,Int<-2000>>,
    Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWipeIn<200>,Mix<SmoothStep<Int<33000>,Int<-2000>>,Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrFade<300>>,
    TrConcat<TrWipe<200>,Mix<SmoothStep<Int<27500>,Int<-2000>>,Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<200>,Int<300>,Int<200>,Int<0>>,
    Mix<SmoothStep<Int<22000>,Int<-2000>>,Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<250>,Int<300>,Int<250>,Int<0>>,
    Mix<SmoothStep<Int<16500>,Int<-2000>>,Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<300>,Int<300>,Int<300>,Int<0>>,
    Mix<SmoothStep<Int<11000>,Int<-2000>>,Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<350>,Int<300>,Int<350>,Int<0>>,
    Mix<SmoothStep<Int<5500>,Int<-2000>>,Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<400>,Int<300>,Int<400>,Int<0>>,Black,
    TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<400>,Int<300>,Int<400>,Int<0>>,Black,TrInstant>,Black>,TransitionEffectL<TrConcat<TrInstant,AlphaL<White,Bump<Int<0>,Int<10000>>>,TrFade<3000>,
    AlphaL<Orange,Bump<Int<0>,Int<8000>>>,TrFade<3000>,AlphaL<Red,Bump<Int<0>,Int<6000>>>,TrFade<2000>>,EFFECT_RETRACTION>,TransitionEffectL<TrConcat<TrFade<2000>,
    AlphaL<HumpFlickerL<RotateColorsX<Variation,Rgb<255,0,0>>,10>,Bump<Int<0>,Int<4000>>>,TrFade<2950>,AlphaL<HumpFlickerL<RotateColorsX<Variation,Rgb<255,0,0>>,15>,Bump<Int<0>,Int<5000>>>,TrFade<3000>,
    AlphaL<HumpFlickerL<RotateColorsX<Variation,Rgb<255,0,0>>,20>,Bump<Int<0>,Int<6000>>>,TrBoing<1000,3>>,EFFECT_PREON>>>(),
    StylePtr<Layers<StyleFire<Stripes<2500,-5000,BrownNoiseFlicker<RotateColorsX<Variation,Rgb<255,0,0>>,Black,20>,RotateColorsX<Variation,Rgb<4,0,8>>,
    BrownNoiseFlicker<Black,RotateColorsX<Variation,Rgb<115,15,220>>,70>,RotateColorsX<Variation,Rgb<42,0,105>>>,RotateColorsX<Variation,Rgb<30,0,66>>,0,5,FireConfig<2,3000,0>,FireConfig<2,3000,0>,
    FireConfig<2,3000,0>,FireConfig<2,3000,0>>,AlphaL<Stripes<2500,-3000,Red,Rgb<60,0,0>,Pulsing<Rgb<30,0,0>,Black,800>>,SwingSpeed<600>>,LockupTrL<Layers<AlphaL<AudioFlickerL<White>,Bump<Scale<BladeAngle<>,
    Scale<BladeAngle<0,16000>,Int<4000>,Int<26000>>,Int<6000>>,Scale<SwingSpeed<100>,Int<14000>,Int<18000>>>>,AlphaL<White,Bump<Scale<BladeAngle<>,
    Scale<BladeAngle<0,16000>,Int<4000>,Int<26000>>,Int<6000>>,Int<10000>>>>,TrConcat<TrInstant,White,TrFade<400>>,TrConcat<TrJoinR<TrWipe<100>,TrWipeIn<100>>,White,TrJoinR<TrWipe<100>,TrWipeIn<100>>>,
    SaberBase::LOCKUP_NORMAL>,ResponsiveLightningBlockL<Strobe<White,AudioFlicker<White,Blue>,50,1>,TrConcat<TrInstant,AlphaL<White,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,
    HumpFlickerL<AlphaL<White,Int<16000>>,30>,TrSmoothFade<600>>>,SparkleL<White,100,400>,ResponsiveStabL<Red,TrWipeIn<600>,TrWipe<600>>,
    ResponsiveBlastL<White,Int<400>,Scale<SwingSpeed<200>,Int<100>,Int<400>>,Int<400>>,ResponsiveClashL<White,TrInstant,TrFade<400>,Scale<BladeAngle<0,16000>,Int<4000>,Int<26000>>,Int<6000>,Int<20000>>,
    TransitionEffectL<TrConcat<TrInstant,AudioFlickerL<White>,TrFade<800>>,EFFECT_IGNITION>,TransitionEffectL<TrConcat<TrInstant,HumpFlickerL<White,40>,TrFade<1000>>,
    EFFECT_RETRACTION>,LockupTrL<AlphaL<BrownNoiseFlickerL<White,Int<300>>,SmoothStep<Int<30000>,Int<5000>>>,TrWipeIn<400>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL<AlphaL<Mix<TwistAngle<>,Red,Orange>,
    SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,InOutTrL<TrConcat<TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<400>,Int<300>,Int<400>,Int<32768>>,
    Mix<SmoothStep<Int<5500>,Int<-2000>>,Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<350>,Int<300>,Int<350>,Int<32768>>,Mix<SmoothStep<Int<11000>,Int<-2000>>,
    Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<300>,Int<300>,Int<300>,Int<32768>>,Mix<SmoothStep<Int<16500>,Int<-2000>>,
    Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<250>,Int<300>,Int<250>,Int<32768>>,Mix<SmoothStep<Int<22000>,Int<-2000>>,
    Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<200>,Int<300>,Int<200>,Int<32768>>,Mix<SmoothStep<Int<27500>,Int<-2000>>,
    Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWipeIn<200>,Mix<SmoothStep<Int<33000>,Int<-2000>>,Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrFade<300>>,
    TrConcat<TrWipe<200>,Mix<SmoothStep<Int<27500>,Int<-2000>>,Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<200>,Int<300>,Int<200>,Int<0>>,
    Mix<SmoothStep<Int<22000>,Int<-2000>>,Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<250>,Int<300>,Int<250>,Int<0>>,
    Mix<SmoothStep<Int<16500>,Int<-2000>>,Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<300>,Int<300>,Int<300>,Int<0>>,
    Mix<SmoothStep<Int<11000>,Int<-2000>>,Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<350>,Int<300>,Int<350>,Int<0>>,
    Mix<SmoothStep<Int<5500>,Int<-2000>>,Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<400>,Int<300>,Int<400>,Int<0>>,Black,
    TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<400>,Int<300>,Int<400>,Int<0>>,Black,TrInstant>,Black>,TransitionEffectL<TrConcat<TrInstant,AlphaL<White,Bump<Int<0>,Int<10000>>>,TrFade<3000>,
    AlphaL<Orange,Bump<Int<0>,Int<8000>>>,TrFade<3000>,AlphaL<Red,Bump<Int<0>,Int<6000>>>,TrFade<2000>>,EFFECT_RETRACTION>,TransitionEffectL<TrConcat<TrFade<2000>,
    AlphaL<HumpFlickerL<RotateColorsX<Variation,Rgb<255,0,0>>,10>,Bump<Int<0>,Int<4000>>>,TrFade<2950>,AlphaL<HumpFlickerL<RotateColorsX<Variation,Rgb<255,0,0>>,15>,Bump<Int<0>,Int<5000>>>,TrFade<3000>,
    AlphaL<HumpFlickerL<RotateColorsX<Variation,Rgb<255,0,0>>,20>,Bump<Int<0>,Int<6000>>>,TrBoing<1000,3>>,EFFECT_PREON>>>(),"tsb"},
};

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

#ifdef CONFIG_BUTTONS
Button PowerButton(BUTTON_POWER, powerButtonPin, "pow");
Button AuxButton(BUTTON_AUX, auxPin, "aux");
#endif

The “Sword” preset seems to only have one Style.
All the others have two, which is correct since NUM_BLADES is set to 2.

Probably a dumb question about it this. But if my saber only has the 1 blade, having my config set for 2 will surely break it then yes?

Alright I added in a second style to my original config and it worked. But since my saber only has 1 blade I changed the blade number to 1 and edited out the second styles in each set. I get the same error as before however on a different line of code. Ill paste the config next so you can see what I did this go around.

Arduino: 1.8.19 (Windows 10), Board: "Proffieboard V3, Serial, SDCARD (SDIO High Speed), 80 MHz, Smallest Code"





















In file included from C:\Users\jpark\OneDrive\Desktop\Proffie OS\ProffieOS\ProffieOS.ino:622:

C:\Users\jpark\OneDrive\Desktop\Proffie OS\ProffieOS\config\89V3_Qui.h:151:91: error: cannot convert 'BladeBase*' to 'Preset*' in initialization

  151 |     WS281XBladePtr<30, blade2Pin, Color8::GRB, PowerPINS<bladePowerPin4, bladePowerPin5> >()

      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~

      |                                                                                           |

      |                                                                                           BladeBase*

In file included from C:\Users\jpark\OneDrive\Desktop\Proffie OS\ProffieOS\ProffieOS.ino:592:

C:\Users\jpark\OneDrive\Desktop\Proffie OS\ProffieOS\config\89V3_Qui.h:152:17: error: invalid conversion from 'Preset*' to 'size_t' {aka 'unsigned int'} [-fpermissive]

  152 |   , CONFIGARRAY(presets) },

      |                 ^~~~~~~

      |                 |

      |                 Preset*

C:\Users\jpark\OneDrive\Desktop\Proffie OS\ProffieOS\common\preset.h:6:24: note: in definition of macro 'CONFIGARRAY'

    6 | #define CONFIGARRAY(X) X, NELEM(X)

      |                        ^

In file included from C:\Users\jpark\OneDrive\Desktop\Proffie OS\ProffieOS\ProffieOS.ino:241:

C:\Users\jpark\OneDrive\Desktop\Proffie OS\ProffieOS\common\common.h:18:28: error: invalid conversion from 'unsigned int' to 'const char*' [-fpermissive]

   18 | #define NELEM(X) (sizeof(X)/sizeof((X)[0]))

      |                  ~~~~~~~~~~^~~~~~~~~~~~~~~~

      |                            |

      |                            unsigned int

C:\Users\jpark\OneDrive\Desktop\Proffie OS\ProffieOS\common\preset.h:6:27: note: in expansion of macro 'NELEM'

    6 | #define CONFIGARRAY(X) X, NELEM(X)

      |                           ^~~~~

C:\Users\jpark\OneDrive\Desktop\Proffie OS\ProffieOS\config\89V3_Qui.h:152:5: note: in expansion of macro 'CONFIGARRAY'

  152 |   , CONFIGARRAY(presets) },

      |     ^~~~~~~~~~~

exit status 1

Error compiling for board Proffieboard V3.



This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

#ifdef CONFIG_TOP
#include "proffieboard_v3_config.h"
#define NUM_BLADES 1
#define NUM_BUTTONS 2
#define VOLUME 1800
const unsigned int maxLedsPerStrip = 128;
#define CLASH_THRESHOLD_G 4.5
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define ENABLE_SD
#define ENABLE_SERIAL
#define ORIENTATION ORIENTATION_USB_TOWARDS_BLADE

#define DISABLE_DIAGNOSTIC_COMMANDS
#define FETT263_MULTI_PHASE

#define FETT263_TWIST_ON_NO_BM 
#define FETT263_TWIST_ON 
#define FETT263_TWIST_OFF    

#define FETT263_STAB_ON_NO_BM                                              
#define FETT263_STAB_ON                                

#define FETT263_SWING_ON_SPEED 500
#define FETT263_SWING_ON_NO_BM
#define FETT263_SWING_ON
#define FETT263_SWING_OFF

#define MOTION_TIMEOUT 60 * 3 * 1000  

#define FETT263_THRUST_ON
#define FETT263_THRUST_OFF
#define FETT263_DISABLE_COPY_PRESET

// #define ENABLE_SSD1306
// // Max 20 characters
// #define BLE_PASSWORD "your password"
// // Max 32 characters.
// #define BLE_NAME "Your Saber Name"
// // Max 9 characters
// #define BLE_SHORTNAME "Saber"

#define MOTION_TIMEOUT 60 * 3 * 800               
#endif

#ifdef CONFIG_PROP
#include "../props/saber_fett263_buttons.h"

#endif


#ifdef CONFIG_PRESETS
Preset presets[] = {  
   
   { "QGJ;common", "tracks/venus.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Green,White>,AudioFlicker<Green,White>>,White>,300,800>>(), "chungreen"}, 
   { "AhsokaTM;common", "tracks/mars.wav",
    StylePtr<InOutHelper<EasyBlade<OnSpark<BrownNoiseFlicker<Snow,Blue,50>>,White>,300,800>>(), "Ahsoka"},
   { "Ben;common", "tracks/mars.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<DeepSkyBlue,White>,AudioFlicker<DeepSkyBlue,White>>,White>,300,800>>(), "Ben"}, 
   { "Dooku;common", "tracks/mars.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Red,White>,AudioFlicker<Red,White>>,White>,400,800>>(), "Dooku"},
   { "DV3;common", "tracks/mars.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Red,White>,AudioFlicker<Red,White>>,White>,400,800>>(), "DV3"},   
   { "Emperor;common", "tracks/mars.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Red,White>,AudioFlicker<Red,White>>,White>,400,800>>(), "Emperor"}, 
   { "Fire;common", "tracks/mars.wav",
    StylePtr<StyleFire<Red,Yellow>>(), "Fire"},  
   { "Graflex;common", "tracks/venus.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Blue,White>,AudioFlicker<Blue,White>>,White>,300,800>>(), "chunblue"},
   { "Guardian;common", "tracks/Guardian.wav",  
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Yellow,DarkOrange>,AudioFlicker<DarkOrange,Yellow>,AudioFlicker<Blue,White>>,White>,200,500>>(), },  
   { "Luke;common", "tracks/venus.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Green,White>,AudioFlicker<Green,White>>,White>,400,800>>(), "Luke"}, 
   { "luke4;common", "tracks/mars.wav",
    StylePtr<InOutHelper<EasyBlade<OnSpark<Gradient<Blue,AudioFlicker<White,Blue>,Red,RandomFlicker<Yellow,Blue>>>,White>,300,800>>(), "KK"},
   { "luke5;common", "tracks/venus.wav",
    StylePtr<InOutHelper<RandomPerLEDFlicker<Pulsing<Blue,InOutHelper<White,300,800>,800>,Blue>,300,800>>(), "BLUEFLASH"},
   { "Luke6;common", "tracks/venus.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Green,White>,AudioFlicker<Green,White>>,White>,400,800>>(), "Luke6"}, 
   { "Rey;common", "tracks/mars.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Blue,White>,AudioFlicker<Blue,White>>,White>,300,800>>(), "sparkstar"},
   { "reygold;common", "tracks/mars.wav",
    StylePtr<InOutHelper<EasyBlade<Sparkle<Orange>,White>,300,800>>(), "sparkstar"},
   { "RgueCmdr;common", "tracks/venus.wav",
    StylePtr<InOutHelper<EasyBlade<OnSpark<TransitionLoop<Red,TrConcat<TrFade<1000>,GreenYellow,TrFade<200>>>>,White>,300,800>>(), "CC"},    
   { "Shan;common", "tracks/venus.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Blue,White>,AudioFlicker<Blue,White>>,White>,300,800>>(), "Shan"},
   { "SmthFuzz;common", "tracks/uranus.wav",
    StylePtr<InOutHelper<EasyBlade<OnSpark<Gradient<Cylon<Red,5,20,Red,30,20,1>,GhostWhite,Cylon<Red,5,20,Red,5,20,1>>>,White>,300,800>>(), "Cylonwhite"}, 
   { "SmthGrey;common", "tracks/mercury.wav",
    StylePtr<InOutHelper<EasyBlade<OnSpark<GhostWhite,Black>,White>,300,800>>(),"white1"}, 
   { "SmthJedi;common", "tracks/venus.wav",
    StylePtr<InOutHelper<EasyBlade<OnSpark<InOutTr<Azure,TrColorCycle<3000>,TrFade<500>,Green>>,White>,300,800>>(), "greenflash"}, 
   { "Spectral;common", "tracks/venus.wav",
    StylePtr<InOutHelper<EasyBlade<OnSpark<InOutTr<Azure,TrColorCycle<3000>,TrFade<500>,Green>>,White>,300,800>>(), "Spectral"},  
   { "TeensySF;common", "tracks/mars.wav",
    StylePtr<InOutHelper<EasyBlade<Stripes<1000,1000,Cyan,Magenta,Yellow,Blue>,White>,300,800>>(), "rainbow"},
   { "TeenysSF;common", "tracks/mars.wav",
    StylePtr<InOutHelper<EasyBlade<OnSpark<HumpFlicker<Green,Magenta,50>>,White>,300,800>>(), "EE"},
   { "TthCrstl;common", "tracks/venus.wav",
    StylePtr<InOutHelper<EasyBlade<OnSpark<Sparkle<HotPink,Yellow>>,GreenYellow>,300,800>>(), "PINK"},
   { "Vader;common", "tracks/mars.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Red,White>,AudioFlicker<Red,White>>,White>,400,800>>(), "chunRed"},
   { "Windu;common", "tracks/uranus.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Magenta,White>,AudioFlicker<Blue,White>>,White>,300,800>>(), "chunzise"},   
   { "Yoda;common", "tracks/venus.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Green,White>,AudioFlicker<Green,White>>,White>,400,800>>(), "Yoda"},
   { "Sword;common", "tracks/venus.wav",
    StylePtr<Layers<Strobe<Black,Strobe<DarkOrange,Orange,75,50>,75,50>,LockupTrL<Layers<AlphaL<StrobeL<White,Int<20>,Int<20>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Int<8000>,Int<29000>>,Int<6000>>,Scale<SwingSpeed<100>,Int<14000>,Int<18000>>>>,AlphaL<Strobe<Red,White,15,1>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Int<8000>,Int<29000>>,Int<6000>>,Int<10000>>>>,TrConcat<TrInstant,Snow,TrFade<400>>,TrConcat<TrInstant,White,TrFade<400>>,SaberBase::LOCKUP_NORMAL>,
    ResponsiveLightningBlockL<Strobe<White,AudioFlicker<White,Blue>,50,1>,TrConcat<TrInstant,AlphaL<White,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,HumpFlickerL<AlphaL<White,Int<16000>>,30>,TrSmoothFade<600>>>,
    MultiTransitionEffectL<TrConcat<TrConcat<TrFade<100>,White,TrFade<100>>,Sparkle<Blue>,TrWipeSparkTip<White,300>>,EFFECT_STAB>,
    MultiTransitionEffectL<TrConcat<TrSparkX<Strobe<Black,Blue,15,29>,Int<80>,Int<200>>,White,TrConcat<TrFade<100>,Strobe<Black,Blue,15,29>,TrConcat<TrFade<100>,Strobe<Black,Blue,15,29>,TrFade<100>>>>,EFFECT_BLAST>,
    MultiTransitionEffectL<TrConcat<TrBoing<300,2>,White,TrConcat<TrFade<100>,Blue,TrFade<100>>>,EFFECT_CLASH>,
    TransitionEffectL<TrConcat<TrInstant,HumpFlickerL<RotateColorsX<Variation,Rgb<230,180,80>>,40>,TrFade<1200>>,EFFECT_IGNITION>,
    LockupTrL<AlphaL<BrownNoiseFlickerL<Strobe<Black,Ivory,15,20>,Int<300>>,SmoothStep<Int<30000>,Int<5000>>>,TrWipeIn<400>,TrConcat<TrFade<100>,White,TrFade<100>>,SaberBase::LOCKUP_DRAG>,
    LockupTrL<AlphaL<Mix<TwistAngle<>,Strobe<Black,Ivory,15,20>,Strobe<Black,Cyan,45,35>>,SmoothStep<Int<28000>,Int<5000>>>,TrConcat<TrFade<100>,White,TrFade<156>>,TrConcat<TrConcat<TrFade<100>,Blue,TrFade<100>>,White,TrFade<100>>,SaberBase::LOCKUP_MELT>,
    InOutTrL<TrWipeSparkTip<Strobe<Black,White,20,25>,1000,125>,TrWipeInSparkTip<Strobe<Black,White,15,20>,522,200>>,
    MultiTransitionEffectL<TrConcat<TrColorCycle<3500>,Strobe<Black,White,15,1>,TrConcat<TrFade<100>,White,TrFade<100>>>,EFFECT_FORCE>>>(), "Sword"}, 
   { "Vortex;common", "tracks/uranus.wav",
    StylePtr<Layers<StyleFire<Stripes<2500,-5000,BrownNoiseFlicker<RotateColorsX<Variation,Rgb<255,0,0>>,Black,20>,RotateColorsX<Variation,Rgb<4,0,8>>,
    BrownNoiseFlicker<Black,RotateColorsX<Variation,Rgb<115,15,220>>,70>,RotateColorsX<Variation,Rgb<42,0,105>>>,RotateColorsX<Variation,Rgb<30,0,66>>,0,5,FireConfig<2,3000,0>,FireConfig<2,3000,0>,
    FireConfig<2,3000,0>,FireConfig<2,3000,0>>,AlphaL<Stripes<2500,-3000,Red,Rgb<60,0,0>,Pulsing<Rgb<30,0,0>,Black,800>>,SwingSpeed<600>>,LockupTrL<Layers<AlphaL<AudioFlickerL<White>,Bump<Scale<BladeAngle<>,
    Scale<BladeAngle<0,16000>,Int<4000>,Int<26000>>,Int<6000>>,Scale<SwingSpeed<100>,Int<14000>,Int<18000>>>>,AlphaL<White,Bump<Scale<BladeAngle<>,
    Scale<BladeAngle<0,16000>,Int<4000>,Int<26000>>,Int<6000>>,Int<10000>>>>,TrConcat<TrInstant,White,TrFade<400>>,TrConcat<TrJoinR<TrWipe<100>,TrWipeIn<100>>,White,TrJoinR<TrWipe<100>,TrWipeIn<100>>>,
    SaberBase::LOCKUP_NORMAL>,ResponsiveLightningBlockL<Strobe<White,AudioFlicker<White,Blue>,50,1>,TrConcat<TrInstant,AlphaL<White,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,
    HumpFlickerL<AlphaL<White,Int<16000>>,30>,TrSmoothFade<600>>>,SparkleL<White,100,400>,ResponsiveStabL<Red,TrWipeIn<600>,TrWipe<600>>,
    ResponsiveBlastL<White,Int<400>,Scale<SwingSpeed<200>,Int<100>,Int<400>>,Int<400>>,ResponsiveClashL<White,TrInstant,TrFade<400>,Scale<BladeAngle<0,16000>,Int<4000>,Int<26000>>,Int<6000>,Int<20000>>,
    TransitionEffectL<TrConcat<TrInstant,AudioFlickerL<White>,TrFade<800>>,EFFECT_IGNITION>,TransitionEffectL<TrConcat<TrInstant,HumpFlickerL<White,40>,TrFade<1000>>,
    EFFECT_RETRACTION>,LockupTrL<AlphaL<BrownNoiseFlickerL<White,Int<300>>,SmoothStep<Int<30000>,Int<5000>>>,TrWipeIn<400>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL<AlphaL<Mix<TwistAngle<>,Red,Orange>,
    SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,InOutTrL<TrConcat<TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<400>,Int<300>,Int<400>,Int<32768>>,
    Mix<SmoothStep<Int<5500>,Int<-2000>>,Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<350>,Int<300>,Int<350>,Int<32768>>,Mix<SmoothStep<Int<11000>,Int<-2000>>,
    Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<300>,Int<300>,Int<300>,Int<32768>>,Mix<SmoothStep<Int<16500>,Int<-2000>>,
    Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<250>,Int<300>,Int<250>,Int<32768>>,Mix<SmoothStep<Int<22000>,Int<-2000>>,
    Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<200>,Int<300>,Int<200>,Int<32768>>,Mix<SmoothStep<Int<27500>,Int<-2000>>,
    Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWipeIn<200>,Mix<SmoothStep<Int<33000>,Int<-2000>>,Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrFade<300>>,
    TrConcat<TrWipe<200>,Mix<SmoothStep<Int<27500>,Int<-2000>>,Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<200>,Int<300>,Int<200>,Int<0>>,
    Mix<SmoothStep<Int<22000>,Int<-2000>>,Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<250>,Int<300>,Int<250>,Int<0>>,
    Mix<SmoothStep<Int<16500>,Int<-2000>>,Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<300>,Int<300>,Int<300>,Int<0>>,
    Mix<SmoothStep<Int<11000>,Int<-2000>>,Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<350>,Int<300>,Int<350>,Int<0>>,
    Mix<SmoothStep<Int<5500>,Int<-2000>>,Black,RotateColorsX<Variation,Rgb<255,0,0>>>,TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<400>,Int<300>,Int<400>,Int<0>>,Black,
    TrWaveX<RotateColorsX<Variation,Rgb<255,0,0>>,Int<400>,Int<300>,Int<400>,Int<0>>,Black,TrInstant>,Black>,TransitionEffectL<TrConcat<TrInstant,AlphaL<White,Bump<Int<0>,Int<10000>>>,TrFade<3000>,
    AlphaL<Orange,Bump<Int<0>,Int<8000>>>,TrFade<3000>,AlphaL<Red,Bump<Int<0>,Int<6000>>>,TrFade<2000>>,EFFECT_RETRACTION>,TransitionEffectL<TrConcat<TrFade<2000>,
    AlphaL<HumpFlickerL<RotateColorsX<Variation,Rgb<255,0,0>>,10>,Bump<Int<0>,Int<4000>>>,TrFade<2950>,AlphaL<HumpFlickerL<RotateColorsX<Variation,Rgb<255,0,0>>,15>,Bump<Int<0>,Int<5000>>>,TrFade<3000>,
    AlphaL<HumpFlickerL<RotateColorsX<Variation,Rgb<255,0,0>>,20>,Bump<Int<0>,Int<6000>>>,TrBoing<1000,3>>,EFFECT_PREON>>>(),"tsb"},
};

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

#ifdef CONFIG_BUTTONS
Button PowerButton(BUTTON_POWER, powerButtonPin, "pow");
Button AuxButton(BUTTON_AUX, auxPin, "aux");
#endif

You also need to remove one of your blades from the blades array.

You have:

Change it to:

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

Got this error finally.

c:/users/jpark/appdata/local/arduino15/packages/proffieboard/tools/arm-none-eabi-gcc/9-2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld.exe:C:\Users\jpark\AppData\Local\Arduino15\packages\proffieboard\hardware\stm32l4\3.6.0\variants\STM32L452RE-ProffieboardV3/linker_scripts/STM32L452RE_FLASH.ld:224: warning: memory region `SRAM2' not declared
Sketch uses 211184 bytes (41%) of program storage space. Maximum is 507904 bytes.

Now when I go back into Arduino ProffieOS. Under “Tools” I scroll down to “Port” but it is greyed out. I imagine there is something in the preference menu I need to check or rather uncheck?

Answered my own question.

I do have a follow up question though. I uploaded my “Sword” folder into my SD card but I couldnt get sound out of the saber once installed. For reference this is how I currently have the items set inside the “Sword” folder.

I suggest reading about sound font file naming here:

Looks like your missing quite a few files in that folder

Anything that lights up is a blade: crystal chamber, accent LEDs, buttons, cross-blades (that would be two, unless they are wired in parallel), if your NPXL connector has LEDs (in some cases this can also be two just for the connector) …

If you have everything configured for two blades, no you won’t break anything. The Proffie board only “sends” signals but does not know if something is connected where you say it is connected and does not receive feedback if a “blade” is connected or not.

1 Like

We got it all squared away gents. Quite the journey but we made. I appreciate all the help!

2 posts were split to a new topic: Compile Error