// This is a sample configuration file. // This saber has: // o Proffieboard V1 hardware. // o Two buttons // o An XP-E2 RGB LED star on LED 4-5-6 // o A neopixel blade on LED 1-2-3 and neopixel data 1. // If you have a saber similar to this one, make a copy and use the copy. // This is also the default configuration file. Pre-programmed boards will // use this configuration file. #ifdef CONFIG_TOP #include "proffieboard_v2_config.h" #define NUM_BLADES 2 #define NUM_BUTTONS 2 #define VOLUME 800 const unsigned int maxLedsPerStrip = 144; #define CLASH_THRESHOLD_G 3.5 #define ENABLE_AUDIO #define FETT263_BATTLE_MODE #define ENABLE_MOTION #define ENABLE_WS2811 #define ENABLE_SD #define IDLE_OFF_TIME 60*2*1000 #define MOTION_TIMEOUT #define SHARED_POWER_PINS #define DISABLE_DIAGNOSTIC_COMMANDS #define BLADE_DETECT_PIN 17 #define SAVE_PRESET #define DISABLE_BASIC_PARSER_STYLES #define FETT263_TWIST_OFF #define ENABLE_ALL_EDIT_OPTIONS #define FETT263_THRUST_ON #define FETT263_THRUST_ON_NO_BM #define FETT263_HOLD_BUTTON_LOCKUP #define PROPS_SABER_FETT263_BUTTONS_H #define COLOR_CHANGE_DIRECT #define FETT263_SWING_ON #endif #ifdef CONFIG_PROP #include "../props/saber_fett263_buttons.h" #endif #ifdef CONFIG_PRESETS Preset presets[] = { { "1-SABERTRIO", "1-SABERTRIO/tracks/tracks_13.wav", /* copyright Fett263 CustomBlade (Primary Blade) OS6 Style https://fett263.com/fett263-proffieOS6-style-library.html#CustomBlade OS6.7 v4.014 Single Style Dual Phase (Split Personality) Default: Hyper Responsive Rotoscope (Original Trilogy) 1: Unstable Rage Base Color: Rgb<255,0,0> (0) --Effects Included-- Ignition Effect: Multi-Point Out Retraction Effect: Split Retraction + Fade Lockup Effect: Responsive Lockup, Begin Effect: Real Clash, End Effect: Full Blade Absorb LightningBlock Effect: Responsive Lightning Block Drag Effect: Intensity Fire Drag Melt Effect: Responsive Melt Stab Effect: Sparking Stab Blast Effect: Blast Fade (Random) Clash Effect: Responsive Clash with Ripple Battery Monitor: Passive Battery Monitor (Retraction) */ StylePtr>,Int<16384>>,Mix,Scale,Int<50>,Int<500>>,Scale,Int<20000>,Int<10000>>>,RandomFlicker,Scale,Scale,Int<50>,Int<300>>,Scale,Int<24000>,Int<16000>>>,Int<-3200>,Int<-200>>,RgbArg>,RgbArg>,Mix,Black,RgbArg>>,RgbArg>,Mix,Black,RgbArg>>>,RgbArg>>,RgbArg>>,Stripes<3000,-3500,RgbArg>,RandomPerLEDFlicker,Black,RgbArg>>,Black>,BrownNoiseFlicker>,Mix,Black,RgbArg>>,200>,RandomPerLEDFlicker,Black,RgbArg>>,Mix,Black,RgbArg>>>>>,TransitionEffectL>,TrWipeIn<200>>,AlphaL>>,SmoothStep,Int<2000>>>,TrWipe<200>>,EFFECT_STAB>,MultiTransitionEffectL,Scale,Int<9000>,Int<12000>>>,RgbArg>,Mix,Black,RgbArg>>>,TrFade<300>>,EFFECT_BLAST>,TransitionEffectL>,Bump,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Int<6000>>>,TrCenterWipeX,Scale,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>>,AlphaL,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>>,Stripes<1400,-2000,RgbArg>,Mix,Black,RgbArg>>>>,Bump,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Int<38000>>>,TrJoin,TrCenterWipeX,Scale,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>>>>,EFFECT_CLASH>,LockupTrL,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Scale,Int<14000>,Int<18000>>>>,AudioFlickerL>>,BrownNoiseFlickerL>,Int<200>>>,TrConcat>,TrFade<400>>,TrConcat>,TrFade<400>>,SaberBase::LOCKUP_NORMAL>,ResponsiveLightningBlockL>,AudioFlicker>,Blue>,50,1>,TrConcat>,Bump,Int<18000>>>,TrFade<200>>,TrConcat>,Int<16000>>,30>,TrSmoothFade<600>>>,LockupTrL>,Mix>,Black,RgbArg>>,Mix,Black,RgbArg>>>,SmoothStep,Int<3000>>>,TrConcat,TrWipeIn<200>>,AlphaL>,Mix>,Black,RgbArg>>,Mix,Black,RgbArg>>>,SmoothStep,Int<3000>>>,TrFade<4000>>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL,RgbArg>,RotateColorsX,RgbArg>>>,SmoothStep,Int<4000>>>,TrConcat,AlphaL>,SmoothStep,Int<4000>>>,TrFade<300>>,TrWipe<200>,SaberBase::LOCKUP_MELT>,InOutTrL,Scale,IgnitionTime<0>,Int<0>>,Int<12288>,Int<0>>>,LinearSectionF,Scale,IgnitionTime<0>,Int<0>>,Int<12288>,Int<0>>>,LinearSectionF,Scale,IgnitionTime<0>,Int<0>>,Int<12288>,Int<0>>>>>,TrDelayX>>,TrJoin,Int<16384>>,TrSmoothFadeX>>,Black>,TransitionEffectL,TrInstant>,AlphaL,SmoothStep,Int<-4000>>>,TrFade<300>>,EFFECT_RETRACTION>>>(), StyleNormalPtr(), "cyan"}, { "2-DARK_EDITION", "2-DARK_EDITION/tracks/tracks_14.wav", /* copyright Fett263 RainbowBlade (Primary Blade) OS6 Style https://fett263.com/fett263-proffieOS6-style-library.html#RainbowBlade OS6.7 v4.014 Single Style Base Style: Running Rainbow Fire (Fast) Base Color: Rgb<255,0,0> (0) Style Mod: Mirror In --Effects Included-- Ignition Effect: Glitch On Retraction Effect: Split Retraction Lockup Effect: Full Blade Lockup, Begin Effect: Real Clash, End Effect: Full Blade Absorb LightningBlock Effect: Responsive Lightning Block Drag Effect: Intensity Sparking Drag Melt Effect: Responsive Melt Blast Effect: Blast Wave (Random) Clash Effect: Responsive Clash Swing Effect: Force Rage Unstable Rain Effect: Rain Spark Battery Monitor: Passive Battery Monitor (Retraction) */ StylePtr,Remap,StyleFire>,RotateColorsX,RgbArg>>,RotateColorsX,RgbArg>>,RotateColorsX,RgbArg>>,RotateColorsX,RgbArg>>,RotateColorsX,RgbArg>>>,Mix,Black,Stripes<30000,-100,RgbArg>,RotateColorsX,RgbArg>>,RotateColorsX,RgbArg>>,RotateColorsX,RgbArg>>,RotateColorsX,RgbArg>>,RotateColorsX,RgbArg>>>>,0,4>>>,TransitionEffectL,TrFade<300>>,StripesX,Scale>,Int<-2500>,Int<-3500>>,RgbArg>,Mix,Black,RgbArg>>,RandomPerLEDFlicker,Black,RgbArg>>,RgbArg>>>,TrFade<300>>,EFFECT_FORCE>,SparkleL,MultiTransitionEffectL>,Scale,Int<100>,Int<400>>,Int<100>,Scale,Int<100>,Int<400>>,Scale,Int<28000>,Int<8000>>>,EFFECT_BLAST>,TransitionEffectL>,Bump,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<12000>,Int<60000>>>>,TrFadeX,Int<200>,Int<400>>>>,EFFECT_CLASH>,LockupTrL>>,TrConcat,TrInstant>,Mix,Int<26000>>,RgbArg>,AlphaL>,Bump,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<20000>,Int<60000>>>>>,TrFade<300>>,TrConcat>,TrFade<400>>,SaberBase::LOCKUP_NORMAL>,ResponsiveLightningBlockL>,AudioFlicker>,Blue>,50,1>,TrConcat>,Bump,Int<18000>>>,TrFade<200>>,TrConcat>,Int<16000>>,30>,TrSmoothFade<600>>>,LockupTrL>>,SmoothStep,Int<3000>>>,TrConcat,TrWipeIn<200>>,AlphaL>,Int<300>>,SmoothStep,Int<3000>>>,TrFade<4000>>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL,RgbArg>,RotateColorsX,RgbArg>>>,SmoothStep,Int<4000>>>,TrConcat,AlphaL>,SmoothStep,Int<4000>>>,TrFade<300>>,TrWipe<200>,SaberBase::LOCKUP_MELT>,InOutTrL,Int<16384>>>,TrWipeX,Int<16384>>>>,Mix>,Black,RgbArg>>,TrWipeX,Int<16384>>>>,TrCenterWipeX,Int<16384>>,Black>,TransitionEffectL,TrInstant>,AlphaL,SmoothStep,Int<-4000>>>,TrFade<300>>,EFFECT_RETRACTION>>>(), StylePtr >(), "blue"}, { "3-THE_LIGHT", "3-THE_LIGHT/tracks/tracks_15.wav", /* copyright Fett263 CustomBlade (Primary Blade) OS6 Style https://fett263.com/fett263-proffieOS6-style-library.html#CustomBlade OS6.7 v4.014 Single Style Color Shift (Blade Angle) Default: Hyper Responsive Rotoscope (Original Trilogy) 1: Unstable Rage Base Color: Rgb<255,0,0> (0) Color Shift controlled by Blade Angle. --Effects Included-- Ignition Effect: Multi-Point Out Retraction Effect: Cycle Down Lockup Effect: Full Blade Lockup, Begin Effect: Real Clash, End Effect: Full Blade Absorb LightningBlock Effect: Responsive Lightning Block Drag Effect: Intensity Sparking Drag Melt Effect: Intensity Melt Stab Effect: Sparking Stab Blast Effect: Blast Wave (Random) Clash Effect: Responsive Clash with Wave Battery Monitor: Passive Battery Monitor (Retraction) */ StylePtr,Mix,Scale,Int<50>,Int<500>>,Scale,Int<20000>,Int<10000>>>,RandomFlicker,Scale,Scale,Int<50>,Int<300>>,Scale,Int<24000>,Int<16000>>>,Int<-3200>,Int<-200>>,RgbArg>,RgbArg>,Mix,Black,RgbArg>>,RgbArg>,Mix,Black,RgbArg>>>,RgbArg>>,RgbArg>>,Stripes<3000,-3500,Gradient>,Mix,RgbArg>,White>>,RandomPerLEDFlicker,Black,Gradient>,Mix,RgbArg>,White>>>,Black>,BrownNoiseFlicker>,Mix,RgbArg>,White>>,Mix,Black,Gradient>,Mix,RgbArg>,White>>>,200>,RandomPerLEDFlicker,Black,Gradient>,Mix,RgbArg>,White>>>,Mix,Black,Gradient>,Mix,RgbArg>,White>>>>>>,TransitionEffectL>,TrWipeIn<200>>,AlphaL>>,SmoothStep,Int<2000>>>,TrWipe<200>>,EFFECT_STAB>,MultiTransitionEffectL>,Scale,Int<100>,Int<400>>,Int<100>,Scale,Int<100>,Int<400>>,Scale,Int<28000>,Int<8000>>>,EFFECT_BLAST>,TransitionEffectL>,Scale,Int<100>,Int<400>>,Int<100>,Scale,Int<100>,Int<400>>,Scale,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>>,EFFECT_CLASH>,LockupTrL>>,TrConcat,TrInstant>,Mix,Int<26000>>,RgbArg>,AlphaL>,Bump,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<20000>,Int<60000>>>>>,TrFade<300>>,TrConcat>,TrFade<400>>,SaberBase::LOCKUP_NORMAL>,ResponsiveLightningBlockL>,AudioFlicker>,Blue>,50,1>,TrConcat>,Bump,Int<18000>>>,TrFade<200>>,TrConcat>,Int<16000>>,30>,TrSmoothFade<600>>>,LockupTrL>>,SmoothStep,Int<3000>>>,TrConcat,TrWipeIn<200>>,AlphaL>,Int<300>>,SmoothStep,Int<3000>>>,TrFade<4000>>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL,Int<0>>,StaticFire,RgbArg>,RotateColorsX,RgbArg>>>,Mix,RotateColorsX,RgbArg>>,RotateColorsX,Mix,Black,RgbArg>>>>,0,3,5,3000,10>>,SmoothStep,Int<4000>>>,TrConcat,AlphaL>,SmoothStep,Int<4000>>>,TrJoin,TrFade<300>>,AlphaL,RgbArg>,RotateColorsX,RgbArg>>>,SmoothStep,Int<4000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT>,InOutTrL,Scale,IgnitionTime<1200>,Int<0>>,Int<12288>,Int<0>>>,LinearSectionF,Scale,IgnitionTime<1200>,Int<0>>,Int<12288>,Int<0>>>,LinearSectionF,Scale,IgnitionTime<1200>,Int<0>>,Int<12288>,Int<0>>>>>,TrDelayX>>,TrColorCycleX>,Black>,TransitionEffectL,TrInstant>,AlphaL,SmoothStep,Int<-4000>>>,TrFade<300>>,EFFECT_RETRACTION>>>(), StyleFirePtr(), "fire"}, { "MAGNETIC_PROFFIE", "MAGNETIC_PROFFIE/tracks/tracks_15.wav", StylePtr,Int<3000>,Int<6000>>,Scale,Int<-50>,Int<-100>>,StripesX,Int<1000>,Int<3000>>,Scale,Int<25>,Int<80>>,Pulsing>,RotateColorsX>,3000>,Mix>,RotateColorsX>,RotateColorsX>>>,RotateColorsX>,Pulsing>,StripesX,Int<2000>,Int<4000>>,Sin,Int<25>,Int<75>>,Mix>,RotateColorsX,RotateColorsX>>,RotateColorsX>>,2000>,Pulsing>,RotateColorsX>,3000>>,AlphaL,Int<3000>,Int<6000>>,Scale,Int<60>,Int<140>>,StripesX,Int<1000>,Int<3000>>,Scale,Int<-25>,Int<-80>>,Pulsing>,RotateColorsX,RotateColorsX>>,RotateColorsX>,4000>,Mix>,RotateColorsX>,Black>>,RotateColorsX>,Pulsing>,StripesX,Int<2000>,Int<4000>>,Sin,Int<-25>,Int<-75>>,Mix>,RotateColorsX,RotateColorsX>>,RotateColorsX>>,2000>,Pulsing>,RotateColorsX>,3000>>,Int<10000>>>, //Blue audioflicker lava lamp AlphaL,Int<3800>,Int<200>>,BrownNoiseFlicker>,100>,RandomPerLEDFlicker>,RotateColorsX>>,BrownNoiseFlicker>,RotateColorsX,RotateColorsX>>,RotateColorsX>,50>>,SmoothStep,Int<36000>>,Int<-4000>>>>,SwingSpeed<450>>, //Unstable, audio responsive swing. Force effect triggers a brief "charge up" effect while swinging which works well with the overcharged smooth swing 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>, //Responsive lockup ResponsiveLightningBlockL,50,1>,TrConcat,Int<18000>>>,TrFade<200>>,TrConcat>,30>,TrSmoothFade<600>>>, //Responsive lightning block AlphaL>,SmoothStep>,Int<1000>,Int<4000>>,Int<-4000>>>, //Sparking emitter flare ResponsiveStabL, //Responsive stab EffectSequence,Scale,Int<100>,Int<400>>,Int<400>>,LocalizedClashL,ResponsiveBlastWaveL,Int<500>,Int<200>>,Scale,Int<100>,Int<400>>>,BlastL,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>>>>, //Multi-blast, blaster reflect cycles through different responsive effects ResponsiveClashL,NavajoWhite,TrInstant,TrFade<100>,EFFECT_CLASH>,TrInstant,TrFade<400>,Scale,Int<4000>,Int<26000>>,Int<6000>,Int<20000>>, //Responsive clash TransitionEffectL,RotateColorsX>,TrInstant,RotateColorsX>,TrFade<550>>,EFFECT_IGNITION>, //Charge up ignition effect TransitionEffectL>>,TrFade<1000>>,EFFECT_RETRACTION>, //Purple retraction LockupTrL>,SmoothStep,Int<5000>>>,TrWipeIn<400>,TrFade<300>,SaberBase::LOCKUP_DRAG>, //Drag LockupTrL,Red,Orange>,SmoothStep,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>, //Responsive melt EffectSequence>,AlphaL>,AlphaL>,AlphaL>>, //Power save, if using fett263's prop file hold Aux and click PWR while ON (pointing up) to dim blade in 25% increments. InOutTrL,TrWipeInSparkTip>, //Color cycle ignition, spark tip retraction //InOutTrL,TrWipeInSparkTip>, //Alternate spark tip in ignition and retraction //TransitionEffectL,Black,TrFade<1000>,AlphaL,Bump,Int<6000>>>,TrFade<3000>>,EFFECT_BOOT>, //TransitionEffectL,Bump,Int<6000>>>,TrFade<3000>>,EFFECT_NEWFONT>, //Optional/alternate passive battery monitor, on boot (1st line) or font change (2nd line) you will get a visual indicator at the emitter of your current battery level. This also works without a blade if you have a lit emitter or blade plug. Green is Full, Red is Low (the color will blend from Green to Red as the battery is depleted), the indicator will fade out after 3000 ms and not display again until powered down and back up or fonts change. TransitionEffectL,Bump>>,TrDelay<2000>,AlphaL,Bump>>,TrFade<1000>>,EFFECT_BATTERY_LEVEL> //On demand battery level, if using fett263's prop file Hold AUX and click PWR while OFF, the battery level is represented by the location on the blade; tip = full, hilt = low and color; green = full, yellow = half, red = low >>(), StyleNormalPtr(), "white"}, { "RA_PROFFIE", "RA_PROFFIE/tracks/tracks_15.wav", /* copyright Fett263 EnergyWeapon (Primary Blade) OS6 Style https://fett263.com/fett263-proffieOS6-style-library.html#EnergyWeapon OS6.7 v4.014 Single Style Base Style: ElectroStaff Base Color: Rgb<100,100,150> (0) --Effects Included-- Preon Effect: Polar Spark (Base Color) Ignition Effect: Standard Ignition Retraction Effect: Standard Retraction Lockup Effect: Full Blade Lockup, Begin Effect: Real Clash, End Effect: Full Blade Absorb LightningBlock Effect: Force Lightning Drag Effect: Intensity Sparking Drag Melt Effect: Responsive Melt Blast Effect: Blast Fade (Sound Based) Clash Effect: Real Clash V1 Emitter Effect: Unstable Flare Emitter Off Effect: Base Color Flicker (One-Time Preset Indicator) Battery Monitor: Passive Battery Monitor (Retraction) */ StylePtr>,Strobe,RandomPerLEDFlicker>,Black>,50,1>,100,1>,Mix,Black,RgbArg>>,0,5,2,1000,5>,AlphaL>>,SmoothStep,Sum,Int<6000>>>,Int<-6000>>>,MultiTransitionEffectL,Scale,Int<9000>,Int<12000>>>,RgbArg>,Mix,Black,RgbArg>>>,TrFade<300>>,EFFECT_BLAST>,Mix,Int<26000>>,TransitionEffectL>,Bump,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<12000>,Int<60000>>>>,TrFadeX,Int<200>,Int<400>>>>,EFFECT_CLASH>,TransitionEffectL>,Scale,Int<100>,Int<400>>,Int<100>,Scale,Int<100>,Int<400>>,Scale,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>>,EFFECT_CLASH>>,LockupTrL>>,TrConcat,TrInstant>,Mix,Int<26000>>,RgbArg>,AlphaL>,Bump,Scale,Sum,Int<-12000>>,Sum,Int<10000>>>,Sum,Int<-10000>>>,Scale,Int<20000>,Int<60000>>>>>,TrFade<300>>,TrConcat>,TrFade<400>>,SaberBase::LOCKUP_NORMAL>,LockupTrL,RgbArg>,50,1>,Rgb<75,75,150>>,RandomPerLEDFlicker,Rgb<100,100,150>>>,TrWipe<200>,TrWipe<200>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,LockupTrL>>,SmoothStep,Int<3000>>>,TrConcat,TrWipeIn<200>>,AlphaL>,Int<300>>,SmoothStep,Int<3000>>>,TrFade<4000>>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL,RgbArg>,RotateColorsX,RgbArg>>>,SmoothStep,Int<4000>>>,TrConcat,AlphaL>,SmoothStep,Int<4000>>>,TrFade<300>>,TrWipe<200>,SaberBase::LOCKUP_MELT>,InOutTrL>,TrWipeInX>,ColorSelect,EffectPulseF,Int<1>>,TrInstant,Mix,Int<-1000>>,Black,RandomFlicker>,Mix,Black,RgbArg>>>>,Black>>,TransitionEffectL>,Rgb<100,100,150>,300>,LayerFunctions,Int<-4000>>,SmoothStep,Int<4000>>>>,TrDelayX>>,EFFECT_PREON>>>(), StylePtr >(), "blue"} }; BladeConfig blades[] = { { 0, WS281XBladePtr<137, bladePin, Color8::GRB, PowerPINS >(), SimpleBladePtr, NoLED, NoLED, NoLED, bladePowerPin1, -1, -1, -1>() , CONFIGARRAY(presets) }, }; #endif #ifdef CONFIG_BUTTONS Button PowerButton(BUTTON_POWER, powerButtonPin, "pow"); Button AuxButton(BUTTON_AUX, auxPin, "aux"); #endif