Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Jedi Killer
- Proffie OS7.11 w/ Fett263 buttons
- ********************************************************************************************************************************
- Version History
- ---------------
- 05/01/2023 1.0 Initial Release
- 06/05/2023 2.0 Reworked for OS7.7 and Proffie 3.9 Board
- 10/10/203 3.0 New Fett styles for multiphase + new controls for OS7
- ********************************************************************************************************************************
- */
- #ifdef CONFIG_TOP
- #include "proffieboard_v3_config.h"
- #define NUM_BLADES 6
- #define NUM_BUTTONS 2
- const unsigned int maxLedsPerStrip = 144;
- // Volume + Sensitivity from real / false clashes
- #define VOLUME 2100
- #define CLASH_THRESHOLD_G 9.5
- #define AUDIO_CLASH_SUPPRESSION_LEVEL 23
- #define BOOT_VOLUME 600
- // Core Functionality
- #define ENABLE_AUDIO
- #define ENABLE_MOTION
- #define ENABLE_WS2811
- #define ENABLE_SD
- // Memory Saving defines / New Functionality
- //#define DISABLE_DIAGNOSTIC_COMMANDS
- #define COLOR_CHANGE_DIRECT
- #define DISABLE_BASIC_PARSER_STYLES
- #define EXTRA_COLOR_BUFFER_SPACE 60
- #define FETT263_SPECIAL_ABILITIES
- #define NO_REPEAT_RANDOM
- #define FETT263_DISABLE_COPY_PRESET
- // Support inverted install proffieboard
- // #define ORIENTATION ORIENTATION_USB_TOWARDS_BLADE
- //#define ENABLE_ALL_EDIT_OPTIONS
- //#define FETT263_EDIT_SETTINGS_MENU
- #define FETT263_TWIST_ON_NO_BM
- #define FETT263_TWIST_ON
- #define FETT263_TWIST_OFF
- #define FETT263_MOTION_WAKE_POWER_BUTTON
- #define FETT263_THRUST_ON
- #define FETT263_HOLD_BUTTON_LOCKUP
- #define FETT263_LOCKUP_DELAY 200
- #define FETT263_RANDOMIZE_QUOTE_PLAYER
- // Timesout For Clash/Gestures (60s * 5 * 1000ms = 5 minutes)
- #define MOTION_TIMEOUT 60 * 5 * 1000
- // Timeout for Crystal Chamber (60s * 5 * 1000ms = 5 minutes)
- #define IDLE_OFF_TIME 60 * 6 * 1000
- #endif
- // Implement Fett263 buttons
- #ifdef CONFIG_PROP
- #include "../props/saber_fett263_buttons.h"
- #endif
- // *************************************************************************
- // Custom Library for Styles
- // *************************************************************************
- #ifdef CONFIG_PRESETS
- #include "MyBladeStyles_OS6_v3.h" // Include file for blades
- #include "Accents_Library_v1.h" // Include file for accents
- #include "Jedi_Library_v1.h" // Include file for blades
- Preset presets[] = {
- ////////
- /* Accent Order */
- /* SHTOK > BLADE > TOP CRYSTAL > BOTTOM CRYSTAL > UPPER STRIP > LOWER TURBINE */
- { "Dual_Darth;common", "common/tracks/rematch_track1.wav",
- StylePtr<SHTOK_UNSTABLE_RED>(),
- StylePtr<DUAL_DARTH>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<RED_UNSTABLE_CRYSTAL>(),
- StylePtr<DUAL_DARTH_ACCENT>(),
- StylePtr<DEATHSTAR_UNSTABLE_RED>()},
- ////////
- { "Vergence_Ani;common", "common/tracks/second_duel.wav",
- StylePtr<SHTOK_PULSE_WHITE>(),
- StylePtr<ANAKIN_MULTIPHASE>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<RED_UNSTABLE_CRYSTAL>(),
- StylePtr<ANAKIN_UPPER_CHAMBER>(),
- StylePtr<ANAKIN_LOWER_CHAMBER>()},
- ////////
- { "Skoll;common", "common/tracks/skoll_track4.wav",
- StylePtr<SHTOK_PULSE_WHITE>(),
- StylePtr<SKOLL>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<SKOLL_ACCENT>(),
- StylePtr<DEATHSTAR_UNSTABLE_RED>()},
- ////////
- { "Darkness;common", "common/tracks/second_duel.wav",
- StylePtr<SHTOK_UNSTABLE_RED>(),
- StylePtr<DARKNESS_MAIN>(),
- StylePtr<RED_UNSTABLE_CRYSTAL>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<ERRATIC_STRIP_DUAL_RED>(),
- StylePtr<DEATHSTAR_UNSTABLE_RED>()},
- ////////
- { "Rematch_Darth;common", "common/tracks/rematch_track2.wav",
- StylePtr<SHTOK_UNSTABLE_RED>(),
- StylePtr<REMATCH_D>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<RED_UNSTABLE_CRYSTAL>(),
- StylePtr<ERRATIC_STRIP_DUAL_RED>(),
- StylePtr<DEATHSTAR_UNSTABLE_RED>()},
- ////////
- { "Vengeful_Youngling;common", "common/tracks/rematch_track1.wav",
- StylePtr<SHTOK_UNSTABLE_RED>(),
- StylePtr<VENGEFUL_YOUNGLING2>(),
- StylePtr<RED_UNSTABLE_CRYSTAL>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<ERRATIC_STRIP_DUAL_RED>(),
- StylePtr<DIM_LOWER_FLICKER_RED>()},
- ////////
- { "Second;common", "common/tracks/rematch_track1.wav",
- StylePtr<SHTOK_UNSTABLE_RED>(),
- StylePtr<SECOND_SISTER_BLADE>(),
- StylePtr<RED_UNSTABLE_CRYSTAL>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<ERRATIC_STRIP_DUAL_RED>(),
- StylePtr<DIM_LOWER_FLICKER_RED>()},
- ////////
- { "Traveller;common", "common/tracks/rematch_track1.wav",
- StylePtr<SHTOK_UNSTABLE_RED>(),
- StylePtr<TRAVELLER_BLADE>(),
- StylePtr<RED_UNSTABLE_CRYSTAL>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<ERRATIC_STRIP_DUAL_RED>(),
- StylePtr<DIM_LOWER_FLICKER_RED>()},
- ////////
- { "Villainous_Heritage;common", "common/tracks/Kylo_Theme.wav",
- StylePtr<SHTOK_UNSTABLE_RED>(),
- StylePtr<VILLAINOUS>(),
- StylePtr<RED_UNSTABLE_CRYSTAL>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<ERRATIC_STRIP_DUAL_RED>(),
- StylePtr<DEATHSTAR_UNSTABLE_RED>()},
- ////////
- { "8thBrother;common", "common/tracks/rematch_track1.wav",
- StylePtr<SHTOK_UNSTABLE_RED>(),
- StylePtr<EIGHTH_BROTHER>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<RED_UNSTABLE_CRYSTAL>(),
- StylePtr<ERRATIC_STRIP_DUAL_RED>(),
- StylePtr<DEATHSTAR_UNSTABLE_RED>()},
- ////////
- { "Am;common", "common/tracks/rematch_track1.wav",
- StylePtr<SHTOK_UNSTABLE_RED>(),
- StylePtr<AM_BLADE>(),
- StylePtr<RED_UNSTABLE_CRYSTAL>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<ERRATIC_STRIP_DUAL_RED>(),
- StylePtr<DEATHSTAR_UNSTABLE_RED>()},
- ////////
- { "Foolish_Old_Man;common", "common/tracks/rematch_track1.wav",
- StylePtr<SHTOK_UNSTABLE_RED>(),
- StylePtr<RED_ROTO_BLADE_PRE>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<RED_UNSTABLE_CRYSTAL>(),
- StylePtr<ERRATIC_STRIP_DUAL_RED>(),
- StylePtr<DEATHSTAR_UNSTABLE_RED>()},
- ////////
- { "Emperor;common", "common/tracks/rematch_track1.wav",
- StylePtr<SHTOK_UNSTABLE_RED>(),
- StylePtr<SHADOW_HAND_BLADE>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<RED_UNSTABLE_CRYSTAL>(),
- StylePtr<ERRATIC_STRIP_DUAL_RED>(),
- StylePtr<DIM_LOWER_FLICKER_RED>()},
- ////////
- { "D-Maul2;common", "common/tracks/rematch_track1.wav",
- StylePtr<SHTOK_UNSTABLE_RED>(),
- StylePtr<DMAUL_BLADE>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<RED_UNSTABLE_CRYSTAL>(),
- StylePtr<DEATHSTAR_UNSTABLE_RED>(),
- StylePtr<DIM_LOWER_FLICKER_RED>()},
- ////////
- { "Kylo_TROS;common", "common/tracks/rematch_track1.wav",
- StylePtr<SHTOK_PULSE_WHITE>(),
- StylePtr<Kylo_TROS>(),
- StylePtr<RED_UNSTABLE_CRYSTAL>(),
- StylePtr<RED_UNSTABLE_CRYSTAL>(),
- StylePtr<DEATHSTAR_UNSTABLE_RED>(),
- StylePtr<DIM_LOWER_FLICKER_WHITE>()},
- ////////
- { "Rematch_Ben;common", "common/tracks/rematch_track1.wav",
- StylePtr<SHTOK_PULSE_WHITE>(),
- StylePtr<BLUE_ROTO_BLADE_PRE>(),
- StylePtr<BLUE_UNSTABLE_CRYSTAL>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<ACCENT_BLUE_UNSTABLE>(),
- StylePtr<DEATHSTAR_UNSTABLE_BLUE>()},
- ////////
- { "TLJ_Graflex;common", "common/tracks/rematch_track1.wav",
- StylePtr<SHTOK_PULSE_WHITE>(),
- StylePtr<BLUE_ROTO_BLADE_PRE>(),
- StylePtr<BLUE_UNSTABLE_CRYSTAL>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<DEATHSTAR_UNSTABLE_BLUE>(),
- StylePtr<DIM_LOWER_FLICKER_BLUE>()},
- ////////
- { "T_Ahsoka;common", "common/tracks/rematch_track1.wav",
- StylePtr<SHTOK_PULSE_WHITE>(),
- StylePtr<BLUE_ROTO_BLADE_PRE>(),
- StylePtr<BLUE_UNSTABLE_CRYSTAL>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<ERRATIC_STRIP_DUAL_BLUE>(),
- StylePtr<DIM_LOWER_FLICKER_BLUE>()},
- ////////
- { "Return;common", "common/tracks/rematch_track1.wav",
- StylePtr<SHTOK_PULSE_WHITE>(),
- StylePtr<GREEN_OT_BLADE>(),
- StylePtr<GREEN_UNSTABLE_CRYSTAL>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<ERRATIC_STRIP_DUAL_GREEN>(),
- StylePtr<DIM_LOWER_FLICKER_GREEN>()},
- ////////
- { "Sorcerer_v2;common", "common/tracks/Sorcererv2_track1.wav",
- StylePtr<SHTOK_PULSE_WHITE>(),
- StylePtr<WHITE_AHSOKA_BLADE>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<ERRATIC_STRIP_DUAL_SILVER>(),
- StylePtr<DIM_LOWER_FLICKER_WHITE>()},
- ////////
- { "ANH_Graflex;common", "common/tracks/rematch_track1.wav",
- StylePtr<SHTOK_PULSE_WHITE>(),
- StylePtr<BLUE_OT_BLADE>(),
- StylePtr<BLUE_UNSTABLE_CRYSTAL>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<ERRATIC_STRIP_DUAL_BLUE>(),
- StylePtr<DIM_LOWER_FLICKER_WHITE>()},
- ////////
- { "TROS_Graflex;common", "common/tracks/rematch_track1.wav",
- StylePtr<SHTOK_PULSE_WHITE>(),
- StylePtr<BLUE_ROTO_BLADE_SEQ>(),
- StylePtr<BLUE_UNSTABLE_CRYSTAL>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<BLUE_COMPLEX>(),
- StylePtr<DIM_LOWER_FLICKER_WHITE>()},
- ////////
- { "Dark_Std;common", "common/tracks/rematch_track1.wav",
- StylePtr<SHTOK_PULSE_WHITE>(),
- StylePtr<WHITE_DARK_BLADE>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<ERRATIC_STRIP_DUAL_SILVER>(),
- StylePtr<DIM_LOWER_FLICKER_WHITE>()},
- ////////
- { "Inquisitor;common", "common/tracks/rematch_track1.wav",
- StylePtr<SHTOK_PULSE_WHITE>(),
- StylePtr<VISION_WHITE_UNSTABLE>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<SILVER_UNSTABLE_CRYSTAL>(),
- StylePtr<ERRATIC_STRIP_DUAL_SILVER>(),
- StylePtr<DIM_LOWER_FLICKER_WHITE>()},
- ////////
- { "T_Inquisitor;common", "common/tracks/rematch_track1.wav",
- StylePtr<SHTOK_PULSE_WHITE>(),
- StylePtr<T_INQUIS_BLADE>(),
- StylePtr<RED_BASE_CRYSTAL>(),
- StylePtr<RED_BASE_CRYSTAL>(),
- StylePtr<EVENT_RED>(),
- StylePtr<DIM_LOWER_FLICKER_WHITE>()},
- ////////
- { "CmdrTano;common", "common/tracks/rematch_track1.wav",
- StylePtr<SHTOK_PULSE_WHITE>(),
- StylePtr<CMDR_TANO>(),
- StylePtr<BLUE_UNSTABLE_CRYSTAL>(),
- StylePtr<BLUE_UNSTABLE_CRYSTAL>(),
- StylePtr<ACCENT_BLUE_UNSTABLE>(),
- StylePtr<DEATHSTAR_UNSTABLE_BLUE>()},
- ////////
- };
- BladeConfig blades[] = {
- { 0,
- // Pair 1 = Shtok PCB + Main
- SubBlade (0, 15, WS281XBladePtr<130, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >() ),
- SubBlade (16, 129, NULL),
- // Pair 2 = Crystals underlight
- SubBlade (0, 0, WS281XBladePtr<3, blade4Pin, Color8::GRB, PowerPINS<bladePowerPin6> >() ),
- SubBlade (1, 1, NULL),
- // Item 3 = Upper Strip
- WS281XBladePtr<7, blade3Pin, Color8::GRB, PowerPINS<bladePowerPin5> >(),
- // Item 4 - Lower Turbine
- WS281XBladePtr<10, blade2Pin, Color8::GRB, PowerPINS<bladePowerPin4> >(),
- CONFIGARRAY(presets) },
- };
- #endif
- // Buttons Setup
- #ifdef CONFIG_BUTTONS
- Button PowerButton(BUTTON_POWER, auxPin, "pow");
- Button AuxButton(BUTTON_AUX, powerButtonPin, "aux");
- #endif
Advertisement
Add Comment
Please, Sign In to add comment