#ifdef CONFIG_TOP #include "proffieboard_v2_config.h" #define NUM_BLADES 1 #define NUM_BUTTONS 2 #define VOLUME 1800 const unsigned int maxLedsPerStrip = 144; #define CLASH_THRESHOLD_G 3.0 #define ENABLE_AUDIO #define ENABLE_MOTION #define ENABLE_WS2811 #define ENABLE_SD #define COLOR_CHANGE_DIRECT #define DISABLE_DIAGNOSTIC_COMMANDS #define NO_REPEAT_RANDOM #define FETT263_THRUST_ON #define FETT263_SWING_ON #define FETT263_SWING_ON_SPEED 300 #define FETT263_TWIST_OFF #define FETT263_TWIST_ON #define MOTION_TIMEOUT 60 * 15 * 1000 #define IDLE_OFF_TIME 5 * 60 * 1000 #define FETT263_MULTI_PHASE #define FETT263_EDIT_MODE_MENU #define ENABLE_ALL_EDIT_OPTIONS #define KEEP_SAVEFILES_WHEN_PROGRAMMING #define FETT263_CLASH_STRENGTH_SOUND #define FETT263_DUAL_MODE_SOUND #define DISABLE_BASIC_PARSER_STYLES #define FETT263_MAX_CLASH 16 #define FETT263_BM_CLASH_DETECT 7 #define FETT263_SAY_BATTERY_PERCENT #define FETT263_SAY_COLOR_LIST #define FETT263_SAY_COLOR_LIST_CC #define EXTRA_COLOR_BUFFER_SPACE 60 #define FETT263_SPECIAL_ABILITIES //#define FETT263_SAVE_CHOREOGRAPHY #endif #ifdef CONFIG_PROP #include "../props/saber_fett263_buttons.h" #endif #ifdef CONFIG_PRESETS Preset presets[] = { { "Ezra;common", "Ezra/tracks/ezra.wav", /* copyright Fett263 Ahsoka (Primary Blade) OS7 Style https://fett263library.com/early-access/#Ahsoka OS7.11 v2.0 This Style Contains 2 Unique Combinations Base Style: Ezra Bridger Base Color: BaseColorArg (0) NOTE:This style includes Control Layer. Only one Control Layer should be used per preset. --Effects Included-- Ignition Effect Options: Default (0): SparkTip Ignition, 1: Standard Ignition [Color: IgnitionColorArg] Retraction Effect: Standard Retraction [Color: RetractionColorArg] Lockup Effect: 0: mainLockMulti0Shape - Begin: Real Clash - Style: Intensity AudioFlicker - End: Full Blade Absorb [Color: LockupColorArg] Lightning Block Effect: 0: mainLBMulti0Shape - Begin: Responsive Impact - Style: Strobing AudioFlicker - End: Full Blade Absorb [Color: LBColorArg] Drag Effect: 0: mainDragMulti0Shape - Begin: Wipe In - Style: Intensity Sparking Drag - End: Wipe Out [Color: DragColorArg] Melt Effect: 0: mainMeltMulti0Shape - Begin: Wipe In - Style: Intensity Melt - End: Wipe Out [Color: StabColorArg] Stab Effect: AudioFlicker Stab [Color: StabColorArg] Interactive Blast: Single Blast - Default Level (Uses Style Option 2 for Editing): 1000 ms Interactive Blast requires blast.wav files in font. When Blast is triggered blast.wav will play, to deflect blast (blst.wav and visual effect) swing within 1000ms of blaster sound ending. Blast Effect (Randomly Selected): Blast Wave (Sound Based), Blast Fade (Sound Based), Full Blade Blast Fade [Color: BlastColorArg] Clash Effect: Real Clash V1 [Color: ClashColorArg] Battery Level: % Blade (Green to Red) Display Volume: % Blade [Color: BaseColorArg] Special Ability 1: Toggle Rain Mode Uses trloop00.wav or trloop/000/000.wav (rain sounds looped) Special Ability 5: Play Sound - Ignite Uses quote01.wav or quote/001/000.wav */ StylePtr>,RgbArg>,Mix,Black,RgbArg>>,RgbArg>,Mix,Black,RgbArg>>>,RgbArg>>,EffectSequence>,SparkleF<300,800>>,AlphaL>>,TransitionEffectL,EFFECT_USER1>,TransitionEffectL>,TrWipeIn<200>>,AlphaL>>,SmoothStep,Int<2000>>>,TrWipe<200>>,EFFECT_STAB>,TransitionEffectL>,Scale,Int<100>,Int<400>>,Int<100>,Scale,Int<100>,Int<400>>,Scale,Int<28000>,Int<8000>>>,TrConcat,Scale,Int<9000>,Int<12000>>>,RgbArg>,Mix,Black,RgbArg>>>,TrFade<300>>,TrConcat,TrInstant>,RgbArg>,TrFade<300>>>,EFFECT_BLAST>,Mix,Int<26000>>,TransitionEffectL>,Bump,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<12000>,Int<60000>>>>,TrFadeX,Int<200>,Int<400>>>>,EFFECT_CLASH>,TransitionEffectL>,Scale,Int<100>,Int<400>>,Int<100>,Scale,Int<100>,Int<400>>,Scale,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>>,EFFECT_CLASH>>,LockupTrL,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<14000>,Int<22000>>>,AudioFlicker>,Mix,Black,RgbArg>>>,BrownNoiseFlicker>,Mix,Black,RgbArg>>,300>>,Bump,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<14000>,Int<22000>>>>,AlphaL>,Mix,Black,RgbArg>>>,Bump,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<14000>,Int<18000>>>>,TrExtend<5000,TrInstant>,TrFade<5000>,EFFECT_LOCKUP_BEGIN>,TrConcat,TrInstant>,Mix,Int<26000>>,RgbArg>,AlphaL>,Bump,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<20000>,Int<60000>>>>>,TrFade<300>>,TrConcat>,TrFade<400>>,SaberBase::LOCKUP_NORMAL,Int<1>>,ResponsiveLightningBlockL>,AudioFlicker>,Blue>,50,1>,TrConcat,AlphaL>,Bump,Int<10000>,Int<21000>>,Int<10000>>>,TrFade<200>>,TrConcat>,TrFade<400>>,Int<1>>,LockupTrL>>,BrownNoiseFlickerL>,Int<300>>,TrExtend<4000,TrInstant>,TrFade<4000>,EFFECT_DRAG_BEGIN>,SmoothStep,IntArg,Int<30000>>,Int<3000>>>,TrWipeIn<200>,TrWipe<200>,SaberBase::LOCKUP_DRAG,Int<1>>,LockupTrL,RgbArg>,RotateColorsX,RgbArg>>>,Mix>,Black,Mix,RgbArg>,RotateColorsX,RgbArg>>>>,Mix,Black,Mix,RgbArg>,RotateColorsX,RgbArg>>>>>,SmoothStep,IntArg,Int<30000>>,Int<3000>>>,TrConcat>,AlphaL,RgbArg>,RotateColorsX,RgbArg>>>,RotateColorsX,Mix,RgbArg>,RotateColorsX,RgbArg>>>>,100>,SmoothStep,IntArg,Int<30000>>,Int<3000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT,Int<1>>,TransitionEffectL,Int<24576>>>,AlphaL>,TrDoEffect>,EFFECT_INTERACTIVE_BLAST>,TransitionEffectL,TrInstant>,TransitionPulseL,ThresholdPulseF,Int<16000>>>,TrInstant>,EFFECT_GAME_CHOICE>,InOutTrL,Int<30000>>,EffectPulseF,Int<1>,Int<1>>,TrSelect,TrWipeSparkTipX>,BendTimePowInvX,Mult,Int<98304>>>>,TrWipeX,Mult,Int<98304>>>>>,TrInstant>,TrWipeInX,Mult,Int<98304>>>>,Black>,TransitionEffectL>,TrConcat>>,TrFade<1200>>,EFFECT_USER5>,TransitionEffectL>,Black,TrWipeX>>,EFFECT_USER5>,TransitionEffectL>,EFFECT_QUOTE,Int<1>,Int<-1>>,AlphaL>,TrDoEffectAlwaysX,Int<-1>>>,EFFECT_USER5>,TransitionEffectL,TrWipe<1000>>,AlphaL,SmoothStep>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>,TransitionEffectL>,AlphaL>,SmoothStep>>,TrFade<300>>,EFFECT_VOLUME_LEVEL>>>(), "Ezra"}, { "Sabine;common", "Sabine/tracks/sabine6.wav", /* copyright Fett263 Ahsoka (Primary Blade) OS7 Style https://fett263library.com/early-access/#Ahsoka OS7.11 v2.0 This Style Contains 2 Unique Combinations Base Style: Sabine Wren Base Color: BaseColorArg (0) NOTE:This style includes Control Layer. Only one Control Layer should be used per preset. --Effects Included-- Ignition Effect Options: Default (0): SparkTip Ignition, 1: Standard Ignition [Color: IgnitionColorArg] Retraction Effect: Standard Retraction [Color: RetractionColorArg] Lockup Effect: 0: mainLockMulti0Shape - Begin: Real Clash - Style: Intensity AudioFlicker - End: Full Blade Absorb [Color: LockupColorArg] Lightning Block Effect: 0: mainLBMulti0Shape - Begin: Responsive Impact - Style: Strobing AudioFlicker - End: Full Blade Absorb [Color: LBColorArg] Drag Effect: 0: mainDragMulti0Shape - Begin: Wipe In - Style: Intensity Sparking Drag - End: Wipe Out [Color: DragColorArg] Melt Effect: 0: mainMeltMulti0Shape - Begin: Wipe In - Style: Intensity Melt - End: Wipe Out [Color: StabColorArg] Stab Effect: AudioFlicker Stab [Color: StabColorArg] Interactive Blast: Single Blast - Default Level (Uses Style Option 2 for Editing): 1000 ms Interactive Blast requires blast.wav files in font. When Blast is triggered blast.wav will play, to deflect blast (blst.wav and visual effect) swing within 1000ms of blaster sound ending. Blast Effect (Randomly Selected): Blast Wave (Sound Based), Blast Fade (Sound Based), Full Blade Blast Fade [Color: BlastColorArg] Clash Effect: Real Clash V1 [Color: ClashColorArg] Battery Level: % Blade (Green to Red) Display Volume: % Blade [Color: BaseColorArg] Special Ability 1: Toggle Rain Mode Uses trloop00.wav or trloop/000/000.wav (rain sounds looped) Special Ability 5: Play Sound - Ignite */ StylePtr>,RgbArg>,Mix,Black,RgbArg>>,RgbArg>,Mix,Black,RgbArg>>>,RgbArg>>,EffectSequence>,SparkleF<300,800>>,AlphaL>>,TransitionEffectL,EFFECT_USER1>,TransitionEffectL>,TrWipeIn<200>>,AlphaL>>,SmoothStep,Int<2000>>>,TrWipe<200>>,EFFECT_STAB>,TransitionEffectL>,Scale,Int<100>,Int<400>>,Int<100>,Scale,Int<100>,Int<400>>,Scale,Int<28000>,Int<8000>>>,TrConcat,Scale,Int<9000>,Int<12000>>>,RgbArg>,Mix,Black,RgbArg>>>,TrFade<300>>,TrConcat,TrInstant>,RgbArg>,TrFade<300>>>,EFFECT_BLAST>,Mix,Int<26000>>,TransitionEffectL>,Bump,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<12000>,Int<60000>>>>,TrFadeX,Int<200>,Int<400>>>>,EFFECT_CLASH>,TransitionEffectL>,Scale,Int<100>,Int<400>>,Int<100>,Scale,Int<100>,Int<400>>,Scale,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>>,EFFECT_CLASH>>,LockupTrL,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<14000>,Int<22000>>>,AudioFlicker>,Mix,Black,RgbArg>>>,BrownNoiseFlicker>,Mix,Black,RgbArg>>,300>>,Bump,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<14000>,Int<22000>>>>,AlphaL>,Mix,Black,RgbArg>>>,Bump,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<14000>,Int<18000>>>>,TrExtend<5000,TrInstant>,TrFade<5000>,EFFECT_LOCKUP_BEGIN>,TrConcat,TrInstant>,Mix,Int<26000>>,RgbArg>,AlphaL>,Bump,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<20000>,Int<60000>>>>>,TrFade<300>>,TrConcat>,TrFade<400>>,SaberBase::LOCKUP_NORMAL,Int<1>>,ResponsiveLightningBlockL>,AudioFlicker>,Blue>,50,1>,TrConcat,AlphaL>,Bump,Int<10000>,Int<21000>>,Int<10000>>>,TrFade<200>>,TrConcat>,TrFade<400>>,Int<1>>,LockupTrL>>,BrownNoiseFlickerL>,Int<300>>,TrExtend<4000,TrInstant>,TrFade<4000>,EFFECT_DRAG_BEGIN>,SmoothStep,IntArg,Int<30000>>,Int<3000>>>,TrWipeIn<200>,TrWipe<200>,SaberBase::LOCKUP_DRAG,Int<1>>,LockupTrL,RgbArg>,RotateColorsX,RgbArg>>>,Mix>,Black,Mix,RgbArg>,RotateColorsX,RgbArg>>>>,Mix,Black,Mix,RgbArg>,RotateColorsX,RgbArg>>>>>,SmoothStep,IntArg,Int<30000>>,Int<3000>>>,TrConcat>,AlphaL,RgbArg>,RotateColorsX,RgbArg>>>,RotateColorsX,Mix,RgbArg>,RotateColorsX,RgbArg>>>>,100>,SmoothStep,IntArg,Int<30000>>,Int<3000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT,Int<1>>,TransitionEffectL,Int<24576>>>,AlphaL>,TrDoEffect>,EFFECT_INTERACTIVE_BLAST>,TransitionEffectL,TrInstant>,TransitionPulseL,ThresholdPulseF,Int<16000>>>,TrInstant>,EFFECT_GAME_CHOICE>,InOutTrL,Int<30000>>,EffectPulseF,Int<1>,Int<1>>,TrSelect,TrWipeSparkTipX>,BendTimePowInvX,Mult,Int<98304>>>>,TrWipeX,Mult,Int<98304>>>>>,TrInstant>,TrWipeInX,Mult,Int<98304>>>>,Black>,TransitionEffectL>,TrConcat>>,TrFade<1200>>,EFFECT_USER5>,TransitionEffectL>,Black,TrWipeX>>,EFFECT_USER5>,TransitionEffectL>,EFFECT_QUOTE,Int<-1>,Int<-1>>,AlphaL>,TrDoEffectAlwaysX,Int<-1>>>,EFFECT_USER5>,TransitionEffectL,TrWipe<1000>>,AlphaL,SmoothStep>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>,TransitionEffectL>,AlphaL>,SmoothStep>>,TrFade<300>>,EFFECT_VOLUME_LEVEL>>>(), "Sabine"}, }; BladeConfig blades[] = { { 0, WS281XBladePtr<136, bladePin, Color8::GRB, PowerPINS >(), CONFIGARRAY(presets) }, }; #endif #ifdef CONFIG_BUTTONS Button PowerButton(BUTTON_POWER, powerButtonPin, "pow"); Button AuxButton(BUTTON_AUX, auxPin, "aux"); #endif