#ifdef CONFIG_TOP #include "proffieboard_config.h" #define NUM_BLADES 2 #define NUM_BUTTONS 2 #define VOLUME 1800 const unsigned int maxLedsPerStrip = 90; #define CLASH_THRESHOLD_G 2.5 #define ENABLE_AUDIO #define ENABLE_MOTION #define ENABLE_WS2811 #define ENABLE_SD #define ENABLE_SERIAL #define ENABLE_SSD1306 #define DISABLE_DIAGNOSTIC_COMMANDS #define FETT263_MULTI_PHASE #define IDLE_OFF_TIME 60 * 1 * 1000 #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 MOTION_TIMEOUT 60 * 3 * 1000 #define FETT263_THRUST_ON #define ENABLE_SERIAL // Max 20 characters #define BLE_PASSWORD "your password" // Max 32 characters. #define BLE_NAME "Your Saber Name" // Max 9 characters #define BLE_SHORTNAME "Saber" #endif #ifdef CONFIG_PROP #include "../props/saber_fett263_buttons.h" #endif #ifdef CONFIG_PRESETS Preset presets[] = { { "Ahsoka", "tracks/bgm3.wav", StylePtr>,Pulsing>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>>,Gradient<AudioFlicker<Green,Rgb16<0,38402,0>>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>,AudioFlicker>>,3500>,Gradient<AudioFlicker<Cyan,DeepSkyBlue>,AudioFlicker,HumpFlicker>>,Pink>,Pink>,Pink,400>,200,200>>(), StylePtr>,Pulsing>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>>,Gradient<AudioFlicker<Green,Rgb16<0,38402,0>>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>,AudioFlicker>>,3500>,Gradient<AudioFlicker<Cyan,DeepSkyBlue>,AudioFlicker,HumpFlicker>>,Pink>,Pink>,Pink,400>,200,200>>(), "Master"}, { "Shan", "tracks/Shan.wav", StylePtr,Pulsing,AudioFlicker,HumpFlicker,AudioFlicker,AudioFlicker>,Gradient<AudioFlicker<Blue,DodgerBlue>,AudioFlicker,HumpFlicker,AudioFlicker,AudioFlicker,AudioFlicker>,3500>,Gradient<AudioFlicker<Blue,DodgerBlue>,AudioFlicker,HumpFlicker>>,Pink>,Pink>,Pink,400>,200,500>>(), StylePtr,Pulsing,AudioFlicker,HumpFlicker,AudioFlicker,AudioFlicker>,Gradient<AudioFlicker<Blue,DodgerBlue>,AudioFlicker,HumpFlicker,AudioFlicker,AudioFlicker,AudioFlicker>,3500>,Gradient<AudioFlicker<Blue,DodgerBlue>,AudioFlicker,HumpFlicker>>,Pink>,Pink>,Pink,400>,200,500>>(), "0"}, { "CalKestis", "tracks/CalsssssKestis.wav", StylePtr<Layers<Stripes<16000,-1000,RotateColorsX,Pulsing>,RotateColorsX,800>,RotateColorsX>,TransitionEffectL,RandomFlicker,RotateColorsX>>,TrDelay<30000>,RotateColorsX,TrFade<800>>,EFFECT_FORCE>,AlphaL,Int<1>>,Scale,Int<13600>>,Scale,Int<-19300>,Int<32768>>,Int<0>>>,LockupTrL<Layers<AlphaL<AudioFlickerL<White>,Bump,Scale,Int<10000>,Int<30000>>,Int<10000>>,Scale,Int<14000>,Int<18000>>>>,AlphaL,Scale,Int<10000>,Int<30000>>,Int<10000>>,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>>,SimpleClashL,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<Layers<Stripes<16000,-1000,RotateColorsX,Pulsing>,RotateColorsX,800>,RotateColorsX>,TransitionEffectL,RandomFlicker,RotateColorsX>>,TrDelay<30000>,RotateColorsX,TrFade<800>>,EFFECT_FORCE>,AlphaL,Int<1>>,Scale,Int<13600>>,Scale,Int<-19300>,Int<32768>>,Int<0>>>,LockupTrL<Layers<AlphaL<AudioFlickerL<White>,Bump,Scale,Int<10000>,Int<30000>>,Int<10000>>,Scale,Int<14000>,Int<18000>>>>,AlphaL,Scale,Int<10000>,Int<30000>>,Int<10000>>,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>>,SimpleClashL,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>>>(), "0"}, { "Obiwan", "tracks/bgm1.wav", StylePtr,DodgerBlue>,Pulsing,DodgerBlue>,AudioFlicker,DodgerBlue>,HumpFlicker,AudioFlicker,DodgerBlue>,AudioFlicker,DodgerBlue>>,Gradient<AudioFlicker<Rgb<10,40,225>,DodgerBlue>,AudioFlicker,DodgerBlue>,HumpFlicker,AudioFlicker,DodgerBlue>,AudioFlicker,DodgerBlue>,AudioFlicker,DodgerBlue>>,3500>,Gradient<AudioFlicker<Rgb<10,40,225>,DodgerBlue>,AudioFlicker,DodgerBlue>,HumpFlicker>>,Pink>,Pink>,White,400>,400,400>>(), StylePtr,DodgerBlue>,Pulsing,DodgerBlue>,AudioFlicker,DodgerBlue>,HumpFlicker,AudioFlicker,DodgerBlue>,AudioFlicker,DodgerBlue>>,Gradient<AudioFlicker<Rgb<10,40,225>,DodgerBlue>,AudioFlicker,DodgerBlue>,HumpFlicker,AudioFlicker,DodgerBlue>,AudioFlicker,DodgerBlue>,AudioFlicker,DodgerBlue>>,3500>,Gradient<AudioFlicker<Rgb<10,40,225>,DodgerBlue>,AudioFlicker,DodgerBlue>,HumpFlicker>>,Pink>,Pink>,White,400>,400,400>>(), "SkyWalker"}, { "Luke", "tracks/bgm3.wav", StylePtr>,Pulsing>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>>,Gradient<AudioFlicker<Green,Rgb16<0,38402,0>>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>,AudioFlicker>>,3500>,Gradient<AudioFlicker<Cyan,DeepSkyBlue>,AudioFlicker,HumpFlicker>>,Pink>,Pink>,Pink,400>,200,200>>(), StylePtr>,Pulsing>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>>,Gradient<AudioFlicker<Green,Rgb16<0,38402,0>>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>,AudioFlicker>>,3500>,Gradient<AudioFlicker<Cyan,DeepSkyBlue>,AudioFlicker,HumpFlicker>>,Pink>,Pink>,Pink,400>,200,200>>(), "Master"}, { "KyloRen", "tracks/bgm10.wav", StyleFirePtr(), StyleFirePtr(), "fire"}, { "Anakin", "tracks/bgm1.wav", StylePtr,DodgerBlue>,Pulsing,DodgerBlue>,AudioFlicker,DodgerBlue>,HumpFlicker,AudioFlicker,DodgerBlue>,AudioFlicker,DodgerBlue>>,Gradient<AudioFlicker<Rgb<10,40,225>,DodgerBlue>,AudioFlicker,DodgerBlue>,HumpFlicker,AudioFlicker,DodgerBlue>,AudioFlicker,DodgerBlue>,AudioFlicker,DodgerBlue>>,3500>,Gradient<AudioFlicker<Rgb<10,40,225>,DodgerBlue>,AudioFlicker,DodgerBlue>,HumpFlicker>>,Pink>,Pink>,White,400>,400,400>>(), StylePtr,DodgerBlue>,Pulsing,DodgerBlue>,AudioFlicker,DodgerBlue>,HumpFlicker,AudioFlicker,DodgerBlue>,AudioFlicker,DodgerBlue>>,Gradient<AudioFlicker<Rgb<10,40,225>,DodgerBlue>,AudioFlicker,DodgerBlue>,HumpFlicker,AudioFlicker,DodgerBlue>,AudioFlicker,DodgerBlue>,AudioFlicker,DodgerBlue>>,3500>,Gradient<AudioFlicker<Rgb<10,40,225>,DodgerBlue>,AudioFlicker,DodgerBlue>,HumpFlicker>>,Pink>,Pink>,White,400>,400,400>>(), "SkyWalker"}, { "Vader", "tracks/bgm2.wav", StylePtr>,Gradient<AudioFlicker<Red,Rgb16<38402,0,0>>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>>,Gradient<AudioFlicker<Red,Rgb16<38402,0,0>>,AudioFlicker>,HumpFlicker>>,Pink>,Pink>,Pink,400>,600,400>>(), StylePtr>,Gradient<AudioFlicker<Red,Rgb16<38402,0,0>>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>>,Gradient<AudioFlicker<Red,Rgb16<38402,0,0>>,AudioFlicker>,HumpFlicker>>,Pink>,Pink>,Pink,400>,600,400>>(), "Maul"}, { "Rey", "tracks/bgm5.wav", StylePtr,Rgb16<47361,30457,0>>,Pulsing,Rgb16<47361,30457,0>>,AudioFlicker,Rgb16<47361,30457,0>>,HumpFlicker,AudioFlicker,Rgb16<47361,30457,0>>,AudioFlicker,Rgb16<47361,30457,0>>>,Gradient<AudioFlicker<Rgb16<65535,38402,0>,Rgb16<47361,30457,0>>,AudioFlicker,Rgb16<47361,30457,0>>,HumpFlicker,AudioFlicker,Rgb16<47361,30457,0>>,AudioFlicker,Rgb16<47361,30457,0>>,AudioFlicker,Rgb16<47361,30457,0>>>,3500>,HumpFlicker>>,White>,Cyan,400>,200,200>>(), StylePtr,Rgb16<47361,30457,0>>,Pulsing,Rgb16<47361,30457,0>>,AudioFlicker,Rgb16<47361,30457,0>>,HumpFlicker,AudioFlicker,Rgb16<47361,30457,0>>,AudioFlicker,Rgb16<47361,30457,0>>>,Gradient<AudioFlicker<Rgb16<65535,38402,0>,Rgb16<47361,30457,0>>,AudioFlicker,Rgb16<47361,30457,0>>,HumpFlicker,AudioFlicker,Rgb16<47361,30457,0>>,AudioFlicker,Rgb16<47361,30457,0>>,AudioFlicker,Rgb16<47361,30457,0>>>,3500>,HumpFlicker>>,White>,Cyan,400>,200,200>>(), "Rey"}, { "Windu", "tracks/Windu.wav", StylePtr<Layers<Stripes<16000,-1000,RotateColorsX,Pulsing>,RotateColorsX,800>,RotateColorsX>,TransitionEffectL,RandomFlicker,RotateColorsX>>,TrDelay<30000>,RotateColorsX,TrFade<800>>,EFFECT_FORCE>,AlphaL,Int<1>>,Scale,Int<13600>>,Scale,Int<-19300>,Int<32768>>,Int<0>>>,LockupTrL<Layers<AlphaL<AudioFlickerL<White>,Bump,Scale,Int<10000>,Int<30000>>,Int<10000>>,Scale,Int<14000>,Int<18000>>>>,AlphaL,Scale,Int<10000>,Int<30000>>,Int<10000>>,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>>,SimpleClashL,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<Layers<Stripes<16000,-1000,RotateColorsX,Pulsing>,RotateColorsX,800>,RotateColorsX>,TransitionEffectL,RandomFlicker,RotateColorsX>>,TrDelay<30000>,RotateColorsX,TrFade<800>>,EFFECT_FORCE>,AlphaL,Int<1>>,Scale,Int<13600>>,Scale,Int<-19300>,Int<32768>>,Int<0>>>,LockupTrL<Layers<AlphaL<AudioFlickerL<White>,Bump,Scale,Int<10000>,Int<30000>>,Int<10000>>,Scale,Int<14000>,Int<18000>>>>,AlphaL,Scale,Int<10000>,Int<30000>>,Int<10000>>,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>>,SimpleClashL,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>>>(), "0"}, { "Dooku", "tracks/Dooku.wav", StylePtr,AudioFlicker>,White>,400,800>>(), StylePtr,AudioFlicker>,White>,400,800>>(), "chunRed"}, { "Quigon", "tracks/bgm3.wav", StylePtr>,Pulsing>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>>,Gradient<AudioFlicker<Green,Rgb16<0,38402,0>>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>,AudioFlicker>>,3500>,Gradient<AudioFlicker<Cyan,DeepSkyBlue>,AudioFlicker,HumpFlicker>>,Pink>,Pink>,Pink,400>,200,200>>(), StylePtr>,Pulsing>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>>,Gradient<AudioFlicker<Green,Rgb16<0,38402,0>>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>,AudioFlicker>>,3500>,Gradient<AudioFlicker<Cyan,DeepSkyBlue>,AudioFlicker,HumpFlicker>>,Pink>,Pink>,Pink,400>,200,200>>(), "Master"}, { "Maul", "tracks/Dooku.wav", StylePtr,AudioFlicker>,White>,400,800>>(), StylePtr,AudioFlicker>,White>,400,800>>(), "chunRed"}, { "Jedi dooku", "tracks/jedi dooku.wav", StylePtr,Pulsing,AudioFlicker,HumpFlicker,AudioFlicker,AudioFlicker>,Gradient<AudioFlicker<Blue,DodgerBlue>,AudioFlicker,HumpFlicker,AudioFlicker,AudioFlicker,AudioFlicker>,3500>,Gradient<AudioFlicker<Blue,DodgerBlue>,AudioFlicker,HumpFlicker>>,Pink>,Pink>,Pink,400>,200,500>>(), StylePtr,Pulsing,AudioFlicker,HumpFlicker,AudioFlicker,AudioFlicker>,Gradient<AudioFlicker<Blue,DodgerBlue>,AudioFlicker,HumpFlicker,AudioFlicker,AudioFlicker,AudioFlicker>,3500>,Gradient<AudioFlicker<Blue,DodgerBlue>,AudioFlicker,HumpFlicker>>,Pink>,Pink>,Pink,400>,200,500>>(), "0"}, { "Taron", "tracks/Dooku.wav", StylePtr,AudioFlicker>,White>,400,800>>(), StylePtr,AudioFlicker>,White>,400,800>>(), "chunRed"}, { "Fisto", "tracks/bgm3.wav", StylePtr>,Pulsing>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>>,Gradient<AudioFlicker<Green,Rgb16<0,38402,0>>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>,AudioFlicker>>,3500>,Gradient<AudioFlicker<Cyan,DeepSkyBlue>,AudioFlicker,HumpFlicker>>,Pink>,Pink>,Pink,400>,200,200>>(), StylePtr>,Pulsing>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>>,Gradient<AudioFlicker<Green,Rgb16<0,38402,0>>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>,AudioFlicker>>,3500>,Gradient<AudioFlicker<Cyan,DeepSkyBlue>,AudioFlicker,HumpFlicker>>,Pink>,Pink>,Pink,400>,200,200>>(), "Master"}, { "PloKoon", "tracks/bgm1.wav", StylePtr,DodgerBlue>,Pulsing,DodgerBlue>,AudioFlicker,DodgerBlue>,HumpFlicker,AudioFlicker,DodgerBlue>,AudioFlicker,DodgerBlue>>,Gradient<AudioFlicker<Rgb<10,40,225>,DodgerBlue>,AudioFlicker,DodgerBlue>,HumpFlicker,AudioFlicker,DodgerBlue>,AudioFlicker,DodgerBlue>,AudioFlicker,DodgerBlue>>,3500>,Gradient<AudioFlicker<Rgb<10,40,225>,DodgerBlue>,AudioFlicker,DodgerBlue>,HumpFlicker>>,Pink>,Pink>,White,400>,400,400>>(), StylePtr,DodgerBlue>,Pulsing,DodgerBlue>,AudioFlicker,DodgerBlue>,HumpFlicker,AudioFlicker,DodgerBlue>,AudioFlicker,DodgerBlue>>,Gradient<AudioFlicker<Rgb<10,40,225>,DodgerBlue>,AudioFlicker,DodgerBlue>,HumpFlicker,AudioFlicker,DodgerBlue>,AudioFlicker,DodgerBlue>,AudioFlicker,DodgerBlue>>,3500>,Gradient<AudioFlicker<Rgb<10,40,225>,DodgerBlue>,AudioFlicker,DodgerBlue>,HumpFlicker>>,Pink>,Pink>,White,400>,400,400>>(), "SkyWalker"}, { "Cin", "tracks/bgm3.wav", StylePtr>,Pulsing>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>>,Gradient<AudioFlicker<Green,Rgb16<0,38402,0>>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>,AudioFlicker>>,3500>,Gradient<AudioFlicker<Cyan,DeepSkyBlue>,AudioFlicker,HumpFlicker>>,Pink>,Pink>,Pink,400>,200,200>>(), StylePtr>,Pulsing>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>>,Gradient<AudioFlicker<Green,Rgb16<0,38402,0>>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>,AudioFlicker>>,3500>,Gradient<AudioFlicker<Cyan,DeepSkyBlue>,AudioFlicker,HumpFlicker>>,Pink>,Pink>,Pink,400>,200,200>>(), "Master"}, { "Mundi", "tracks/Mundi.wav", StylePtr<Layers<Stripes<16000,-1000,RotateColorsX,Pulsing>,RotateColorsX,800>,RotateColorsX>,TransitionEffectL,RandomFlicker,RotateColorsX>>,TrDelay<30000>,RotateColorsX,TrFade<800>>,EFFECT_FORCE>,AlphaL,Int<1>>,Scale,Int<13600>>,Scale,Int<-19300>,Int<32768>>,Int<0>>>,LockupTrL<Layers<AlphaL<AudioFlickerL<White>,Bump,Scale,Int<10000>,Int<30000>>,Int<10000>>,Scale,Int<14000>,Int<18000>>>>,AlphaL,Scale,Int<10000>,Int<30000>>,Int<10000>>,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>>,SimpleClashL,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<Layers<Stripes<16000,-1000,RotateColorsX,Pulsing>,RotateColorsX,800>,RotateColorsX>,TransitionEffectL,RandomFlicker,RotateColorsX>>,TrDelay<30000>,RotateColorsX,TrFade<800>>,EFFECT_FORCE>,AlphaL,Int<1>>,Scale,Int<13600>>,Scale,Int<-19300>,Int<32768>>,Int<0>>>,LockupTrL<Layers<AlphaL<AudioFlickerL<White>,Bump,Scale,Int<10000>,Int<30000>>,Int<10000>>,Scale,Int<14000>,Int<18000>>>>,AlphaL,Scale,Int<10000>,Int<30000>>,Int<10000>>,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>>,SimpleClashL,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>>>(), "0"}, { "Sword", "tracks/bgm8.wav", StylePtr,Yellow,TrFade<2000>,Blue,TrFade<2000>,Green,TrFade<2000>>>,White>,AudioFlicker,Rgb<150,150,150>>>,White>,800,500>>(), StylePtr,Yellow,TrFade<2000>,Blue,TrFade<2000>,Green,TrFade<2000>>>,White>,AudioFlicker,Rgb<150,150,150>>>,White>,800,500>>(), "Sword"}, { "Fire", "tracks/bgm7.wav", StylePtr,15>,Gradient,15>,HumpFlicker,15>,HumpFlicker,HumpFlicker,15>,HumpFlicker,15>>,Gradient,15>,HumpFlicker,15>,HumpFlicker,15>,HumpFlicker>>,Pink>,Pink>,Pink,400>,200,400>>(), StylePtr,15>,Gradient,15>,HumpFlicker,15>,HumpFlicker,HumpFlicker,15>,HumpFlicker,15>>,Gradient,15>,HumpFlicker,15>,HumpFlicker,15>,HumpFlicker>>,Pink>,Pink>,Pink,400>,200,400>>(), "KyloRen"}, { "Killer", "tracks/bgm14.wav", StylePtr<Layers< AudioFlicker,RotateColorsX>>, AlphaL<AudioFlickerL<RotateColorsX>,SwingSpeed<600>>, LockupTrL<Layers< AlphaL<AudioFlickerL<White>,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>>>, SparkleL, ResponsiveStabL, ResponsiveBlastL,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,Blue,DeepSkyBlue>,SmoothStep,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>, InOutTrL,TrWipeIn<1402>>,TrJoinR,TrWipeIn<947>>>, TransitionEffectL,Int<10000>>>,TrFade<3000>,AlphaL,Int<8000>>>,TrFade<3000>,AlphaL,Int<6000>>>,TrFade<2000>>,EFFECT_RETRACTION>, TransitionEffectL,Rgb<150,100,100>,300>,LayerFunctions,Int<10000>>,Bump,Int<10000>>>>,TrDelay<800>>,EFFECT_PREON>>>(), StylePtr<Layers< AudioFlicker,RotateColorsX>>, AlphaL<AudioFlickerL<RotateColorsX>,SwingSpeed<600>>, LockupTrL<Layers< AlphaL<AudioFlickerL<White>,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>>>, SparkleL, ResponsiveStabL, ResponsiveBlastL,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,Blue,DeepSkyBlue>,SmoothStep,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>, InOutTrL,TrWipeIn<1402>>,TrJoinR,TrWipeIn<947>>>, TransitionEffectL,Int<10000>>>,TrFade<3000>,AlphaL,Int<8000>>>,TrFade<3000>,AlphaL,Int<6000>>>,TrFade<2000>>,EFFECT_RETRACTION>, TransitionEffectL,Rgb<150,100,100>,300>,LayerFunctions,Int<10000>>,Bump,Int<10000>>>>,TrDelay<800>>,EFFECT_PREON>>>(), }, { "Revenger", "tracks/bgm12.wav", StylePtr<Layers< AudioFlicker>,RotateColorsX>>, AlphaL>, LockupTrL<Layers< AlphaL<AudioFlickerL<White>,Bump,Scale,Int<4000>,Int<26000>>,Int<6000>>,Scale,Int<14000>,Int<18000>>>>, AlphaL,Bump,Scale,Int<4000>,Int<26000>>,Int<6000>>,Int<10000>>>>,TrConcat>,TrConcat,Scale,Int<4000>,Int<26000>>,Int<6000>>,Int<1000>>,Stripes<1500,2000,White,Rgb<10,0,50>>,Stripes<1500,-2500,White,HotPink>>,Int<18000>>,TrFade<400>>,SaberBase::LOCKUP_NORMAL>, ResponsiveLightningBlockL,AudioFlicker,Magenta>,50,1>,TrConcat,Bump,Int<18000>>>,TrFade<200>>,TrConcat,Int<16000>>,30>,TrSmoothFade<600>>>, AlphaL,SmoothStep>,Int<1000>,Int<4000>>,Int<-4000>>>, ResponsiveStabL, ResponsiveBlastL,Int<400>,Scale,Int<100>,Int<400>>>, ResponsiveBlastWaveL,Int<300>,Int<100>,Int<300>,Scale,Int<4000>,Int<26000>>,Int<6000>,EFFECT_CLASH>, LockupTrL,Int<300>>,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>>>>(), StylePtr<Layers< AudioFlicker>,RotateColorsX>>, AlphaL>, LockupTrL<Layers< AlphaL<AudioFlickerL<White>,Bump,Scale,Int<4000>,Int<26000>>,Int<6000>>,Scale,Int<14000>,Int<18000>>>>, AlphaL,Bump,Scale,Int<4000>,Int<26000>>,Int<6000>>,Int<10000>>>>,TrConcat>,TrConcat,Scale,Int<4000>,Int<26000>>,Int<6000>>,Int<1000>>,Stripes<1500,2000,White,Rgb<10,0,50>>,Stripes<1500,-2500,White,HotPink>>,Int<18000>>,TrFade<400>>,SaberBase::LOCKUP_NORMAL>, ResponsiveLightningBlockL,AudioFlicker,Magenta>,50,1>,TrConcat,Bump,Int<18000>>>,TrFade<200>>,TrConcat,Int<16000>>,30>,TrSmoothFade<600>>>, AlphaL,SmoothStep>,Int<1000>,Int<4000>>,Int<-4000>>>, ResponsiveStabL, ResponsiveBlastL,Int<400>,Scale,Int<100>,Int<400>>>, ResponsiveBlastWaveL,Int<300>,Int<100>,Int<300>,Scale,Int<4000>,Int<26000>>,Int<6000>,EFFECT_CLASH>, LockupTrL,Int<300>>,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>>>>(), }, { "Cyan", "tracks/bgm6.wav", StylePtr,Pulsing,AudioFlicker,HumpFlicker,AudioFlicker,AudioFlicker>,Gradient<AudioFlicker<Cyan,DeepSkyBlue>,AudioFlicker,HumpFlicker,AudioFlicker,AudioFlicker,AudioFlicker>,3500>,Gradient<AudioFlicker<Cyan,DeepSkyBlue>,AudioFlicker,HumpFlicker>>,Pink>,Pink>,Pink,400>,200,400>>(), StylePtr,Pulsing,AudioFlicker,HumpFlicker,AudioFlicker,AudioFlicker>,Gradient<AudioFlicker<Cyan,DeepSkyBlue>,AudioFlicker,HumpFlicker,AudioFlicker,AudioFlicker,AudioFlicker>,3500>,Gradient<AudioFlicker<Cyan,DeepSkyBlue>,AudioFlicker,HumpFlicker>>,Pink>,Pink>,Pink,400>,200,400>>(), "BenSolo"}, { "Iceblue", "tracks/bgm11.wav", StylePtr,TrFade<1000>>,Red>,AudioFlicker>,Red>,200,400>>(), StylePtr,TrFade<1000>>,Red>,AudioFlicker>,Red>,200,400>>(), }, { "Azrael", "tracks/bgm15.wav", StylePtr<Layers< Mix,Int<10000>>,Pulsing,RotateColorsX>,RotateColorsX>,RotateColorsX>>,Stripes<3000,3000,RotateColorsX,RotateColorsX>,RotateColorsX>,RotateColorsX>>,3000>,Pulsing,RotateColorsX>,RotateColorsX>,RotateColorsX>>,Stripes<3000,3000,RotateColorsX,RotateColorsX>,RotateColorsX>,RotateColorsX>>,3000>>, AlphaL>,SwingSpeed<600>>, LockupTrL<Layers< AlphaL<AudioFlickerL<White>,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, ResponsiveBlastL,Scale,Int<100>,Int<400>>>, ResponsiveClashL,EFFECT_CLASH>,TrInstant,TrFade<400>,Scale,Int<4000>,Int<26000>>,Int<6000>,Int<20000>>, TransitionEffectL>,40>,TrFade<1200>>,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,TrWipeInSparkTip>, TransitionEffectL,Int<10000>>>,TrFade<3000>,AlphaL,Int<8000>>>,TrFade<3000>,AlphaL,Int<6000>>>,TrFade<2000>>,EFFECT_RETRACTION>, TransitionEffectL,Int<500>,Int<200>,Int<500>,Int<40>>>,TrDelay<1000>,TransitionLoopL,Int<300>,Int<300>,Int<300>,Int<40>>>,TrDelay<1300>,TransitionLoopL,Int<100>,Int<400>,Int<100>,Int<32768>>>,TrDelay<2000>,AlphaL,Bump,Int<6000>>>,TrBoing<1450,5>>,EFFECT_PREON>>>(), StylePtr<Layers< Mix,Int<10000>>,Pulsing,RotateColorsX>,RotateColorsX>,RotateColorsX>>,Stripes<3000,3000,RotateColorsX,RotateColorsX>,RotateColorsX>,RotateColorsX>>,3000>,Pulsing,RotateColorsX>,RotateColorsX>,RotateColorsX>>,Stripes<3000,3000,RotateColorsX,RotateColorsX>,RotateColorsX>,RotateColorsX>>,3000>>, AlphaL>,SwingSpeed<600>>, LockupTrL<Layers< AlphaL<AudioFlickerL<White>,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, ResponsiveBlastL,Scale,Int<100>,Int<400>>>, ResponsiveClashL,EFFECT_CLASH>,TrInstant,TrFade<400>,Scale,Int<4000>,Int<26000>>,Int<6000>,Int<20000>>, TransitionEffectL>,40>,TrFade<1200>>,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,TrWipeInSparkTip>, TransitionEffectL,Int<10000>>>,TrFade<3000>,AlphaL,Int<8000>>>,TrFade<3000>,AlphaL,Int<6000>>>,TrFade<2000>>,EFFECT_RETRACTION>, TransitionEffectL,Int<500>,Int<200>,Int<500>,Int<40>>>,TrDelay<1000>,TransitionLoopL,Int<300>,Int<300>,Int<300>,Int<40>>>,TrDelay<1300>,TransitionLoopL,Int<100>,Int<400>,Int<100>,Int<32768>>>,TrDelay<2000>,AlphaL,Bump,Int<6000>>>,TrBoing<1450,5>>,EFFECT_PREON>>>(), }, { "Lightning", "tracks/bgm16.wav", StylePtr<Layers< StripesX,Int<1600>,Mix>,RotateColorsX>,RotateColorsX>>,Mix>,RotateColorsX>,RotateColorsX>>,Mix>,RotateColorsX>,RotateColorsX>>,Mix>,RotateColorsX>,RotateColorsX>>>, AlphaL,Black,Red,Black>,SwingSpeed<600>>, LockupTrL<Layers< AlphaL<AudioFlickerL<White>,Bump,Int<10000>,Int<20000>>>>, AlphaL,Int<10000>,Int<20000>>>>>,TrConcat>,TrConcat>,SaberBase::LOCKUP_NORMAL>, ResponsiveLightningBlockL,50,1>,TrConcat,Int<18000>>>,TrFade<200>>,TrConcat>,30>,TrSmoothFade<600>>>, AlphaL,Int<8000>>>, ResponsiveStabL, ResponsiveBlastWaveL,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,TrWipeInSparkTip>, TransitionEffectL,Int<10000>>>,TrFade<3000>,AlphaL,Int<8000>>>,TrFade<3000>,AlphaL,Bump,Int<6000>>>,TrFade<2000>>,EFFECT_RETRACTION>, TransitionEffectL,Int<2000>,Int<1000>>,BrownNoiseFlicker>,100>,RandomPerLEDFlicker>,Rgb<0,30,50>>,BrownNoiseFlicker>,RotateColorsX,RotateColorsX>>>,White,50>>,SmoothStep,Int<36000>>,Int<-4000>>>,TrDelay<7300>>,EFFECT_PREON>>>(), StylePtr<Layers< StripesX,Int<1600>,Mix>,RotateColorsX>,RotateColorsX>>,Mix>,RotateColorsX>,RotateColorsX>>,Mix>,RotateColorsX>,RotateColorsX>>,Mix>,RotateColorsX>,RotateColorsX>>>, AlphaL,Black,Red,Black>,SwingSpeed<600>>, LockupTrL<Layers< AlphaL<AudioFlickerL<White>,Bump,Int<10000>,Int<20000>>>>, AlphaL,Int<10000>,Int<20000>>>>>,TrConcat>,TrConcat>,SaberBase::LOCKUP_NORMAL>, ResponsiveLightningBlockL,50,1>,TrConcat,Int<18000>>>,TrFade<200>>,TrConcat>,30>,TrSmoothFade<600>>>, AlphaL,Int<8000>>>, ResponsiveStabL, ResponsiveBlastWaveL,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,TrWipeInSparkTip>, TransitionEffectL,Int<10000>>>,TrFade<3000>,AlphaL,Int<8000>>>,TrFade<3000>,AlphaL,Bump,Int<6000>>>,TrFade<2000>>,EFFECT_RETRACTION>, TransitionEffectL,Int<2000>,Int<1000>>,BrownNoiseFlicker>,100>,RandomPerLEDFlicker>,Rgb<0,30,50>>,BrownNoiseFlicker>,RotateColorsX,RotateColorsX>>>,White,50>>,SmoothStep,Int<36000>>,Int<-4000>>>,TrDelay<7300>>,EFFECT_PREON>>>(), }, { "Colorful", "tracks/bgm17.wav", StylePtr,RotateColorsX,RotateColorsX,RotateColorsX,RotateColorsX,RotateColorsX,RotateColorsX>,White>,AudioFlicker>>,White>,300,300>>(), StylePtr,RotateColorsX,RotateColorsX,RotateColorsX,RotateColorsX,RotateColorsX,RotateColorsX>,White>,AudioFlicker>>,White>,300,300>>(), }, { "Green", "tracks/bgm3.wav", StylePtr>,Pulsing>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>>,Gradient<AudioFlicker<Green,Rgb16<0,38402,0>>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>,AudioFlicker>>,3500>,Gradient<AudioFlicker<Cyan,DeepSkyBlue>,AudioFlicker,HumpFlicker>>,Pink>,Pink>,Pink,400>,200,200>>(), StylePtr>,Pulsing>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>>,Gradient<AudioFlicker<Green,Rgb16<0,38402,0>>,AudioFlicker>,HumpFlicker,AudioFlicker>,AudioFlicker>,AudioFlicker>>,3500>,Gradient<AudioFlicker<Cyan,DeepSkyBlue>,AudioFlicker,HumpFlicker>>,Pink>,Pink>,Pink,400>,200,200>>(), "Master"}, { "Power", "tracks/Power.wav", &style;_charging, StylePtr(), "0"}, }; BladeConfig blades[] = { { 0, WS281XBladePtr<90, bladePin, Color8::GRB, PowerPINS >(), WS281XBladePtr<90, blade2Pin, Color8::GRB, PowerPINS >(), CONFIGARRAY(presets) }, }; #endif #ifdef CONFIG_BUTTONS Button PowerButton(BUTTON_POWER, powerButtonPin, "pow"); Button AuxButton(BUTTON_AUX, auxPin, "aux"); #endif