#ifdef CONFIG_TOP #include "proffieboard_v2_config.h" #define NUM_BLADES 4 #define NUM_BUTTONS 2 #define VOLUME 225 const unsigned int maxLedsPerStrip = 144; #define CLASH_THRESHOLD_G 3.5 #define ENABLE_AUDIO #define ENABLE_MOTION #define ENABLE_WS2811 #define ENABLE_SD #define ENABLE_SSD1306 #define COLOR_CHANGE_DIRECT #define DISABLE_DIAGNOSTIC_COMMANDS #define FETT263_LOCKUP_DELAY 200 #define FETT263_TWIST_OFF #define FETT263_TWIST_ON #define FETT263_STAB_ON //#define SAVE_STATE #endif #ifdef CONFIG_PROP #include "../props/saber_fett263_buttons.h" #endif #ifdef CONFIG_PRESETS Preset presets[] = { { "Sith", "tracks/sith.wav", StylePtr,RotateColorsX>>,LockupTrL,Bump,Scale,Int<4000>,Int<26000>>,Int<6000>>,Scale,Int<14000>,Int<18000>>>>,AlphaL,Scale,Int<4000>,Int<26000>>,Int<6000>>,Int<10000>>>>,TrConcat>,TrConcat>,Int<50>>,TrSmoothFade<600>>,SaberBase::LOCKUP_NORMAL>,ResponsiveLightningBlockL,50,1>,TrConcat,Int<18000>>>,TrFade<200>>,TrConcat>,30>,TrSmoothFade<600>>>,ResponsiveStabL,TrWipe<600>>,ResponsiveBlastL,Scale,Int<100>,Int<400>>,Int<400>>,ResponsiveClashL,Scale,Int<4000>,Int<26000>>,Int<6000>,Int<20000>>,LockupTrL>,SmoothStep,Int<5000>>>,TrWipeIn<400>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL,Rgb<255,200,0>,DarkOrange>,SmoothStep,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,InOutTrL,TrWipeIn<500>,Black>>>(), StylePtr,TransitionEffectL>,EFFECT_BLAST>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,TransitionEffectL>,EFFECT_CLASH>,InOutTrL,TrWipeIn<500>>,Red,TrJoinR,TrWipeIn<500>>>>>>>(), StylePtr,RotateColorsX,TrWipe<200>>>,TransitionEffectL>,EFFECT_BLAST>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,TransitionEffectL>,EFFECT_CLASH>,InOutTrL,RotateColorsX,TrWipeIn<1000>>>,TrDelay<30000>,TransitionLoop,RotateColorsX,TrWipeIn<1000>>>,TrFade<500>>,EFFECT_RETRACTION>,TransitionEffectL,RotateColorsX,TrWipeIn<1000>>>,TrDelay<30000>,TransitionLoop,RotateColorsX,TrWipeIn<1000>>>,TrFade<500>>,EFFECT_NEWFONT>,TransitionEffectL,RotateColorsX,TrWipeIn<1000>>>,TrDelay<30000>,TransitionLoop,RotateColorsX,TrWipeIn<1000>>>,TrFade<500>>,EFFECT_BOOT>>>>>(), StylePtr,TrWipeIn<800>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TransitionEffectL>,EFFECT_BLAST>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,TransitionEffectL>,EFFECT_CLASH>,InOutTrL,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_RETRACTION>,TransitionEffectL,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_NEWFONT>,TransitionEffectL,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_BOOT>>>>>(), "cyan"}, { "Dyad", "tracks/sith.wav", StylePtr,AudioFlicker,RotateColorsX>>,StyleFire,RandomPerLEDFlicker>,RotateColorsX>>,300>,RotateColorsX>,0,6,FireConfig<10,1000,2>,FireConfig<10,1000,2>,FireConfig<10,1000,2>,FireConfig<10,1000,2>>>, LockupTrL,60,500>,Bump,Scale,Int<3000>,Int<44000>>,Int<3000>>,Scale>,Int<8000>,Int<22000>>>>, AlphaL,BrownNoiseFlicker,100,500>,Bump,Scale,Int<3000>,Int<44000>>,Int<3000>>,Int<12000>>>>,TrConcat,500>,Black,15,30>,60,500>,Bump,Scale,Int<3000>,Int<44000>>,Int<3000>>,Scale>,Int<25000>,Int<32000>>>>,TrFade<500>>,TrSmoothFade<250>,SaberBase::LOCKUP_NORMAL>, ResponsiveLightningBlockL,AudioFlicker,50,1>,TrConcat,Int<18000>>>,TrFade<200>>,TrConcat>,30>,TrSmoothFade<600>>>, AlphaL,Bump,Scale,Int<2000>,Int<9000>>>>, TransitionEffectL,AlphaL>,TrWipeIn<300>,AlphaL,Orange,Rgb<60,30,0>,DarkOrange,Orange>,SmoothStep,Int<2000>>>,TrJoin,TrWipe<700>>>,EFFECT_STAB>, EffectSequence,EFFECT_BLAST>,Int<400>,Scale,Int<100>,Int<400>>>,Layers< ResponsiveBlastFadeL,EFFECT_BLAST>,Scale,Int<10000>,Int<18000>>>, ResponsiveBlastFadeL,Int<4000>,Int<10000>>>>, BlastL,EFFECT_BLAST>>, ResponsiveBlastL,EFFECT_BLAST>>>, BlastL,EFFECT_BLAST>>, LocalizedClashL,EFFECT_CLASH>>, TransitionEffectL>,TrFade<1200>>,EFFECT_IGNITION>, LockupTrL>,SmoothStep,Int<5000>>>,TrWipeIn<400>,TrFade<300>,SaberBase::LOCKUP_DRAG>, LockupTrL,Yellow,DarkOrange>,SmoothStep,Int<7000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>, InOutTrL,TrWipeInSparkTip,Black>, TransitionEffectL,AlphaL,10>,Bump,Int<4000>>>,TrFade<2950>,AlphaL,15>,Bump,Int<5000>>>,TrFade<3000>,AlphaL,20>,Bump,Int<6000>>>,TrBoing<1000,3>>,EFFECT_PREON>>>(), StylePtr,TransitionEffectL>,EFFECT_BLAST>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,TransitionEffectL>,EFFECT_CLASH>,InOutTrL,TrWipeIn<500>>,Red,TrJoinR,TrWipeIn<500>>>>>>>(), StylePtr,TransitionEffectL>,EFFECT_BLAST>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,TransitionEffectL>,EFFECT_CLASH>,InOutTrL,Rgb<10,0,0>,TrFade<800>>>>>>(), StylePtr,TrWipeIn<800>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TransitionEffectL>,EFFECT_BLAST>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,TransitionEffectL>,EFFECT_CLASH>,InOutTrL,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_RETRACTION>,TransitionEffectL,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_NEWFONT>,TransitionEffectL,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrFade<200>>,EFFECT_BOOT>>>>>(), "cyan"}, { "Ancient_Integration", "tracks/binary.wav", StylePtr,Black,300>,Stripes<3000,-4000,Rgb<50,50,75>,Rgb<100,100,150>,Rgb<10,10,15>,Rgb<150,150,225>>,200>,LockupTrL,Bump,Scale,Int<4000>,Int<26000>>,Int<6000>>,Scale,Int<14000>,Int<18000>>>>,AlphaL,Scale,Int<4000>,Int<26000>>,Int<6000>>,Int<10000>>>>,TrConcat>,TrConcat>,SaberBase::LOCKUP_NORMAL>,ResponsiveLightningBlockL,50,1>,TrConcat,Int<18000>>>,TrFade<200>>,TrConcat>,30>,TrSmoothFade<600>>>,ResponsiveStabL,TrWipe<600>>,ResponsiveBlastL,EFFECT_BLAST>,Int<400>,Scale,Int<100>,Int<400>>>,ResponsiveClashL,Scale,Int<4000>,Int<26000>>,Int<6000>,Int<20000>>,LockupTrL>,SmoothStep,Int<5000>>>,TrWipeIn<400>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL,Red,Orange>,SmoothStep,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,InOutTrL,TrWipeIn<300>>,TrJoin,TrWipeIn<400>>,Black>,TransitionEffectL,AlphaL>,10>,Bump,Int<4000>>>,TrFade<2950>,AlphaL>,15>,Bump,Int<5000>>>,TrFade<3000>,AlphaL>,20>,Bump,Int<6000>>>,TrBoing<1000,3>>,EFFECT_PREON>>>(), StylePtr>,TransitionEffectL>,EFFECT_BLAST>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,TransitionEffectL>,EFFECT_CLASH>,InOutTrL,3000>,TrDelay<30000>,Pulsing,3000>,TrFade<500>>,EFFECT_RETRACTION>,TransitionEffectL,3000>,TrDelay<30000>,Pulsing,3000>,TrFade<500>>,EFFECT_NEWFONT>,TransitionEffectL,3000>,TrDelay<30000>,Pulsing,3000>,TrFade<500>>,EFFECT_BOOT>>>>>(), StylePtr>,25,100,RotateColorsX>,25,300,4000>,TransitionEffectL>,EFFECT_BLAST>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,TransitionEffectL>,EFFECT_CLASH>,InOutTrL>,25,100,RotateColorsX>,25,300,4000>,TrDelay<30000>,ColorCycle>,25,100,RotateColorsX>,25,300,4000>,TrFade<500>>,EFFECT_RETRACTION>,TransitionEffectL>,25,100,RotateColorsX>,25,300,4000>,TrDelay<30000>,ColorCycle>,25,100,RotateColorsX>,25,300,4000>,TrFade<500>>,EFFECT_NEWFONT>,TransitionEffectL>,25,100,RotateColorsX>,25,300,4000>,TrDelay<30000>,ColorCycle>,25,100,RotateColorsX>,25,300,4000>,TrFade<500>>,EFFECT_BOOT>>>>>(), StylePtr,TrWipeIn<800>>,RotateColorsX>,TrJoin,TrWipeIn<500>>>>,TransitionEffectL>,EFFECT_BLAST>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,TransitionEffectL>,EFFECT_CLASH>,InOutTrL,TrWipeIn<500>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_RETRACTION>,TransitionEffectL,TrWipeIn<500>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_NEWFONT>,TransitionEffectL,TrWipeIn<500>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_BOOT>>>>>(), "cyan"}, { "Ignition", "tracks/dark.wav", StylePtr< Layers< Stripes<2000,-2500,RotateColorsX,RandomPerLEDFlicker>,Black>,BrownNoiseFlicker,RotateColorsX>,200>,RandomPerLEDFlicker>,RotateColorsX>>>, TransitionLoopL,BrownNoiseFlicker>,Black,300>>,Int<400>,Int<100>,Int<200>,Int<0>>,AlphaL>,TrDelayX>,Int<200>,Int<1200>>>>>, AlphaL,SwingSpeed<400>>, // Dim Blade 50% "Power Save" button combo EffectSequence>, AlphaL>>, // Clash TransitionEffectL,AlphaL,Black,50>,Moccasin,TrInstant,TrFade<300>,EFFECT_CLASH>,Bump,Int<25000>,Int<8000>>,Int<18000>>>,TrFade<600>>,EFFECT_CLASH>, // Stab TransitionEffectL,AlphaL>,TrWipeIn<300>,AlphaL,Orange,Rgb<60,30,0>,Black,DarkOrange,Orange>,SmoothStep,Int<2000>>>,TrJoin,TrWipe<700>>>,EFFECT_STAB>, // Universal color blade Blast TransitionEffectL>,EFFECT_BLAST>, BlastL,400,250,401>, AlphaL>, // Lockup LockupTrL,60,500>, Bump,Scale,Int<3000>,Int<44000>>,Int<3000>>,Scale>,Int<8000>,Int<18000>>>>, AlphaL, Bump,Scale,Int<3000>,Int<44000>>,Int<3000>>,Int<10000>>>>, TrConcat,Black,15,30>,60,500>,Bump,Scale,Int<3000>,Int<44000>>,Int<3000>>,Scale>,Int<25000>,Int<32000>>>>,TrFade<500>>,TrSmoothFade<900>,SaberBase::LOCKUP_NORMAL>, TransitionEffectL, Bump,Scale,Int<3000>,Int<44000>>,Int<3000>>,Int<15000>>>,TrFade<600>>,EFFECT_LOCKUP_BEGIN>, TransitionEffectL>,Black,20,30>,30>,TrSmoothFade<250>>,EFFECT_LOCKUP_BEGIN>, TransitionEffectL>,EFFECT_LOCKUP_BEGIN>, TransitionEffectL,TrFade<200>,BrownNoiseFlickerL>,Int<50>>,TrJoinR,TrWipeIn<200>,TrFade<300>>>,EFFECT_LOCKUP_END>, // Non-Responsive Drag LockupTrL,Yellow,200>,White>,SmoothStep,Int<2000>>>,TrConcat,AlphaL>,TrFade<150>>,TrColorCycle<1500,-2000,100>,SaberBase::LOCKUP_DRAG>, // Lightning Block ResponsiveLightningBlockL,50,10>,BrownNoiseFlicker,Black,500>>, //Begin Lightning Transition TrConcat,BrownNoiseFlicker,Black,500>,TrFade<100>>, //End Lightning Transition TrConcat,BrownNoiseFlicker,Black,500>,TrFade<150>,BrownNoiseFlickerL>,Int<50>>,TrJoinR,TrWipeIn<200>,TrFade<400>> >>, // Melt LockupTrL< // Melt Colors AlphaL,Yellow,RandomPerLEDFlicker,BrownNoiseFlicker,Rgb16<35103,8175,298>,150>,StyleFire,Red,0,4,FireConfig<0,2000,0>,FireConfig<3000,0,0>,FireConfig<0,4000,0>>>, // Melt Shape SmoothStep,Int<24000>,Int<29000>>,Int<2000>>>, //Melt Begin and End transitions TrConcat,AlphaL>,TrWipeIn<600>>,TrColorCycle<1500,-2000,100>,SaberBase::LOCKUP_MELT>, TransitionEffectL,AlphaL>,TrFade<500>,AlphaL,Bump,Int<80000>>>,TrDelay<350>>,EFFECT_RETRACTION>, AlphaL>,Int<22000>,Int<40000>>,Int<24000>>>, InOutTrL< TrConcat,TrDelay<20>,Black,TrWipe<300>,StyleFire,Black,20>,RotateColorsX>,BrownNoiseFlicker>,70>,RotateColorsX>>,RotateColorsX>,0,5,FireConfig<2,3000,0>,FireConfig<2,3000,0>,FireConfig<2,3000,0>,FireConfig<2,3000,0>>,TrWipe<100>,Black,TrBoing<300,3>>, TrConcat,TrFade<250>,AlphaL>,TrJoin>,TrWaveX,Int<400>,Int<700>,Int<32768>>>>>, // Comment out this following line for non-stutter on actual ignition //TransitionEffectL,Int<200>,Int<300>,Int<0>>,BrownNoiseFlicker,TrDelay<20>,Black,TrDelay<650>,BrownNoiseFlicker,TrDelay<20>,Black,TrDelay<100>,BrownNoiseFlicker,TrFade<500>,Black,TrInstant>,EFFECT_IGNITION>, TransitionEffectL,BrownNoiseFlicker,TrDelay<50>>,EFFECT_RETRACTION>, TransitionEffectL,Bump,Int<30000>>>,TrDelay<100>,AlphaL,Bump,Int<30000>>>,TrFade<100>,Black, TrDelay<50>,AlphaL,Bump,Int<50000>>>,TrDelay<150>,AlphaL,Bump,Int<70000>>>,TrFade<150>,Black, TrFade<100>,AlphaL,Black,40>,Bump,Int<40000>>>,TrFade<400>,AlphaL,Bump,Int<20000>>>,TrFade<400>,Black, TrInstant,AlphaL,Bump,Int<70000>>>,TrDelay<250>,AlphaL,Bump,Int<50000>>>,TrFade<200>,Black, TrFade<100>,AlphaL,Black,40>,Bump,Int<40000>>>,TrFade<500>,AlphaL,Bump,Int<20000>>>,TrFade<600>,Black, TrInstant,AlphaL,Bump,Int<10000>>>,TrDelay<100>,AlphaL,Bump,Int<5000>>>,TrFade<150>,Black, TrDelay<300>,Black, TrInstant,AlphaL,Bump,Int<10000>>>,TrDelay<70>,AlphaL,Bump,Int<5000>>>,TrFade<40>,Black, TrDelay<20>,Black, TrInstant,AlphaL,Bump,Int<30000>>>,TrDelay<100>,AlphaL,Bump,Int<30000>>>,TrFade<100>,Black, TrDelay<50>,AlphaL,Bump,Int<50000>>>,TrDelay<150>,AlphaL,Bump,Int<70000>>>,TrFade<150>,Black, TrFade<100>,AlphaL,Black,40>,Bump,Int<40000>>>,TrFade<300>,AlphaL,Bump,Int<20000>>>,TrFade<100>, AlphaL,Bump,Int<10000>>>, TrFade<180>,AlphaL,Bump,Int<20000>>>,TrFade<180>,AlphaL,Bump,Int<10000>>>, TrFade<115>,AlphaL,Bump,Int<40000>>>,TrFade<115>,AlphaL,Bump,Int<20000>>>, TrFade<100>,AlphaL,Bump,Int<80000>>>,TrFade<100>,AlphaL,Bump,Int<40000>>>, TrFade<125>,BrownNoiseFlicker, TrInstant>,EFFECT_PREON>, AlphaL>,Int<0>,Int<16384>>> >>(), StylePtr>,TransitionEffectL>,EFFECT_BLAST>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,TransitionEffectL>,EFFECT_CLASH>,InOutTrL>,3000>,TrDelay<30000>,Pulsing,3000>,TrFade<500>>,EFFECT_RETRACTION>,TransitionEffectL,3000>,TrDelay<30000>,Pulsing,3000>,TrFade<500>>,EFFECT_NEWFONT>,TransitionEffectL,3000>,TrDelay<30000>,Pulsing,3000>,TrFade<500>>,EFFECT_BOOT>>>>>(), StylePtr,TransitionEffectL>,EFFECT_BLAST>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,TransitionEffectL>,EFFECT_CLASH>,InOutTrL,Rgb<10,0,0>,TrFade<800>>>>>>(), StylePtr,TrWipeIn<800>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TransitionEffectL>,EFFECT_BLAST>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,TransitionEffectL>,EFFECT_CLASH>,InOutTrL,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_RETRACTION>,TransitionEffectL,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_NEWFONT>,TransitionEffectL,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_BOOT>>>>>(), "cyan"}, { "Fire", "tracks/heroes.wav", StylePtr,Int<32768>,Int<0>>,StyleFire,RotateColorsX,RotateColorsX>,RotateColorsX>,0,4,FireConfig<0,1500,5>,FireConfig<0,1500,5>,FireConfig<0,1500,5>,FireConfig<0,0,0>>,StyleFire,RotateColorsX,RotateColorsX,RotateColorsX>,Black,0,2,FireConfig<0,1600,30>,FireConfig<0,1600,30>,FireConfig<0,1600,30>,FireConfig<0,0,0>>>,LockupTrL,Bump,Scale,Int<4000>,Int<26000>>,Int<6000>>,Scale,Int<14000>,Int<18000>>>>,AlphaL,Scale,Int<4000>,Int<26000>>,Int<6000>>,Int<10000>>>>,TrConcat>,TrConcat>,SaberBase::LOCKUP_NORMAL>,ResponsiveLightningBlockL,50,1>,TrConcat,Int<18000>>>,TrFade<200>>,TrConcat>,30>,TrSmoothFade<600>>>,ResponsiveStabL,TrWipe<600>>,ResponsiveBlastL,Scale,Int<100>,Int<400>>,Int<400>>,ResponsiveClashL,Scale,Int<4000>,Int<26000>>,Int<6000>,Int<20000>>,LockupTrL>,SmoothStep,Int<5000>>>,TrWipeIn<400>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL,Rgb<255,200,0>,DarkOrange>,SmoothStep,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,AlphaL,Scale,Int<10000>,Int<38000>>,Int<38000>>,Int<20000>>>,InOutTrL,TrWipeIn<500>,Black>>>(), StylePtr,TrWipeIn<800>>>>,Pulsing>,TrJoin,TrWipeIn<500>>, TransitionLoop,TrWipeIn<800>>,Pulsing,TrJoin,TrWipeIn<500>>>>, TransitionEffectL>,EFFECT_BLAST>, LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>, LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>, TransitionEffectL>,EFFECT_CLASH>, InOutTrL,DarkOrange,TrWipe<200>>>> >>(), StylePtr,TrWipeIn<800>>>>,DarkOrange,TrJoin,TrWipeIn<500>>>>, TransitionLoop,TrWipeIn<800>>,DarkOrange,TrJoin,TrWipeIn<500>>>>, TransitionEffectL>,EFFECT_BLAST>, LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>, LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>, TransitionEffectL>,EFFECT_CLASH>, InOutTrL,DarkOrange,TrWipeIn<200>>>>>>(), // StylePtr,TrWipeIn<800>>>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>, // TransitionEffectL>,EFFECT_BLAST>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>, // LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>, // TransitionEffectL>,EFFECT_CLASH>, // InOutTrL,TrWipeIn<500>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_RETRACTION>, // TransitionEffectL,TrWipeIn<500>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_NEWFONT>, // TransitionEffectL,TrWipeIn<500>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_BOOT>>> // >>(), "cyan"}, // Now while this 3rd style now compiles, I don't think you want to have TransitionLoops constantly going because they'll still be running on top of the blade style when it's on. StylePtr,TrWipeIn<800>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>, TransitionEffectL>,EFFECT_BLAST>, LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>, LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>, TransitionEffectL>,EFFECT_CLASH>, InOutTrL, TransitionEffectL,TrWipeIn<500>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_RETRACTION>, TransitionEffectL,TrWipeIn<500>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_NEWFONT>, TransitionEffectL,TrWipeIn<500>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_BOOT> >>(), "something weird"}, //{ "F1_Racer", "tracks/racer.wav", //StylePtr,Scale>,Int<-1600>,Int<-3200>>,RotateColorsX>,RandomPerLEDFlicker>,RotateColorsX>>,BrownNoiseFlicker>,RotateColorsX>,300>,RotateColorsX>,RandomPerLEDFlicker>>,RotateColorsX>>,AlphaL>,Black>,Black,RotateColorsX>,Black>,SwingSpeed<600>>,LockupTrL,Bump,Scale,Int<10000>,Int<30000>>,Int<10000>>,Scale,Int<14000>,Int<18000>>>>,AlphaL,Scale,Int<10000>,Int<30000>>,Int<10000>>,Int<10000>>>>,TrConcat,Scale,Int<10000>,Int<30000>>,In//t<10000>>,Int<20000>>>,TrFade<400>>,TrConcat,Scale,Int<10000>,Int<30000>>,Int<10000>>,Int<1000>>,Stripes<1500,2000,White,Rgb<180,130,0>>,Stripes<1500,-2500,White,Rgb<180,130,0>>>,Int<18000>>,TrFade<400>>,SaberBase::LOCKUP_NORMAL>,ResponsiveLightningBlockL,50,1>,TrConcat,Int<18000>>>,TrFade<200>>,TrConcat>,30>,TrSmoothFade<600>>>,AlphaL>,Int<1000>,Int<4000>>,Int<-4000>>>,ResponsiveStabL,TrWipe<600>>,EffectSequence>,TrFade<300>>,EFFECT_BLAST>,ResponsiveBlastL,Scale,Int<100>,Int<400>>,Int<400>>,ResponsiveBlastWaveL,Int<500>,Int<200>>,Scale,Int<100>,Int<400>>>,ResponsiveBlastFadeL,//Int<6000>,Int<12000>>,Scale,Int<400>,Int<100>>>,ResponsiveBlastL,Int<400>,Int<100>>,Scale,Int<200>,Int<100>>,Scale,Int<400>,Int<200>>>>,ResponsiveBlastWaveL,Int<100>,Int<300>,Scale,Int<10000>,Int<30000>>,Int<10000>,EFFECT_CLASH>,TransitionEffectL,Bump,Int<8000>>>,TrFade<600>>,EFFECT_IGNITION>,LockupTrL>,SmoothStep,Int<5000>>>,TrWipeIn<400>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL,Red,Orange>,SmoothStep,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,InOutTrL,TrWipeInSparkTip,Black>,TransitionEffectL>,Int<30>>,SmoothStep>,Int<1000>,Int<4000>>,Int<-4000>>>,TrDelay<2000>>,EFFECT_RETRACTION>,T//ransitionEffectL,Int<500>>,Bump,Int<4000>>>,TrBoing<500,3>,AlphaL,Int<500>>,Bump,Int<4000>>>,TrBoing<400,3>,AlphaL,Int<500>>,Bump,Int<4000>>>,TrDelay<7100>>,EFFECT_PREON>>>(), //{ "Shock_Baton", "tracks/Thor.wav", //StylePtr,Black,300>,Stripes<3000,-4000,Rgb<50,50,75>,Rgb<100,100,150>,Rgb<10,10,15>,Rgb<150,150,225>>,200>,LockupTrL,Bump,Scale,Int<4000>,Int<26000>>,Int<6000>>,Scale,Int<14000>,Int<18000>>>>,AlphaL,Scale,Int<4000>,Int<26000>>,Int<6000>>,Int<10000>>>>,TrConcat>,TrConcat>,SaberBase::LOCKUP_NORMAL>,ResponsiveLightningBlockL,50,1>,TrConcat,Int<18000>>>,TrFade<200>>,TrConcat>,30>,TrSmoothFade<600>>>,ResponsiveStabL,TrWipe<600>>,ResponsiveBlastL,Scale,Int<100>,Int<400>>,Int<400>>,ResponsiveClashL,Scale,Int<4000>,Int<26000>>,In//t<6000>,Int<20000>>,LockupTrL>,SmoothStep,Int<5000>>>,TrWipeIn<400>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL,Red,Orange>,SmoothStep,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,InOutTrL,TrWipeIn<500>,Black>>>(), { "Thor", "tracks/Thor.wav", StylePtr,TrConcat,Layers>,RotateColorsX>,RotateColorsX>>,AlphaL,RotateColorsX>>,Int<16384>>>,TrDelayX>,Int<100>,Int<2000>>>>>,TransitionLoopL,RandomBlinkL,White>,TrWipe<200>,AlphaL>,TrDelayX>,Int<300>,Int<3000>>>>>>,LockupTrL,Bump,Scale,Int<4000>,Int<26000>>,Int<6000>>,Scale,Int<14000>,Int<18000>>>>,AlphaL,Scale,Int<4000>,Int<26000>>,Int<6000>>,Int<10000>>>>,TrConcat>,TrConcat>,SaberBase::LOCKUP_NORMAL>,ResponsiveLightningBlockL,50,1>,TrConcat,Int<18000>>>,TrFade<200>>,TrConcat>,30>,TrSmoothFade<600>>>,ResponsiveStabL,TrWipe<600>>,ResponsiveBlastL,Scale,Int<100>,Int<400>>,Int<400>>,ResponsiveClashL,Scale,Int<4000>,Int<26000>>,Int<6000>,Int<20000>>,LockupTrL>,SmoothStep,Int<5000>>>,TrWipeIn<400>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL,Red,Orange>,SmoothStep,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,InOutTrL,TrWipeIn<500>,Black>>>(), StylePtr,TransitionEffectL>,EFFECT_BLAST>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,TransitionEffectL>,EFFECT_CLASH>,InOutTrL,DeepSkyBlue,TrWipeIn<1000>>>>>>(), StylePtr>,Int<50000>>,Black,DeepSkyBlue>,TransitionEffectL>,EFFECT_BLAST>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,TransitionEffectL>,EFFECT_CLASH>,InOutTrL,Black,TrDelay<2000>>>>>>(), StylePtr,TrWipeIn<800>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TransitionEffectL>,EFFECT_BLAST>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,TransitionEffectL>,EFFECT_CLASH>,InOutTrL,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_RETRACTION>,TransitionEffectL,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_NEWFONT>,TransitionEffectL,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_BOOT>>>>>(), "cyan"}, { "Corellia", "tracks/SpeederSequence.wav", StylePtr,RotateColorsX>>,LockupTrL,Bump,Scale,Int<4000>,Int<26000>>,Int<6000>>,Scale,Int<14000>,Int<18000>>>>,AlphaL,Scale,Int<4000>,Int<26000>>,Int<6000>>,Int<10000>>>>,TrConcat>,TrConcat>,SaberBase::LOCKUP_NORMAL>,ResponsiveLightningBlockL,50,1>,TrConcat,Int<18000>>>,TrFade<200>>,TrConcat>,30>,TrSmoothFade<600>>>,ResponsiveStabL,TrWipe<600>>,ResponsiveBlastL,Scale,Int<100>,Int<400>>,Int<400>>,ResponsiveClashL,Scale,Int<4000>,Int<26000>>,Int<6000>,Int<20000>>,LockupTrL>,SmoothStep,Int<5000>>>,TrWipeIn<400>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL,Red,Orange>,SmoothStep,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,InOutTrL,TrWipeIn<500>,Black>>>(), StylePtr,Blue,TrWipeIn<1000>>>,TransitionEffectL>,EFFECT_BLAST>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,TransitionEffectL>,EFFECT_CLASH>,InOutTrL,Black,500,500>>>>(), StylePtr,RotateColorsX,TrWipeIn<200>>>,TransitionEffectL>,EFFECT_BLAST>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,TransitionEffectL>,EFFECT_CLASH>,InOutTrL,25,100,RotateColorsX,25,300,4000>>>>(), StylePtr,TrWipeIn<800>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TransitionEffectL>,EFFECT_BLAST>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,TransitionEffectL>,EFFECT_CLASH>,InOutTrL,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>>>>(), "cyan"}, { "Vortex", "tracks/Luke.wav", StylePtr>,Black,20>,RotateColorsX>, BrownNoiseFlicker>,70>,RotateColorsX>>,RotateColorsX>,0,5,FireConfig<2,3000,0>,FireConfig<2,3000,0>, FireConfig<2,3000,0>,FireConfig<2,3000,0>>,AlphaL,Pulsing,Black,800>>,SwingSpeed<600>>,LockupTrL,Bump, Scale,Int<4000>,Int<26000>>,Int<6000>>,Scale,Int<14000>,Int<18000>>>>,AlphaL, Scale,Int<4000>,Int<26000>>,Int<6000>>,Int<10000>>>>,TrConcat>,TrConcat,TrWipeIn<100>>,White,TrJoinR,TrWipeIn<100>>>, SaberBase::LOCKUP_NORMAL>,ResponsiveLightningBlockL,50,1>,TrConcat,Int<18000>>>,TrFade<200>>,TrConcat>,30>,TrSmoothFade<600>>>,SparkleL,ResponsiveStabL,TrWipe<600>>, ResponsiveBlastL,Scale,Int<100>,Int<400>>,Int<400>>,ResponsiveClashL,Scale,Int<4000>,Int<26000>>,Int<6000>,Int<20000>>, TransitionEffectL,TrFade<800>>,EFFECT_IGNITION>,TransitionEffectL,TrFade<1000>>, EFFECT_RETRACTION>,LockupTrL>,SmoothStep,Int<5000>>>,TrWipeIn<400>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL,Red,Orange>, SmoothStep,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,InOutTrL>,Int<400>,Int<300>,Int<400>,Int<32768>>, Mix,Int<-2000>>,Black,RotateColorsX>>,TrWaveX>,Int<350>,Int<300>,Int<350>,Int<32768>>,Mix,Int<-2000>>, Black,RotateColorsX>>,TrWaveX>,Int<300>,Int<300>,Int<300>,Int<32768>>,Mix,Int<-2000>>, Black,RotateColorsX>>,TrWaveX>,Int<250>,Int<300>,Int<250>,Int<32768>>,Mix,Int<-2000>>, Black,RotateColorsX>>,TrWaveX>,Int<200>,Int<300>,Int<200>,Int<32768>>,Mix,Int<-2000>>, Black,RotateColorsX>>,TrWipeIn<200>,Mix,Int<-2000>>,Black,RotateColorsX>>,TrFade<300>>, TrConcat,Mix,Int<-2000>>,Black,RotateColorsX>>,TrWaveX>,Int<200>,Int<300>,Int<200>,Int<0>>, Mix,Int<-2000>>,Black,RotateColorsX>>,TrWaveX>,Int<250>,Int<300>,Int<250>,Int<0>>, Mix,Int<-2000>>,Black,RotateColorsX>>,TrWaveX>,Int<300>,Int<300>,Int<300>,Int<0>>, Mix,Int<-2000>>,Black,RotateColorsX>>,TrWaveX>,Int<350>,Int<300>,Int<350>,Int<0>>, Mix,Int<-2000>>,Black,RotateColorsX>>,TrWaveX>,Int<400>,Int<300>,Int<400>,Int<0>>,Black, TrWaveX>,Int<400>,Int<300>,Int<400>,Int<0>>,Black,TrInstant>,Black>,TransitionEffectL,Int<10000>>>,TrFade<3000>, AlphaL,Int<8000>>>,TrFade<3000>,AlphaL,Int<6000>>>,TrFade<2000>>,EFFECT_RETRACTION>,TransitionEffectL, AlphaL>,10>,Bump,Int<4000>>>,TrFade<2950>,AlphaL>,15>,Bump,Int<5000>>>,TrFade<3000>, AlphaL>,20>,Bump,Int<6000>>>,TrBoing<1000,3>>,EFFECT_PREON>>>(), StylePtr,Red,250,500>>,TransitionEffectL>,EFFECT_BLAST>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,TransitionEffectL>,EFFECT_CLASH>,InOutTrL>,800>,TrDelay<30000>,Pulsing,3000>,TrFade<500>>,EFFECT_RETRACTION>,TransitionEffectL,3000>,TrDelay<30000>,Pulsing,3000>,TrFade<500>>,EFFECT_NEWFONT>,TransitionEffectL,3000>,TrDelay<30000>,Pulsing,3000>,TrFade<500>>,EFFECT_BOOT>>>>>(), StylePtr,RotateColorsX,TrWipe<200>>>,TransitionEffectL>,EFFECT_BLAST>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,TransitionEffectL>,EFFECT_CLASH>,InOutTrL,RotateColorsX,TrWipeIn<1000>>>,TrDelay<30000>,TransitionLoop,RotateColorsX,TrWipeIn<1000>>>,TrFade<500>>,EFFECT_RETRACTION>,TransitionEffectL,RotateColorsX,TrWipeIn<1000>>>,TrDelay<30000>,TransitionLoop,RotateColorsX,TrWipeIn<1000>>>,TrFade<500>>,EFFECT_NEWFONT>,TransitionEffectL,RotateColorsX,TrWipeIn<1000>>>,TrDelay<30000>,TransitionLoop,RotateColorsX,TrWipeIn<1000>>>,TrFade<500>>,EFFECT_BOOT>>>>>(), StylePtr,TrWipeIn<800>>,RotateColorsX,TrJoinR,TrWipeIn<500>>>>,TransitionEffectL>,EFFECT_BLAST>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_NORMAL>,LockupTrL,TrInstant,TrFade<500>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,TransitionEffectL>,EFFECT_CLASH>,InOutTrL,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_RETRACTION>,TransitionEffectL,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_NEWFONT>,TransitionEffectL,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrDelay<30000>,TransitionLoop,TrWipeIn<500>>,RotateColorsX,TrJoin,TrWipeIn<500>>>>,TrFade<500>>,EFFECT_BOOT>>>>>(), "cyan"}, }; BladeConfig blades[] = { { 0, WS281XBladePtr<138, bladePin, Color8::GRB, PowerPINS >(), WS281XBladePtr<1, blade2Pin, Color8::GRB, PowerPINS >(), WS281XBladePtr<6, blade3Pin, Color8::GRB, PowerPINS >(), WS281XBladePtr<9, blade4Pin, Color8::GRB, PowerPINS >() , CONFIGARRAY(presets) }, }; #endif #ifdef CONFIG_BUTTONS Button PowerButton(BUTTON_POWER, powerButtonPin, "pow"); Button AuxButton(BUTTON_AUX, auxPin, "aux"); #endif