Help with removing and adding fonts to 89sabers

Hello. I have an 89sabers Cal Kestis saber, and it did not come with the Kestis font. I have one I downloaded, but I cannot make heads nor tails of the 89sabers files and config.
The config file from 89sabers has 19 fonts in it, if I am reading it right, but there are at least 21 folders on the sd card, and some don’t match up.

I could past the config file here if that helps as well as the folder content names.

What I want to do is clean it up some, maybe have 5 fonts (including the new Kestis one), but I don’t where to start.

Also, I must note I do not have any experience with programming a proffie board. I do have all the software downloaded, and I think I can communicate with the board, but this is the step I am at.

Any advice? Start with whole new config and sdcard contents? ( I did back it up, as well as its available from 89sabers)

Upon further investigation, I do only have the 19 fonts from the config file. There are 5 more font directories, but they are not defined in the config file.

I think I will just try to start a new config file with the Fallen Order fonts that I have.

It’s usually easier to modify an existing config file than to create a new one from scratch. But really, it’s mostly the blades and button which should generally always be copied from your old config file, the rest can be made up fairly easily with the existing tools.

Thanks, I will try to do that. Can I post the file to get advice as to what to keep?

Absolutely.

Here is the config file:

#ifdef CONFIG_TOP
#include "proffieboard_v3_config.h"
#define NUM_BLADES 2
#define NUM_BUTTONS 2
#define VOLUME 1200
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[] = {  
   { "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"},
   { "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"},
   { "SmthGrey;common", "tracks/mercury.wav",
    StylePtr<InOutHelper<EasyBlade<OnSpark<GhostWhite,Black>,White>,300,800>>(),
    StylePtr<InOutHelper<EasyBlade<OnSpark<GhostWhite,Black>,White>,300,800>>(),"white1"},
   { "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>>(), "snowblue"},
   { "luke;common", "tracks/venus.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Cyan,White>,AudioFlicker<Blue,White>>,White>,400,800>>(),
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Cyan,White>,AudioFlicker<Blue,White>>,White>,400,800>>(), "Cyan"},
   { "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"},
   { "SmthFuzz;common", "tracks/uranus.wav",
    StyleFirePtr<Red,Yellow>(),
    StyleFirePtr<Red,Yellow>(), "fire"},
   { "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"},
   { "DV3;common", "tracks/mars.wav",
    StyleFirePtr<RandomBlink<3,Red,Red>,Yellow,1,0,10>(),
    StyleFirePtr<RandomBlink<3,Red,Red>,Yellow,1,0,10>(), "KYLO"},
   { "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"},
   { "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"},
   { "Fire;common", "tracks/mars.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"},
   { "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"},
   { "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"},
   { "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"},
   { "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"},
   { "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"},
   { "Rey;common", "tracks/mars.wav",
    StylePtr<InOutHelper<EasyBlade<Sparkle<OrangeRed>,White>,300,800>>(),
    StylePtr<InOutHelper<EasyBlade<Sparkle<OrangeRed>,White>,300,800>>(), "sparkstar"},
   { "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

Here is the contents of the stock sdcard
Screenshot 2024-07-07 182513

here is the fonts I would like to instead:
Screenshot 2024-07-07 182613

I think your config file looks fairly reasonable in general, it’s just a matter of swapping out the presets for ones that behave more like what you want.

So, here is the steps I would recommend:

  1. Make a backup of your SD card if you haven’t already. (Copy all files to a folder on your computer and/or your favorite online backup place, like google drive.)
  2. Backup the program that is currently on your saber, here is how: ProffieOS Documentation: How to back up a Proffieboard
  3. Take the sd card out of the saber and use an sd card reader to put all the fonts on the SD card. Note that having this many fonts on the SD card may lead to some stuttering, but it may be easier to fix that after you’ve actually decided what exactly all your presets are.
  4. Start by changing one font, for instance find where it says “Graflex;common” and change it to “Bode Akuna;common”, upload and test that it works as expected.
  5. Now change all the fonts (one at a time, or several at a time is up to you) to use only the fonts you want. You may need to delete or duplicate some presets to get the right number. At this point you should also think about what styles you want to pair up with what font.
  6. More than likely, you’ll end up some some fonts that will need new styles to go with them, if the fonts came with styles, you might want to try those out, otherwise, proceed to the Fett263 style library and pick out something that goes will with your font(s).
  7. IF you have stuttering, or if you want to, format the SD card, then only put those fonts on it that you are actually going to use.
  8. done

In general, until you feel comfortable with the changes you’re making, start small (like change one preset, or one style) upload and test, and every time you make some reasonable progress, make a copy in case you want to go back to it later.

If you need help identifying what a “preset” is, I recommend reading this page first:

thanks for the help. I will try tonight.

The fonts did come with some really complicated styles…

/* copyright Fett263 CustomBlade (Primary Blade) OS7 Style
https://fett263.com/fett263-proffieOS7-style-library.html#CustomBlade
OS7.12 v1.017-p
Single Style
Multi Phase (Special Abilities*)
Default: Cal Kestis Survivor Blue [Rgb<0,0,255>]
1: Cal Kestis Survivor Cyan [Rgb<0,100,100>]
2: Cal Kestis Survivor Green [Rgb<0,255,0>]
3: Cal Kestis Survivor Indigo [Rgb<75,0,130>]
4: Cal Kestis Survivor Magenta [Rgb<255,0,255>]
5: Cal Kestis Survivor Orange [Rgb<255,165,0>]
6: Cal Kestis Survivor Purple [Rgb<128,0,128>]
7: Cal Kestis Survivor Yellow [Rgb<255,255,0>]
8: Cal Kestis Survivor Silver [Rgb<192,192,192>]
9: Cal Kestis Survivor Red [Rgb<255,0,0>]

Multi Phase Control: use Special Abilities controls to change Phase. Requires Alt Font.

*This style REQUIRES Alt Fonts alt000/ to alt009/ to be set up. Uses altchng.wav on change.
See https://pod.hubbe.net/sound/alt_sounds.html for more information.
--Effects Included--
Ignition Effect: SparkTip Ignition [Color: IgnitionColorArg]
Retraction Effect: SparkTip Retraction [Color: RetractionColorArg]
Lockup Effect: Responsive Lockup, Begin Effect: Real Clash, End Effect: Dissipate [Color: LockupColorArg]
LightningBlock Effect: Responsive Lightning Block [Color: LBColorArg]
Drag Effect: Intensity Sparking Drag [Color: DragColorArg]
Melt Effect: Intensity Melt [Color: StabColorArg]
Blast Effect: Responsive Blast Fade (Sound Based) [Color: BlastColorArg]
Clash Effect: Real Clash V1 [Color: ClashColorArg]
Swing Effect: Force Slow [Color: SwingColorArg]
Special Ability 1: Next Phase
Special Ability 2: Previous Phase
Special Ability 3: Play Quote
Special Ability 4: Next Quote
Special Ability 5: Next Phase + Ignite
Special Ability 6: Previous Phase + Ignite
Special Ability 7: Play Sound - Ignite Uses quote.wav #0

*/
StylePtr<Layers<Black,ColorSelect<AltF,TrSelect<Ifon<Int<1>,Int<0>>,TrInstant,TrSmoothFadeX<Int<1000>>>,StripesX<Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<3000>,Int<3000>>,Int<8000>,Int<3000>>,Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<3000>,Int<3000>>,Int<-2600>,Int<-3600>>,Rgb<0,0,255>,Mix<Int<12000>,Black,Rgb<0,0,255>>,Pulsing<Rgb<0,0,255>,Mix<Int<8000>,Black,Rgb<0,0,255>>,1400>>,StripesX<Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<3000>,Int<3000>>,Int<10000>,Int<5000>>,Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<3000>,Int<3000>>,Int<-2000>,Int<-3000>>,Rgb<0,100,100>,Mix<Int<12000>,Black,Rgb<0,100,100>>,Pulsing<Rgb<0,100,100>,Mix<Int<8000>,Black,Rgb<0,100,100>>,1400>>,StripesX<Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<3000>,Int<3000>>,Int<4000>,Int<1800>>,Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<2000>,Int<4000>>,Int<-2800>,Int<-4000>>,Mix<Int<16000>,Black,Rgb<0,255,0>>,Mix<Sin<Int<20>,Int<22000>,Int<32768>>,Black,Rgb<0,255,0>>,Mix<Int<8000>,Black,Rgb<0,255,0>>>,StripesX<Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<3000>,Int<3000>>,Int<9000>,Int<4000>>,Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<3000>,Int<3000>>,Int<-2400>,Int<-3000>>,Rgb<75,0,130>,Mix<Int<15000>,Black,Rgb<75,0,130>>,Pulsing<Rgb<75,0,130>,Mix<Int<10000>,Black,Rgb<75,0,130>>,600>>,StripesX<Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<3000>,Int<3000>>,Int<9000>,Int<4000>>,Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<3000>,Int<3000>>,Int<-2000>,Int<-3000>>,Rgb<255,0,255>,Mix<Int<12000>,Black,Rgb<255,0,255>>,Pulsing<Rgb<255,0,255>,Mix<Int<8000>,Black,Rgb<255,0,255>>,800>>,StripesX<Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<3000>,Int<3000>>,Int<4000>,Int<1800>>,Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<2000>,Int<4000>>,Int<-2800>,Int<-4000>>,Mix<Int<16000>,Black,Rgb<255,165,0>>,Mix<Sin<Int<20>,Int<20000>,Int<32768>>,Black,Rgb<255,165,0>>,Mix<Int<10000>,Black,Rgb<255,165,0>>>,StripesX<Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<3000>,Int<3000>>,Sin<Int<20>,Int<10000>,Int<7000>>,Int<3000>>,Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<2000>,Int<4000>>,Int<-2300>,Int<-4000>>,Rgb<128,0,128>,Mix<Int<12000>,Black,Rgb<128,0,128>>,Pulsing<Rgb<128,0,128>,Mix<Int<20000>,Black,Rgb<128,0,128>>,2000>>,StripesX<Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<3000>,Int<3000>>,Int<3600>,Int<1600>>,Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<2000>,Int<4000>>,Int<-2700>,Int<-4100>>,Mix<Int<16000>,Black,Rgb<255,255,0>>,Mix<Sin<Int<20>,Int<22000>,Int<32768>>,Black,Rgb<255,255,0>>,Mix<Int<8000>,Black,Rgb<255,255,0>>>,StripesX<Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<3000>,Int<3000>>,Int<4000>,Int<1800>>,Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<2000>,Int<4000>>,Int<-3000>,Int<-4500>>,Mix<Int<16000>,Black,Rgb<192,192,192>>,Mix<Sin<Int<20>,Int<22000>,Int<32768>>,Black,Rgb<192,192,192>>,Mix<Int<8000>,Black,Rgb<192,192,192>>>,StripesX<Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<3000>,Int<2000>>,Int<6000>,Int<2000>>,Scale<HoldPeakF<Sum<EffectPulseF<EFFECT_IGNITION>,EffectPulseF<EFFECT_ALT_SOUND>>,Int<3000>,Int<4000>>,Int<-2600>,Int<-3600>>,Rgb<255,0,0>,Mix<Int<12000>,Black,Rgb<255,0,0>>,Pulsing<Rgb<255,0,0>,Mix<Int<8000>,Black,Rgb<255,0,0>>,1000>>>,TransitionEffectL<TrConcat<TrJoin<TrDelay<850>,TrFade<300>>,Pulsing<RgbArg<SWING_COLOR_ARG,Rgb<100,100,150>>,Mix<Int<16384>,Black,RgbArg<SWING_COLOR_ARG,Rgb<100,100,150>>>,3000>,TrFade<300>>,EFFECT_FORCE>,TransitionEffectL<TrConcat<TrInstant,AlphaMixL<Bump<Scale<BladeAngle<>,Int<28000>,Int<000>>,Scale<WavLen<>,Int<9000>,Int<13000>>>,RgbArg<BLAST_COLOR_ARG,Rgb<255,255,255>>,Mix<Int<16384>,Black,RgbArg<BLAST_COLOR_ARG,Rgb<255,255,255>>>>,TrFade<300>>,EFFECT_BLAST>,Mix<IsLessThan<ClashImpactF<>,Int<26000>>,TransitionEffectL<TrConcat<TrInstant,AlphaL<RgbArg<CLASH_COLOR_ARG,Rgb<255,255,255>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Scale<ClashImpactF<>,Int<12000>,Int<60000>>>>,TrFadeX<Scale<ClashImpactF<>,Int<200>,Int<400>>>>,EFFECT_CLASH>,TransitionEffectL<TrWaveX<RgbArg<CLASH_COLOR_ARG,Rgb<255,255,255>>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Int<100>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>>,EFFECT_CLASH>>,LockupTrL<AlphaMixL<Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Scale<SwingSpeed<100>,Int<14000>,Int<18000>>>>,AudioFlickerL<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>>,BrownNoiseFlickerL<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,Int<200>>>,TrConcat<TrInstant,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,TrFade<400>>,TrConcat<TrInstant,AlphaL<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,Int<0>>,TrWaveX<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,Int<300>,Int<100>,Int<400>,Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Scale<SwingSpeed<100>,Int<14000>,Int<18000>>>>>,SaberBase::LOCKUP_NORMAL>,ResponsiveLightningBlockL<Strobe<RgbArg<LB_COLOR_ARG,Rgb<255,255,255>>,AudioFlicker<RgbArg<LB_COLOR_ARG,Rgb<255,255,255>>,Blue>,50,1>,TrConcat<TrInstant,AlphaL<RgbArg<LB_COLOR_ARG,Rgb<255,255,255>>,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,HumpFlickerL<AlphaL<RgbArg<LB_COLOR_ARG,Rgb<255,255,255>>,Int<16000>>,30>,TrSmoothFade<600>>>,LockupTrL<AlphaL<RandomPerLEDFlickerL<RgbArg<DRAG_COLOR_ARG,Rgb<255,255,255>>>,SmoothStep<IntArg<DRAG_SIZE_ARG,28000>,Int<3000>>>,TrConcat<TrJoin<TrDelay<4000>,TrWipeIn<200>>,AlphaL<BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,Rgb<255,255,255>>,Int<300>>,SmoothStep<IntArg<DRAG_SIZE_ARG,28000>,Int<3000>>>,TrFade<4000>>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL<AlphaL<Remap<Scale<RampF,Int<65536>,Int<0>>,StaticFire<Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,0,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,0,0>>>>,Mix<TwistAngle<>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,0,0>>>,RotateColorsX<Int<3000>,Mix<Int<12000>,Black,RgbArg<STAB_COLOR_ARG,Rgb<255,0,0>>>>>,0,3,5,3000,10>>,SmoothStep<IntArg<MELT_SIZE_ARG,28000>,Int<4000>>>,TrConcat<TrWipeIn<100>,AlphaL<RgbArg<STAB_COLOR_ARG,Rgb<255,0,0>>,SmoothStep<IntArg<MELT_SIZE_ARG,28000>,Int<4000>>>,TrJoin<TrDelay<4000>,TrFade<300>>,AlphaL<Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,Rgb<255,0,0>>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,Rgb<255,0,0>>>>,SmoothStep<IntArg<MELT_SIZE_ARG,28000>,Int<4000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT>,InOutTrL<TrSelect<IncrementWithReset<ThresholdPulseF<EffectPulseF<EFFECT_USER7>,Int<30000>>,EffectPulseF<EFFECT_RETRACTION>,Int<1>,Int<1>>,TrWipeSparkTipX<RgbArg<IGNITION_COLOR_ARG,Rgb<255,255,255>>,BendTimePowInvX<IgnitionTime<0>,Mult<IntArg<IGNITION_OPTION2_ARG,10992>,Int<98304>>>>,TrInstant>,TrWipeInSparkTipX<RgbArg<RETRACTION_COLOR_ARG,Rgb<255,255,255>>,BendTimePowInvX<RetractionTime<0>,Mult<IntArg<RETRACTION_OPTION2_ARG,10992>,Int<98304>>>>,Black>,TransitionEffectL<TrConcat<TrInstant,Black,TrWipeSparkTipX<RgbArg<IGNITION_COLOR_ARG,Rgb<255,255,255>>,WavLen<>>>,EFFECT_USER5>,TransitionEffectL<TrConcat<TrDelay<10>,Black,TrWipeSparkTipX<RgbArg<IGNITION_COLOR_ARG,Rgb<255,255,255>>,WavLen<>>>,EFFECT_USER6>,TransitionEffectL<TrConcat<TrDelayX<Int<2>>,Black,TrWipeSparkTipX<RgbArg<IGNITION_COLOR_ARG,Rgb<255,255,255>>,WavLen<>>>,EFFECT_USER7>>>(),

Do I just replace the 89sabers “StylePtr” lines with this one?
Also, why does there appear to be doubled up StylePtr lines for each font in the 89sabers file?

I do agree about going slow. I will just do one font for now, as you said. Then baby steps. I am just curious.

Yes.

Your config file has two “blades”, the second one is listed as having 30 individual pixels, but it doesn’t say anything about where that is actually wired to.

The first style controls the main blade, the second one controls the second blade. (whatever that is)

Ah, that makes sense. The hilt is the “destroyed” Kestis version with wires hanging out the bottom. It also has holes in the pommel, and a rear facing npxl board to light up the pommel. I assume that’s it.

Thank you for your continued help!

I was able to back up the proffie bin. I then transferred the font dir “CalKestis-Blue” to the removed sdcard. I edited the h file to rename “Graflex;common” to “CalKestis-Blue;common”. It worked perfectly.

Overconfident, I removed all the fonts and transferred over the new one. I edited the config to only have the new fonts. I reconnected the board and uploaded the sketch. I get a missing bracket error.

I don’t understand, it all looks fine (to me). Here is the error:

In file included from E:\ProffieOS\ProffieOS.ino:621:
E:\ProffieOS\config\89Sabers_CK.h:67:4: error: expected '}' before '{' token
   67 |    { "CalKestis-Purple;common", "tracks/venus.wav",
      |    ^
E:\ProffieOS\config\89Sabers_CK.h:54:20: note: to match this '{'
   54 | Preset presets[] = {
      |                    ^
E:\ProffieOS\config\89Sabers_CK.h:67:4: error: expected ',' or ';' before '{' token
   67 |    { "CalKestis-Purple;common", "tracks/venus.wav",
      |    ^
E:\ProffieOS\config\89Sabers_CK.h:70:4: error: expected unqualified-id before '{' token
   70 |    { "CalKestis-Green;common", "tracks/venus.wav",
      |    ^
E:\ProffieOS\config\89Sabers_CK.h:72:103: error: expected unqualified-id before ',' token
   72 |     StylePtr<InOutHelper<EasyBlade<OnSpark<Sparkle<HotPink,Yellow>>,GreenYellow>,300,800>>(), "green"},
      |                                                                                                       ^
E:\ProffieOS\config\89Sabers_CK.h:73:4: error: expected unqualified-id before '{' token
   73 |    { "CalKestis-Yellow;common", "tracks/venus.wav",
      |    ^
E:\ProffieOS\config\89Sabers_CK.h:75:104: error: expected unqualified-id before ',' token
   75 |     StylePtr<InOutHelper<EasyBlade<OnSpark<Sparkle<HotPink,Yellow>>,GreenYellow>,300,800>>(), "yellow"},
      |                                                                                                        ^
E:\ProffieOS\config\89Sabers_CK.h:76:4: error: expected unqualified-id before '{' token
   76 |    { "CalKestis-Orange;common", "tracks/venus.wav",
      |    ^
E:\ProffieOS\config\89Sabers_CK.h:78:104: error: expected unqualified-id before ',' token
   78 |     StylePtr<InOutHelper<EasyBlade<OnSpark<Sparkle<HotPink,Yellow>>,GreenYellow>,300,800>>(), "orange"},
      |                                                                                                        ^
E:\ProffieOS\config\89Sabers_CK.h:79:4: error: expected unqualified-id before '{' token
   79 |    { "BodeAkuna;common", "tracks/uranus.wav",
      |    ^
E:\ProffieOS\config\89Sabers_CK.h:81:123: error: expected unqualified-id before ',' token
   81 |     StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Magenta,White>,AudioFlicker<Blue,White>>,White>,300,800>>(), "chunzise"},
      |                                                                                                                           ^
E:\ProffieOS\config\89Sabers_CK.h:82:4: error: expected unqualified-id before '{' token
   82 |    { "SecondSister;common", "tracks/mars.wav",
      |    ^
E:\ProffieOS\config\89Sabers_CK.h:84:113: error: expected unqualified-id before ',' token
   84 |     StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Red,White>,AudioFlicker<Red,White>>,White>,400,800>>(), "red"},
      |                                                                                                                 ^
E:\ProffieOS\config\89Sabers_CK.h:85:4: error: expected unqualified-id before '{' token
   85 |    { "DarthVader;common", "tracks/mars.wav",
      |    ^
E:\ProffieOS\config\89Sabers_CK.h:87:117: error: expected unqualified-id before ',' token
   87 |     StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Red,White>,AudioFlicker<Red,White>>,White>,400,800>>(), "chunRed"},
      |                                                                                                                     ^
E:\ProffieOS\config\89Sabers_CK.h:88:1: error: expected unqualified-id before '}' token
   88 | };
      | ^
E:\ProffieOS\config\89Sabers_CK.h:88:1: error: expected declaration before '}' token

exit status 1

Compilation error: expected '}' before '{' token

And here is the new config file.

#ifdef CONFIG_TOP
#include "proffieboard_v3_config.h"
#define NUM_BLADES 2
#define NUM_BUTTONS 2
#define VOLUME 1200
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[] = {  
   { "CalKestis-Blue;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>>(), "blue"},
   { "CalKestis-Cyan;common", "tracks/venus.wav",
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Cyan,White>,AudioFlicker<Blue,White>>,White>,400,800>>(),
    StylePtr<InOutHelper<SimpleClash<Lockup<Blast<Cyan,White>,AudioFlicker<Blue,White>>,White>,400,800>>(), "cyan"},
   { "CalKestis-Indigo;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>>(), "indigo"},
   { "CalKestis-Magenta;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>>(), "magenta"}
   { "CalKestis-Purple;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>>(), "purple"}
   { "CalKestis-Green;common", "tracks/venus.wav",
    StylePtr<InOutHelper<EasyBlade<OnSpark<Sparkle<HotPink,Yellow>>,GreenYellow>,300,800>>(),
    StylePtr<InOutHelper<EasyBlade<OnSpark<Sparkle<HotPink,Yellow>>,GreenYellow>,300,800>>(), "green"},
   { "CalKestis-Yellow;common", "tracks/venus.wav",
    StylePtr<InOutHelper<EasyBlade<OnSpark<Sparkle<HotPink,Yellow>>,GreenYellow>,300,800>>(),
    StylePtr<InOutHelper<EasyBlade<OnSpark<Sparkle<HotPink,Yellow>>,GreenYellow>,300,800>>(), "yellow"},
   { "CalKestis-Orange;common", "tracks/venus.wav",
    StylePtr<InOutHelper<EasyBlade<OnSpark<Sparkle<HotPink,Yellow>>,GreenYellow>,300,800>>(),
    StylePtr<InOutHelper<EasyBlade<OnSpark<Sparkle<HotPink,Yellow>>,GreenYellow>,300,800>>(), "orange"},
   { "BodeAkuna;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"},
   { "SecondSister;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>>(), "red"},
   { "DarthVader;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"},
};

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

I think I found it. I missed a comma at the end of magenta and purple.

You’re in good company, literally everybody does this. :slight_smile:

2 Likes