#ifdef CONFIG_TOP //#include "proffieboard_v2_config.h" #include "proffieboard_v3_config.h" #define NUM_BLADES 10 #define NUM_BUTTONS 2 #define VOLUME 1500 const unsigned int maxLedsPerStrip = 144; #define CLASH_THRESHOLD_G 2 //#define AUDIO_CLASH_SUPPRESSION_LEVEL 10 #define ENABLE_AUDIO #define ENABLE_MOTION #define ENABLE_WS2811 #define ENABLE_SD #define MOTION_TIMEOUT 60 * 5 * 1000 #define IDLE_OFF_TIME 60 * 5 * 1000 #define DISABLE_BASIC_PARSER_STYLES //#define DISABLE_DIAGNOSTIC_COMMANDS #define ENABLE_ALL_EDIT_OPTIONS #define SAVE_PRESET #define NO_REPEAT_RANDOM #define COLOR_CHANGE_DIRECT //#define ENABLE_SERIAL #define RFID_SERIAL Serial3 #define FETT263_LOCKUP_DELAY 200 #define FETT263_BM_CLASH_DETECT 6 #define FETT263_TWIST_ON #define FETT263_TWIST_ON_NO_BM #define FETT263_TWIST_OFF #define BLADE_DETECT_PIN aux2Pin #define ENABLE_SPIDISPLAY #define TURQUOMAX_1 Rgb<150,255,150> #define TURQUOISE_1 Rgb<40,220,60> #define TURQUOISE_2 Rgb<45,190,52> #define TURQUOISE_3 Rgb<30,165,45> #define TURQUOISE_4 Rgb<20,110,30> #define TURQUOISE_5 Rgb<2,11,3> #define TURQCOMPL_1 Rgb<213,48,61> #endif #ifdef CONFIG_PROP #include "../props/saber_fett263_buttons.h" #endif #ifdef CONFIG_BOTTOM SPIDisplay_DFRobot096<3> display; StandarColorDisplayController<160, 80> display_controller(&display); #endif #ifdef CONFIG_PRESETS RFID_Command RFID_Commands[] = { { 0x0000000C04ULL /* green */, "change_preset", "0" }, { 0x09003A8CDCULL, "change_preset", "1" }, }; Preset no_blade[] = { {"/Battle/Battle3", "/Battle/Battle3", // Emitter StylePtr, 99,1200, 4000>> (), // Blade Style StylePtr,RotateColorsX>>, TransitionEffectL,Mix,AudioFlickerL>>,White>,TrDelay<30000>,Mix,AudioFlickerL>>,White>,TrFade<800>>,EFFECT_FORCE>, 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, 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,Red,Orange>,SmoothStep,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>, InOutTrL,TrWipeIn<1200>>, AlphaL>,Int<0>,Scale,Int<7500>>>>>>(), // Clamp Lights StylePtr, 99,1200, 4000>,300,800,Cylon>>(), // Side Lights 1 StylePtr, 99,1200, 4000>,300,800,Cylon>>(), // Side Lights 2 StylePtr, 99,1200, 4000>,300,800,Cylon>>(), // Plasma Ring StylePtr,0,1, Lockup,SteelBlue,100>,Orange,50>, AudioFlicker,AudioFlicker>,Blue>,80,3000,5000>>(), // Crystal Chamber Beam StyleNormalPtr, White, 300, 800>(), // Kyber Crystal StylePtr,SteelBlue>,Pulsing, Pulsing,Int<32768>,SmoothStep,Int<4096>>>,DeepSkyBlue>,300,800,Pulsing>>(), // Rotating Magnets StyleNormalPtr(), // Vibration Motor StyleNormalPtr, White, 300, 800>(), "Battle3"}, }; //--------------------------------------------------------------- Preset blade_in[] = { {"/Werewolf", "/Werewolf", // Emitter StylePtr, 99,1200, 4000>> (), // Blade Style StylePtr,RotateColorsX>>, TransitionEffectL,Mix,AudioFlickerL>>,White>,TrDelay<30000>,Mix,AudioFlickerL>>,White>,TrFade<800>>,EFFECT_FORCE>, 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, 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,Red,Orange>,SmoothStep,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>, InOutTrL,TrWipeIn<1200>>, AlphaL>,Int<0>,Scale,Int<7500>>>>>>(), // Clamp Lights StylePtr, 99,1200, 4000>,300,800,Cylon>>(), // Side Lights 1 StylePtr, 99,1200, 4000>,300,800,Cylon>>(), // Side Lights 2 StylePtr, 99,1200, 4000>,300,800,Cylon>>(), // Plasma Ring StylePtr,0,1, Lockup,SteelBlue,100>,Orange,50>, AudioFlicker,AudioFlicker>,Blue>,80,3000,5000>>(), // Crystal Chamber Beam StyleNormalPtr, White, 300, 800>(), // Kyber Crystal StylePtr,SteelBlue>,Pulsing, Pulsing,Int<32768>,SmoothStep,Int<4096>>>,DeepSkyBlue>,300,800,Pulsing>>(), // Rotating Magnets StyleNormalPtr(), // Vibration Motor StyleNormalPtr, White, 300, 800>(), "Werewolf"}, }; BladeConfig blades[] = { { NO_BLADE, // Emitter (16 LEDs) SubBlade (0, 15, WS281XBladePtr<144, bladePin, Color8::GRB, PowerPINS >()), // Main Blade (114 LEDs) SubBlade (16, 143, NULL), WS281XBladePtr<3, blade4Pin, Color8::GRB, PowerPINS >(), // Clamp Lights // Kinetics Engine SubBlade (0, 7, WS281XBladePtr<38, blade3Pin, Color8::GRB, PowerPINS >()), // Side Lights 1 SubBlade (8, 15, NULL), // Side Lights 2 SubBlade (16, 35, NULL), // Plasma Ring SubBlade (36, 36, NULL), // Crystal Chamber Beam SubBlade (37, 37, NULL), // Kyber Crystal SimpleBladePtr, NoLED, NoLED, NoLED, bladePowerPin1, -1, -1, -1>(), // Rotating Magnets SimpleBladePtr, NoLED, NoLED, NoLED, bladePowerPin6, -1, -1, -1>(), // Vibration Motor CONFIGARRAY(no_blade), "no_blade_Save" }, { 0, // Emitter (16 LEDs) SubBlade (0, 15, WS281XBladePtr<144, bladePin, Color8::GRB, PowerPINS >()), // Main Blade (114 LEDs) SubBlade (16, 143, NULL), WS281XBladePtr<3, blade4Pin, Color8::GRB, PowerPINS >(), // Clamp Lights // Kinetics Engine SubBlade (0, 7, WS281XBladePtr<38, blade3Pin, Color8::GRB, PowerPINS >()), // Side Lights 1 SubBlade (8, 15, NULL), // Side Lights 2 SubBlade (16, 35, NULL), // Plasma Ring SubBlade (36, 36, NULL), // Crystal Chamber Beam SubBlade (37, 37, NULL), // Kyber Crystal SimpleBladePtr, NoLED, NoLED, NoLED, bladePowerPin1, -1, -1, -1>(), // Rotating Magnets SimpleBladePtr, NoLED, NoLED, NoLED, bladePowerPin6, -1, -1, -1>(), // Vibration Motor CONFIGARRAY(blade_in), "blade_in_Save" }, }; #endif #ifdef CONFIG_BUTTONS Button PowerButton(BUTTON_POWER, powerButtonPin, "pow"); Button AuxButton(BUTTON_AUX, auxPin, "aux"); #endif