I recently finished a Goth-3Designs Graflex grand master chassis install and am trying to get blade ID to cooperate. I tried originally with OS7.14 but the define for blade id scan wasnt working. So I downloaded the master OS and it started working correctly. Sadly, for whatever reason the pixels inside the removable crystals are now blinking every second and dimmer than they should be causing the color to be incorrect at times. such as orange becomes a dim red.
on a fresh bootup the crystal starts at the correct brightness for the first second until what I assume is the scanning commencing. Not sure why this is happening. any ideas? Config attached below.
// Grand Master Chassis: Using NO_BLADE to simply allow for bladein and bladeout.wavs to play,
// while also using the NPXL emitter PCB at full length of only 16 pixels when no blade is inserted.
// All presets, fonts, and blade styles shared between the 2 states.
// Note: resistance value needs to be measured in serial monitor to enter values for NO_BLADE_ID_RANGE define as well as actual blade in BladeConfig.
#ifdef CONFIG_TOP
#include "proffieboard_v3_config.h"
#define NUM_BLADES 6
#define NUM_BUTTONS 2
#define VOLUME 2500
const unsigned int maxLedsPerStrip = 144;
#define CLASH_THRESHOLD_G 3.5
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define COLOR_CHANGE_DIRECT
#define ENABLE_SD
#define ENABLE_SSD1306
#define DISABLE_DIAGNOSTIC_COMMANDS
#define DISABLE_BASIC_PARSER_STYLES
#define NO_REPEAT_RANDOM
#define SAVE_STATE
#define ENABLE_ALL_EDIT_OPTIONS
#define MOTION_TIMEOUT 60 * 15 * 1000
#define IDLE_OFF_TIME 60 * 15 * 1000
#define FETT263_EDIT_MODE_MENU
#define FETT263_SPECIAL_ABILITIES
#define FETT263_LOCKUP_DELAY 200
#define FETT263_TWIST_OFF
#define FETT263_TWIST_ON
#define FETT263_TWIST_ON_NO_BM
#define FETT263_SAY_COLOR_LIST
#define FETT263_SAY_COLOR_LIST_CC
#define FETT263_SAY_BATTERY_PERCENT
#define FETT263_RANDOMIZE_QUOTE_PLAYER
#define FETT263_MOTION_WAKE_POWER_BUTTON
// Use with Blade ID. Specify the LED pad(s) that the main blade uses.
#define ENABLE_POWER_FOR_ID PowerPINS<bladePowerPin1>
// Required when blades on different data pads use common LED power pads.
// and/or when BLADE_ID_SCAN_MILLIS is used with Blade ID.
//#define SHARED_POWER_PINS
// Choose how often to check for new blade (milliseconds).
// Larger values will be a longer delay before a blade is recognized.
#define BLADE_ID_SCAN_MILLIS 1000
// How many Blade ID scans to average (default is 10, 15 works well)
#define BLADE_ID_TIMES 15
// Measured value range to return as NO_BLADE (use NO_BLADE as the blade definition value.)
#define NO_BLADE_ID_RANGE 600000,999999999
#endif
#ifdef CONFIG_PROP
#include "../props/saber_fett263_buttons.h"
#endif
#ifdef CONFIG_PRESETS
Preset light[] = {
{ "Graflex ANH;common", "/Graflex ANH/tracks",
//blade
StylePtr<Layers<
Mix<HoldPeakF<SwingSpeed<250>,Scale<SwingAcceleration<100>,Int<50>,Int<500>>,Scale<SwingAcceleration<>,Int<20000>,Int<10000>>>,RandomFlicker<StripesX<Int<24000>,Scale<HoldPeakF<SwingSpeed<200>,Scale<SwingAcceleration<100>,Int<50>,Int<300>>,Scale<SwingAcceleration<100>,Int<24000>,Int<16000>>>,Int<-1400>,Int<-100>>,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>,Mix<Int<7710>,Black,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>>,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>,Mix<Int<19276>,Black,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>>>,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>>,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>>,
TransitionEffectL<TrConcat<TrInstant,AudioFlickerL<RgbArg<IGNITION_COLOR_ARG,White>>,TrFade<1200>>,EFFECT_IGNITION>,
TransitionEffectL<TrWaveX<RgbArg<BLAST_COLOR_ARG,White>,Scale<EffectRandomF<EFFECT_BLAST>,Int<100>,Int<400>>,Int<100>,Scale<EffectPosition<EFFECT_BLAST>,Int<100>,Int<400>>,Scale<EffectPosition<EFFECT_BLAST>,Int<28000>,Int<8000>>>,EFFECT_BLAST>,
Mix<IsLessThan<ClashImpactF<>,Int<26000>>,TransitionEffectL<TrConcat<TrInstant,AlphaL<RgbArg<CLASH_COLOR_ARG,White>,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,White>,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<TransitionEffect<AlphaL<AlphaMixL<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<SwingSpeed<100>,Int<14000>,Int<22000>>>,AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,White>,Mix<Int<12000>,Black,RgbArg<LOCKUP_COLOR_ARG,White>>>,BrownNoiseFlicker<RgbArg<LOCKUP_COLOR_ARG,White>,Mix<Int<12000>,Black,RgbArg<LOCKUP_COLOR_ARG,White>>,300>>,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<SwingSpeed<100>,Int<14000>,Int<22000>>>>,AlphaL<AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,White>,Mix<Int<20000>,Black,RgbArg<LOCKUP_COLOR_ARG,White>>>,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<SwingSpeed<100>,Int<14000>,Int<18000>>>>,TrExtend<5000,TrInstant>,TrFade<5000>,EFFECT_LOCKUP_BEGIN>,TrConcat<TrJoin<TrDelay<50>,TrInstant>,Mix<IsLessThan<ClashImpactF<>,Int<26000>>,RgbArg<LOCKUP_COLOR_ARG,White>,AlphaL<RgbArg<LOCKUP_COLOR_ARG,White>,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<20000>,Int<60000>>>>>,TrFade<300>>,TrConcat<TrInstant,RgbArg<LOCKUP_COLOR_ARG,White>,TrFade<400>>,SaberBase::LOCKUP_NORMAL>,
ResponsiveLightningBlockL<Strobe<RgbArg<LB_COLOR_ARG,White>,AudioFlicker<RgbArg<LB_COLOR_ARG,White>,Blue>,50,1>,TrConcat<TrExtend<200,TrInstant>,AlphaL<RgbArg<LB_COLOR_ARG,White>,Bump<Scale<BladeAngle<>,Int<10000>,Int<21000>>,Int<10000>>>,TrFade<200>>,TrConcat<TrInstant,RgbArg<LB_COLOR_ARG,White>,TrFade<400>>>,
LockupTrL<AlphaL<TransitionEffect<RandomPerLEDFlickerL<RgbArg<DRAG_COLOR_ARG,White>>,BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,White>,Int<300>>,TrExtend<4000,TrInstant>,TrFade<4000>,EFFECT_DRAG_BEGIN>,SmoothStep<Scale<TwistAngle<>,IntArg<DRAG_SIZE_ARG,28000>,Int<30000>>,Int<3000>>>,TrWipeIn<200>,TrWipe<200>,SaberBase::LOCKUP_DRAG>,
LockupTrL<AlphaL<Stripes<2000,4000,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,Mix<Sin<Int<50>>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,Mix<Int<4096>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,28000>,Int<30000>>,Int<3000>>>,TrConcat<TrExtend<4000,TrWipeIn<200>>,AlphaL<HumpFlicker<Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,RotateColorsX<Int<3000>,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,100>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,28000>,Int<30000>>,Int<3000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT>,
InOutTrL<TrWipeX<BendTimePowInvX<IgnitionTime<>,Mult<IntArg<IGNITION_OPTION2_ARG,18992>,Int<98304>>>>,TrWipeInX<BendTimePowInvX<RetractionTime<>,Mult<IntArg<RETRACTION_OPTION2_ARG,7992>,Int<98304>>>>>>>(),
//arc reactor
StylePtr<Layers<
Pulsing<Mix<Int<8192>,Black,RgbArg<BASE_COLOR_ARG,Rgb<0,80,255>>>,RgbArg<BASE_COLOR_ARG,Rgb<0,80,255>>,2000>,
TransitionEffectL<TrConcat<TrInstant,AudioFlickerL<RgbArg<IGNITION_COLOR_ARG,White>>,TrFade<1200>>,EFFECT_IGNITION>,
TransitionEffectL<TrWaveX<RgbArg<BLAST_COLOR_ARG,White>,Scale<WavLen<>,Int<100>,Int<400>>,Int<100>,Scale<WavLen<>,Int<100>,Int<400>>,Int<0>>,EFFECT_BLAST>,
Mix<IsLessThan<ClashImpactF<>,Int<26000>>,TransitionEffectL<TrWaveX<RgbArg<CLASH_COLOR_ARG,White>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Int<100>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Int<0>>,EFFECT_CLASH>,AlphaL<White,Int<0>>>,
LockupTrL<AlphaL<TransitionEffect<RandomPerLEDFlickerL<RgbArg<DRAG_COLOR_ARG,White>>,BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,White>,Int<300>>,TrExtend<4000,TrInstant>,TrFade<4000>,EFFECT_DRAG_BEGIN>,SmoothStep<Scale<TwistAngle<>,IntArg<DRAG_SIZE_ARG,31000>,Int<30000>>,Int<3000>>>,TrWipeIn<200>,TrWipe<200>,SaberBase::LOCKUP_DRAG>,
LockupTrL<AlphaL<Stripes<2000,4000,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,Mix<Sin<Int<50>>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,Mix<Int<4096>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,26000>,Int<30000>>,Int<3000>>>,TrConcat<TrExtend<4000,TrWipeIn<200>>,AlphaL<HumpFlicker<Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,RotateColorsX<Int<3000>,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,100>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,26000>,Int<30000>>,Int<3000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT>,
InOutTrL<TrFadeX<BendTimePowInvX<IgnitionTime<0>,Mult<IntArg<IGNITION_OPTION2_ARG,10992>,Int<98304>>>>,TrFadeX<BendTimePowInvX<RetractionTime<1200>,Mult<IntArg<RETRACTION_OPTION2_ARG,10992>,Int<98304>>>>,Pulsing<Mix<Int<8192>,Black,RgbArg<BASE_COLOR_ARG,Rgb<0,80,255>>>,RgbArg<BASE_COLOR_ARG,Rgb<0,80,255>>,8000>>>>(),
//crystal
StylePtr<Layers<
Mix<HoldPeakF<SwingSpeed<250>,Scale<SwingAcceleration<100>,Int<50>,Int<500>>,Scale<SwingAcceleration<>,Int<20000>,Int<10000>>>,RandomFlicker<StripesX<Int<24000>,Scale<HoldPeakF<SwingSpeed<200>,Scale<SwingAcceleration<100>,Int<50>,Int<300>>,Scale<SwingAcceleration<100>,Int<24000>,Int<16000>>>,Int<-1400>,Int<-100>>,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>,Mix<Int<7710>,Black,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>>,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>,Mix<Int<19276>,Black,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>>>,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>>,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>>,
TransitionEffectL<TrConcat<TrInstant,AudioFlickerL<RgbArg<IGNITION_COLOR_ARG,White>>,TrFade<1200>>,EFFECT_IGNITION>,
LockupTrL<AlphaL<TransitionEffect<RandomPerLEDFlickerL<RgbArg<DRAG_COLOR_ARG,White>>,BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,White>,Int<300>>,TrExtend<4000,TrInstant>,TrFade<4000>,EFFECT_DRAG_BEGIN>,SmoothStep<Scale<TwistAngle<>,IntArg<DRAG_SIZE_ARG,31000>,Int<30000>>,Int<3000>>>,TrWipeIn<200>,TrWipe<200>,SaberBase::LOCKUP_DRAG>,
LockupTrL<AlphaL<Stripes<2000,4000,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,Mix<Sin<Int<50>>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,Mix<Int<4096>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,26000>,Int<30000>>,Int<3000>>>,TrConcat<TrExtend<4000,TrWipeIn<200>>,AlphaL<HumpFlicker<Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,RotateColorsX<Int<3000>,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,100>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,26000>,Int<30000>>,Int<3000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT>,
InOutTrL<TrWipeX<BendTimePowInvX<IgnitionTime<0>,Mult<IntArg<IGNITION_OPTION2_ARG,10992>,Int<98304>>>>,TrWipeInX<BendTimePowInvX<RetractionTime<>,Mult<IntArg<RETRACTION_OPTION2_ARG,10992>,Int<98304>>>>,Pulsing<Black,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>,8000>>>>(),
//oled accents
StylePtr<Layers<
Mix<HoldPeakF<SwingSpeed<250>,Scale<SwingAcceleration<100>,Int<50>,Int<500>>,Scale<SwingAcceleration<>,Int<20000>,Int<10000>>>,RandomFlicker<StripesX<Int<15000>,Scale<HoldPeakF<SwingSpeed<200>,Scale<SwingAcceleration<100>,Int<50>,Int<300>>,Scale<SwingAcceleration<100>,Int<24000>,Int<16000>>>,Int<-3200>,Int<-200>>,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>,Mix<Int<7710>,Black,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>>,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>,Mix<Int<19276>,Black,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>>>,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>>,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>>,
TransitionEffectL<TrConcat<TrJoin<TrDelay<30>,TrInstant>,RgbArg<BLAST_COLOR_ARG,White>,TrFade<300>>,EFFECT_BLAST>,
TransitionEffectL<TrConcat<TrJoin<TrDelay<30>,TrInstant>,RgbArg<CLASH_COLOR_ARG,White>,TrFade<300>>,EFFECT_CLASH>,
LockupTrL<TransitionEffect<AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,White>,Mix<Int<12000>,Black,RgbArg<LOCKUP_COLOR_ARG,White>>>,AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,White>,Mix<Int<20000>,Black,RgbArg<LOCKUP_COLOR_ARG,White>>>,TrExtend<5000,TrInstant>,TrFade<5000>,EFFECT_LOCKUP_BEGIN>,TrConcat<TrJoin<TrDelay<50>,TrInstant>,Mix<IsLessThan<ClashImpactF<>,Int<26000>>,RgbArg<LOCKUP_COLOR_ARG,White>,AlphaL<RgbArg<LOCKUP_COLOR_ARG,White>,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<20000>,Int<60000>>>>>,TrFade<300>>,TrConcat<TrInstant,RgbArg<LOCKUP_COLOR_ARG,White>,TrFade<400>>,SaberBase::LOCKUP_NORMAL>,
LockupTrL<Strobe<RgbArg<LB_COLOR_ARG,White>,AudioFlicker<RgbArg<LB_COLOR_ARG,White>,Blue>,50,1>,TrConcat<TrExtend<200,TrInstant>,AlphaL<RgbArg<LB_COLOR_ARG,White>,Bump<Scale<BladeAngle<>,Int<10000>,Int<21000>>,Int<10000>>>,TrFade<200>>,TrConcat<TrInstant,RgbArg<LB_COLOR_ARG,White>,TrFade<400>>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,
LockupTrL<AlphaL<TransitionEffect<RandomPerLEDFlickerL<RgbArg<DRAG_COLOR_ARG,White>>,BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,White>,Int<300>>,TrExtend<4000,TrInstant>,TrFade<4000>,EFFECT_DRAG_BEGIN>,SmoothStep<Scale<TwistAngle<>,IntArg<DRAG_SIZE_ARG,31000>,Int<30000>>,Int<3000>>>,TrWipeIn<200>,TrWipe<200>,SaberBase::LOCKUP_DRAG>,
LockupTrL<AlphaL<Stripes<2000,4000,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,Mix<Sin<Int<50>>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,Mix<Int<4096>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,26000>,Int<30000>>,Int<3000>>>,TrConcat<TrExtend<4000,TrWipeIn<200>>,AlphaL<HumpFlicker<Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,RotateColorsX<Int<3000>,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,100>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,26000>,Int<30000>>,Int<3000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT>,
InOutTrL<TrConcat<TrFadeX<BendTimePowInvX<IgnitionTime<1200>,Mult<IntArg<IGNITION_OPTION2_ARG,10992>,Int<98304>>>>,Red,TrFadeX<BendTimePowInvX<IgnitionTime<1200>,Mult<IntArg<IGNITION_OPTION2_ARG,10992>,Int<98304>>>>,DarkOrange,TrFadeX<BendTimePowInvX<IgnitionTime<1200>,Mult<IntArg<IGNITION_OPTION2_ARG,10992>,Int<98304>>>>,White,TrFadeX<BendTimePowInvX<IgnitionTime<1200>,Mult<IntArg<IGNITION_OPTION2_ARG,10992>,Int<98304>>>>>,TrConcat<TrFadeX<BendTimePowInvX<RetractionTime<800>,Mult<IntArg<RETRACTION_OPTION2_ARG,10992>,Int<98304>>>>,White,TrFadeX<BendTimePowInvX<RetractionTime<800>,Mult<IntArg<RETRACTION_OPTION2_ARG,10992>,Int<98304>>>>,DarkOrange,TrFadeX<BendTimePowInvX<RetractionTime<800>,Mult<IntArg<RETRACTION_OPTION2_ARG,10992>,Int<98304>>>>,Red,TrFadeX<BendTimePowInvX<RetractionTime<800>,Mult<IntArg<RETRACTION_OPTION2_ARG,10992>,Int<98304>>>>>,Pulsing<Black,RgbArg<BASE_COLOR_ARG,Rgb<0,40,255>>,8000>>>>(),
//speaker led
StylePtr<Red>(),
//motor
StyleNormalPtr<Rgb<200,0,0>,WHITE,300,800>(),
"graflex\nanh"},
};
Preset dark[] = {
{ "Father ANH;common", "/Father ANH/tracks",
//blade
StylePtr<Layers<
Mix<HoldPeakF<SwingSpeed<250>,Scale<SwingAcceleration<100>,Int<50>,Int<500>>,Scale<SwingAcceleration<>,Int<20000>,Int<10000>>>,RandomFlicker<StripesX<Int<14000>,Scale<HoldPeakF<SwingSpeed<200>,Scale<SwingAcceleration<100>,Int<50>,Int<300>>,Scale<SwingAcceleration<100>,Int<24000>,Int<16000>>>,Int<-4000>,Int<-400>>,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<BASE_COLOR_ARG,Red>,Mix<Int<7710>,Black,RgbArg<BASE_COLOR_ARG,Red>>,RgbArg<BASE_COLOR_ARG,Red>,Mix<Int<19276>,Black,RgbArg<BASE_COLOR_ARG,Red>>>,RgbArg<BASE_COLOR_ARG,Red>>,RgbArg<BASE_COLOR_ARG,Red>>,
TransitionEffectL<TrConcat<TrInstant,HumpFlickerL<RgbArg<IGNITION_COLOR_ARG,White>,40>,TrFade<1200>>,EFFECT_IGNITION>,
TransitionEffectL<TrWaveX<RgbArg<BLAST_COLOR_ARG,White>,Scale<EffectRandomF<EFFECT_BLAST>,Int<100>,Int<400>>,Int<100>,Scale<EffectPosition<EFFECT_BLAST>,Int<100>,Int<400>>,Scale<EffectPosition<EFFECT_BLAST>,Int<28000>,Int<8000>>>,EFFECT_BLAST>,
Mix<IsLessThan<ClashImpactF<>,Int<26000>>,TransitionEffectL<TrConcat<TrInstant,AlphaL<RgbArg<CLASH_COLOR_ARG,White>,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,White>,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<TransitionEffect<AlphaMixL<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<SwingSpeed<100>,Int<14000>,Int<18000>>>,BrownNoiseFlickerL<RgbArg<LOCKUP_COLOR_ARG,White>,Int<200>>,StripesX<Int<1800>,Scale<NoisySoundLevel,Int<-3500>,Int<-5000>>,Mix<Int<6425>,Black,RgbArg<LOCKUP_COLOR_ARG,White>>,RgbArg<LOCKUP_COLOR_ARG,White>,Mix<Int<12850>,Black,RgbArg<LOCKUP_COLOR_ARG,White>>>>,AlphaL<AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,White>,Mix<Int<10280>,Black,RgbArg<LOCKUP_COLOR_ARG,White>>>,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>>>,Int<13000>>>,TrJoin<TrDelay<8000>,TrInstant>,TrFade<3000>,EFFECT_LOCKUP_BEGIN>,TrConcat<TrJoin<TrDelay<50>,TrInstant>,Mix<IsLessThan<ClashImpactF<>,Int<26000>>,RgbArg<LOCKUP_COLOR_ARG,White>,AlphaL<RgbArg<LOCKUP_COLOR_ARG,White>,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<20000>,Int<60000>>>>>,TrFade<300>>,TrConcat<TrInstant,RgbArg<LOCKUP_COLOR_ARG,White>,TrFade<400>>,SaberBase::LOCKUP_NORMAL>,
ResponsiveLightningBlockL<Strobe<RgbArg<LB_COLOR_ARG,White>,AudioFlicker<RgbArg<LB_COLOR_ARG,White>,Blue>,50,1>,TrConcat<TrInstant,AlphaL<RgbArg<LB_COLOR_ARG,White>,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,HumpFlickerL<AlphaL<RgbArg<LB_COLOR_ARG,White>,Int<16000>>,30>,TrSmoothFade<600>>>,
LockupTrL<AlphaL<RandomPerLEDFlickerL<RgbArg<DRAG_COLOR_ARG,White>>,SmoothStep<IntArg<DRAG_SIZE_ARG,28000>,Int<3000>>>,TrConcat<TrJoin<TrDelay<4000>,TrWipeIn<200>>,AlphaL<BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,White>,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,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,Mix<TwistAngle<>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>,RotateColorsX<Int<3000>,Mix<Int<12000>,Black,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,0,3,5,3000,10>>,SmoothStep<IntArg<MELT_SIZE_ARG,28000>,Int<4000>>>,TrConcat<TrWipeIn<100>,AlphaL<RgbArg<STAB_COLOR_ARG,DarkOrange>,SmoothStep<IntArg<MELT_SIZE_ARG,28000>,Int<4000>>>,TrJoin<TrDelay<4000>,TrFade<300>>,AlphaL<Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,SmoothStep<IntArg<MELT_SIZE_ARG,28000>,Int<4000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT>,
InOutTrL<TrWipeX<BendTimePowInvX<IgnitionTime<>,Mult<IntArg<IGNITION_OPTION2_ARG,7992>,Int<98304>>>>,TrWipeInX<BendTimePowInvX<RetractionTime<>,Mult<IntArg<RETRACTION_OPTION2_ARG,19992>,Int<98304>>>>>>>(),
//arc reactor
StylePtr<Layers<
Pulsing<Black,RgbArg<BASE_COLOR_ARG,Red>,2000>,
TransitionEffectL<TrConcat<TrInstant,AudioFlickerL<RgbArg<IGNITION_COLOR_ARG,White>>,TrFade<1200>>,EFFECT_IGNITION>,
TransitionEffectL<TrWaveX<RgbArg<BLAST_COLOR_ARG,White>,Scale<WavLen<>,Int<100>,Int<400>>,Int<100>,Scale<WavLen<>,Int<100>,Int<400>>,Int<0>>,EFFECT_BLAST>,
Mix<IsLessThan<ClashImpactF<>,Int<26000>>,TransitionEffectL<TrWaveX<RgbArg<CLASH_COLOR_ARG,White>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Int<100>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Int<0>>,EFFECT_CLASH>,AlphaL<White,Int<0>>>,
LockupTrL<AlphaL<TransitionEffect<RandomPerLEDFlickerL<RgbArg<DRAG_COLOR_ARG,White>>,BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,White>,Int<300>>,TrExtend<4000,TrInstant>,TrFade<4000>,EFFECT_DRAG_BEGIN>,SmoothStep<Scale<TwistAngle<>,IntArg<DRAG_SIZE_ARG,31000>,Int<30000>>,Int<3000>>>,TrWipeIn<200>,TrWipe<200>,SaberBase::LOCKUP_DRAG>,
LockupTrL<AlphaL<Stripes<2000,4000,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,Mix<Sin<Int<50>>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,Mix<Int<4096>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,26000>,Int<30000>>,Int<3000>>>,TrConcat<TrExtend<4000,TrWipeIn<200>>,AlphaL<HumpFlicker<Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,RotateColorsX<Int<3000>,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,100>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,26000>,Int<30000>>,Int<3000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT>,
InOutTrL<TrFadeX<BendTimePowInvX<IgnitionTime<0>,Mult<IntArg<IGNITION_OPTION2_ARG,10992>,Int<98304>>>>,TrFadeX<BendTimePowInvX<RetractionTime<1200>,Mult<IntArg<RETRACTION_OPTION2_ARG,10992>,Int<98304>>>>,Pulsing<Black,RgbArg<BASE_COLOR_ARG,Red>,8000>>>>(),
//crystal
StylePtr<Layers<
Mix<HoldPeakF<SwingSpeed<250>,Scale<SwingAcceleration<100>,Int<50>,Int<500>>,Scale<SwingAcceleration<>,Int<20000>,Int<10000>>>,RandomFlicker<StripesX<Int<15000>,Scale<HoldPeakF<SwingSpeed<200>,Scale<SwingAcceleration<100>,Int<50>,Int<300>>,Scale<SwingAcceleration<100>,Int<24000>,Int<16000>>>,Int<-3200>,Int<-200>>,RgbArg<BASE_COLOR_ARG,Red>,RgbArg<BASE_COLOR_ARG,Red>,Mix<Int<7710>,Black,RgbArg<BASE_COLOR_ARG,Red>>,RgbArg<BASE_COLOR_ARG,Red>,Mix<Int<19276>,Black,RgbArg<BASE_COLOR_ARG,Red>>>,RgbArg<BASE_COLOR_ARG,Red>>,RgbArg<BASE_COLOR_ARG,Red>>,
TransitionEffectL<TrConcat<TrInstant,AudioFlickerL<RgbArg<IGNITION_COLOR_ARG,White>>,TrFade<1200>>,EFFECT_IGNITION>,
TransitionEffectL<TrWaveX<RgbArg<BLAST_COLOR_ARG,White>,Scale<WavLen<>,Int<100>,Int<400>>,Int<100>,Scale<WavLen<>,Int<100>,Int<400>>,Int<0>>,EFFECT_BLAST>,
Mix<IsLessThan<ClashImpactF<>,Int<26000>>,TransitionEffectL<TrWaveX<RgbArg<CLASH_COLOR_ARG,White>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Int<100>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Int<0>>,EFFECT_CLASH>,AlphaL<White,Int<0>>>,
TransitionEffectL<TrConcat<TrInstant,AlphaL<RgbArg<LOCKUP_COLOR_ARG,White>,SmoothStep<ClashImpactF<>,Int<-4000>>>,TrFadeX<Scale<ClashImpactF<>,Int<100>,Int<300>>>>,EFFECT_LOCKUP_BEGIN>,
TransitionEffectL<TrConcat<TrInstant,AlphaL<RgbArg<LOCKUP_COLOR_ARG,White>,Int<0>>,TrSelect<Scale<IsLessThan<ClashImpactF<>,Int<20000>>,Int<1>,Int<0>>,TrWaveX<RgbArg<LOCKUP_COLOR_ARG,White>,Scale<ClashImpactF<>,Int<50>,Int<400>>,Int<100>,Scale<ClashImpactF<>,Int<500>,Int<300>>,Int<0>>,TrSparkX<Stripes<1200,-3600,Mix<Int<6425>,Black,RgbArg<LOCKUP_COLOR_ARG,White>>,RgbArg<LOCKUP_COLOR_ARG,White>,Mix<Int<12850>,Black,RgbArg<LOCKUP_COLOR_ARG,White>>>,Int<30>,Scale<Sum<ClashImpactF<>,SwingSpeed<600>>,Int<100>,Int<400>>,Int<0>>>>,EFFECT_LOCKUP_END>,
LockupTrL<AlphaL<RgbArg<LB_COLOR_ARG,White>,Int<0>>,TrInstant,TrConcat<TrInstant,Strobe<RgbArg<LB_COLOR_ARG,White>,AudioFlicker<RgbArg<LB_COLOR_ARG,White>,Blue>,50,1>,TrFade<1000>>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,
InOutTrL<TrWipeX<BendTimePowInvX<IgnitionTime<0>,Mult<IntArg<IGNITION_OPTION2_ARG,10992>,Int<98304>>>>,TrWipeInX<BendTimePowInvX<RetractionTime<>,Mult<IntArg<RETRACTION_OPTION2_ARG,10992>,Int<98304>>>>,TransitionLoop<RgbArg<BASE_COLOR_ARG,Red>,TrConcat<TrBoing<1200,2>,Mix<Int<1285>,Black,RgbArg<BASE_COLOR_ARG,Red>>,TrFade<1200>>>>>>(),
//oled accents
StylePtr<Layers<
Pulsing<Black,RgbArg<BASE_COLOR_ARG,Red>,2000>,
TransitionEffectL<TrConcat<TrInstant,AudioFlickerL<RgbArg<IGNITION_COLOR_ARG,White>>,TrFade<1200>>,EFFECT_IGNITION>,
TransitionEffectL<TrWaveX<RgbArg<BLAST_COLOR_ARG,White>,Scale<WavLen<>,Int<100>,Int<400>>,Int<100>,Scale<WavLen<>,Int<100>,Int<400>>,Int<0>>,EFFECT_BLAST>,
Mix<IsLessThan<ClashImpactF<>,Int<26000>>,TransitionEffectL<TrWaveX<RgbArg<CLASH_COLOR_ARG,White>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Int<100>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Int<0>>,EFFECT_CLASH>,AlphaL<White,Int<0>>>,
LockupTrL<AlphaL<TransitionEffect<RandomPerLEDFlickerL<RgbArg<DRAG_COLOR_ARG,White>>,BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,White>,Int<300>>,TrExtend<4000,TrInstant>,TrFade<4000>,EFFECT_DRAG_BEGIN>,SmoothStep<Scale<TwistAngle<>,IntArg<DRAG_SIZE_ARG,31000>,Int<30000>>,Int<3000>>>,TrWipeIn<200>,TrWipe<200>,SaberBase::LOCKUP_DRAG>,
LockupTrL<AlphaL<Stripes<2000,4000,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,Mix<Sin<Int<50>>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,Mix<Int<4096>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,26000>,Int<30000>>,Int<3000>>>,TrConcat<TrExtend<4000,TrWipeIn<200>>,AlphaL<HumpFlicker<Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,RotateColorsX<Int<3000>,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,100>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,26000>,Int<30000>>,Int<3000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT>,
InOutTrL<TrFadeX<BendTimePowInvX<IgnitionTime<0>,Mult<IntArg<IGNITION_OPTION2_ARG,10992>,Int<98304>>>>,TrFadeX<BendTimePowInvX<RetractionTime<1200>,Mult<IntArg<RETRACTION_OPTION2_ARG,10992>,Int<98304>>>>,Pulsing<Black,RgbArg<BASE_COLOR_ARG,Red>,8000>>>>(),
//speaker led
StylePtr<Red>(),
//motor
StyleNormalPtr<Rgb<200,0,0>,WHITE,300,800>(),
"vader\nanh"},
};
Preset noblade[] = {
{ "Calibrate;common", "/Calibrate/tracks",
//blade
StylePtr<Layers<
Mix<HoldPeakF<SwingSpeed<250>,Scale<SwingAcceleration<100>,Int<50>,Int<500>>,Scale<SwingAcceleration<>,Int<20000>,Int<10000>>>,RandomFlicker<StripesX<Int<15000>,Scale<HoldPeakF<SwingSpeed<200>,Scale<SwingAcceleration<100>,Int<50>,Int<300>>,Scale<SwingAcceleration<100>,Int<24000>,Int<16000>>>,Int<-3200>,Int<-200>>,RgbArg<BASE_COLOR_ARG,Rgb<200,200,255>>,RgbArg<BASE_COLOR_ARG,Rgb<200,200,255>>,Mix<Int<7710>,Black,RgbArg<BASE_COLOR_ARG,Rgb<200,200,255>>>,RgbArg<BASE_COLOR_ARG,Rgb<200,200,255>>,Mix<Int<19276>,Black,RgbArg<BASE_COLOR_ARG,Rgb<200,200,255>>>>,RgbArg<BASE_COLOR_ARG,Rgb<200,200,255>>>,RgbArg<BASE_COLOR_ARG,Rgb<200,200,255>>>,
TransitionEffectL<TrWaveX<RgbArg<BLAST_COLOR_ARG,White>,Scale<EffectRandomF<EFFECT_BLAST>,Int<100>,Int<400>>,Int<100>,Scale<EffectPosition<EFFECT_BLAST>,Int<100>,Int<400>>,Scale<EffectPosition<EFFECT_BLAST>,Int<28000>,Int<8000>>>,EFFECT_BLAST>,
Mix<IsLessThan<ClashImpactF<>,Int<26000>>,TransitionEffectL<TrConcat<TrInstant,AlphaL<RgbArg<CLASH_COLOR_ARG,White>,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,White>,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<TransitionEffect<AlphaL<AlphaMixL<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<SwingSpeed<100>,Int<14000>,Int<22000>>>,AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,White>,Mix<Int<12000>,Black,RgbArg<LOCKUP_COLOR_ARG,White>>>,BrownNoiseFlicker<RgbArg<LOCKUP_COLOR_ARG,White>,Mix<Int<12000>,Black,RgbArg<LOCKUP_COLOR_ARG,White>>,300>>,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<SwingSpeed<100>,Int<14000>,Int<22000>>>>,AlphaL<AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,White>,Mix<Int<20000>,Black,RgbArg<LOCKUP_COLOR_ARG,White>>>,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<SwingSpeed<100>,Int<14000>,Int<18000>>>>,TrExtend<5000,TrInstant>,TrFade<5000>,EFFECT_LOCKUP_BEGIN>,TrConcat<TrJoin<TrDelay<50>,TrInstant>,Mix<IsLessThan<ClashImpactF<>,Int<26000>>,RgbArg<LOCKUP_COLOR_ARG,White>,AlphaL<RgbArg<LOCKUP_COLOR_ARG,White>,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<20000>,Int<60000>>>>>,TrFade<300>>,TrConcat<TrInstant,RgbArg<LOCKUP_COLOR_ARG,White>,TrFade<400>>,SaberBase::LOCKUP_NORMAL>,
ResponsiveLightningBlockL<Strobe<RgbArg<LB_COLOR_ARG,White>,AudioFlicker<RgbArg<LB_COLOR_ARG,White>,Blue>,50,1>,TrConcat<TrExtend<200,TrInstant>,AlphaL<RgbArg<LB_COLOR_ARG,White>,Bump<Scale<BladeAngle<>,Int<10000>,Int<21000>>,Int<10000>>>,TrFade<200>>,TrConcat<TrInstant,RgbArg<LB_COLOR_ARG,White>,TrFade<400>>>,
LockupTrL<AlphaL<TransitionEffect<RandomPerLEDFlickerL<RgbArg<DRAG_COLOR_ARG,White>>,BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,White>,Int<300>>,TrExtend<4000,TrInstant>,TrFade<4000>,EFFECT_DRAG_BEGIN>,SmoothStep<Scale<TwistAngle<>,IntArg<DRAG_SIZE_ARG,28000>,Int<30000>>,Int<3000>>>,TrWipeIn<200>,TrWipe<200>,SaberBase::LOCKUP_DRAG>,
LockupTrL<AlphaL<Stripes<2000,4000,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,Mix<Sin<Int<50>>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,Mix<Int<4096>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,28000>,Int<30000>>,Int<3000>>>,TrConcat<TrExtend<4000,TrWipeIn<200>>,AlphaL<HumpFlicker<Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,RotateColorsX<Int<3000>,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,100>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,28000>,Int<30000>>,Int<3000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT>,
InOutTrL<TrWipeX<BendTimePowInvX<IgnitionTime<>,Mult<IntArg<IGNITION_OPTION2_ARG,5992>,Int<98304>>>>,TrWipeInX<BendTimePowInvX<RetractionTime<>,Mult<IntArg<RETRACTION_OPTION2_ARG,6992>,Int<98304>>>>>>>(),
//arc reactor
StylePtr<Layers<
Layers<
Mix<Int<8192>,Black,RgbArg<BASE_COLOR_ARG,AliceBlue>>,
PulsingL<RgbArg<BASE_COLOR_ARG,AliceBlue>,Int<2000>>>,
TransitionEffectL<TrConcat<TrInstant,AudioFlickerL<RgbArg<IGNITION_COLOR_ARG,AliceBlue>>,TrFade<1200>>,EFFECT_IGNITION>,
SparkleL<RgbArg<EMITTER_COLOR_ARG,AliceBlue>,50,300>,
TransitionEffectL<TrConcat<TrJoin<TrDelay<30>,TrInstant>,RgbArg<BLAST_COLOR_ARG,White>,TrFade<300>>,EFFECT_BLAST>,
Mix<IsLessThan<ClashImpactF<>,Int<26000>>,TransitionEffectL<TrWaveX<RgbArg<CLASH_COLOR_ARG,White>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Int<100>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Int<0>>,EFFECT_CLASH>,AlphaL<White,Int<0>>>,
LockupTrL<AlphaL<TransitionEffect<RandomPerLEDFlickerL<RgbArg<DRAG_COLOR_ARG,White>>,BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,White>,Int<300>>,TrExtend<4000,TrInstant>,TrFade<4000>,EFFECT_DRAG_BEGIN>,SmoothStep<Scale<TwistAngle<>,IntArg<DRAG_SIZE_ARG,31000>,Int<30000>>,Int<3000>>>,TrWipeIn<200>,TrWipe<200>,SaberBase::LOCKUP_DRAG>,
LockupTrL<AlphaL<Stripes<2000,4000,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,Mix<Sin<Int<50>>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,Mix<Int<4096>,Black,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,26000>,Int<30000>>,Int<3000>>>,TrConcat<TrExtend<4000,TrWipeIn<200>>,AlphaL<HumpFlicker<Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>,RotateColorsX<Int<3000>,Mix<TwistAngle<>,RgbArg<STAB_COLOR_ARG,DarkOrange>,RotateColorsX<Int<3000>,RgbArg<STAB_COLOR_ARG,DarkOrange>>>>,100>,SmoothStep<Scale<TwistAngle<>,IntArg<MELT_SIZE_ARG,26000>,Int<30000>>,Int<3000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT>,
InOutTrL<TrCenterWipeX<BendTimePowInvX<IgnitionTime<0>,Mult<IntArg<IGNITION_OPTION2_ARG,5992>,Int<98304>>>>,TrJoin<TrCenterWipeInX<BendTimePowInvX<RetractionTime<>,Mult<IntArg<RETRACTION_OPTION2_ARG,20992>,Int<98304>>>>,TrSmoothFadeX<BendTimePowInvX<RetractionTime<>,Mult<IntArg<RETRACTION_OPTION2_ARG,20992>,Int<98304>>>>>,Sparkle<Black,PulsingL<AliceBlue,Int<3000>>,700,150>>>>(),
//crystal
StylePtr<Black>(),
//oled accents
StylePtr<Black>(),
//speaker led
StylePtr<Red>(),
//motor
StylePtr<Black>(),
"calibrate"},
};
BladeConfig blades[] = {
{ NO_BLADE,
//blade
SubBlade(1, 133, WS281XBladePtr<134, blade2Pin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >()),
//arc reactor
SubBlade(0, 0, NULL),
//crystal
WS281XBladePtr<1, bladePin, Color8::GRB, PowerPINS<bladePowerPin1> >(),
//oled accents
WS281XBladePtr<6, blade4Pin, Color8::GRB, PowerPINS<bladePowerPin5> >(),
//speaker led
SimpleBladePtr<CH1LED,NoLED, NoLED, NoLED,bladePowerPin4, -1,-1,-1>(),
//motor
SimpleBladePtr<CH1LED,NoLED, NoLED, NoLED,bladePowerPin6, -1,-1,-1>(),
CONFIGARRAY(noblade) },
{ 10490, // Needs to be obtained by running `scanid` in Serial Monitor with blade inserted. Enter average, rounded value.
//blade
SubBlade(1, 133, WS281XBladePtr<134, blade2Pin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >()),
//arc reactor
SubBlade(0, 0, NULL),
//crystal
WS281XBladePtr<1, bladePin, Color8::GRB, PowerPINS<bladePowerPin1> >(),
//oled accents
WS281XBladePtr<6, blade4Pin, Color8::GRB, PowerPINS<bladePowerPin5> >(),
//speaker led
SimpleBladePtr<CH1LED,NoLED, NoLED, NoLED,bladePowerPin4, -1,-1,-1>(),
//motor
SimpleBladePtr<CH1LED,NoLED, NoLED, NoLED,bladePowerPin6, -1,-1,-1>(),
CONFIGARRAY(light) },
{ 32844, // Needs to be obtained by running `scanid` in Serial Monitor with blade inserted. Enter average, rounded value.
//blade
SubBlade(1, 133, WS281XBladePtr<134, blade2Pin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >()),
//arc reactor
SubBlade(0, 0, NULL),
//crystal
WS281XBladePtr<1, bladePin, Color8::GRB, PowerPINS<bladePowerPin1> >(),
//oled accents
WS281XBladePtr<6, blade4Pin, Color8::GRB, PowerPINS<bladePowerPin5> >(),
//speaker led
SimpleBladePtr<CH1LED,NoLED, NoLED, NoLED,bladePowerPin4, -1,-1,-1>(),
//motor
SimpleBladePtr<CH1LED,NoLED, NoLED, NoLED,bladePowerPin6, -1,-1,-1>(),
CONFIGARRAY(dark) },
};
#endif
#ifdef CONFIG_BUTTONS
Button PowerButton(BUTTON_POWER, powerButtonPin, "pow");
Button AuxButton(BUTTON_AUX, auxPin, "aux");
#endif