Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Basic blaster prop use.
- Default Startup Mode = STUN
- Add the following to your config file if so desired:
- #define BLASTER_SHOTS_UNTIL_EMPTY 15 (whatever number)
- #define BLASTER_JAM_PERCENTAGE if this is not defined, random from 0-100%.
- Blaster Buttons: FIRE and MODE
- (Blaster is always on with power, unless dedicated Power button is installed.)
- Cycle Modes - Click MODE.
- Next Preset - Long click and release MODE.
- Previous Preset - Double click and hold MODE, release after a second.
- Reload - Hold MODE until Reloaded. (Or Click Reload if dedicated button insatlled)
- Start/Stop Track - Double click MODE.
- Fire - Click FIRE. (Hold to Auto Fire / Rapid Fire)
- Clip In - Clip Detect pad Latched On. ( or Hold Momentary button)
- Clip out - Clip Detect pad Latched Off. ( or release Momentary button)
- Unjam - Bang the blaster.
- - If there's a 3rd button for Power,
- Power On / Off - Click POWER.
- Wavs to use for switching Modes:
- mdstun.wav
- mdkill.wav
- mdauto.wav
- - If these are not present, mode.wav will be used for all modes.
- - If no mode.wav either, then Talkie voice speaks selected mode.
- */
- // *********************************************
- #ifdef CONFIG_TOP
- #include "proffieboard_v2_config.h"
- #define NUM_BLADES 3
- #define NUM_BUTTONS 2
- #define VOLUME 2500
- const unsigned int maxLedsPerStrip = 144;
- #define CLASH_THRESHOLD_G 2.0
- #define ENABLE_AUDIO
- #define ENABLE_WS2811
- #define ENABLE_SD
- // OLED CONRTROLS:
- #define ENABLE_SSD1306
- #define PLI_OFF_TIME 30 * 1000
- // Controls how long battery display is shown on OLED after animations end.
- // Seconds multiplied by milliseconds. (30 * 1000 = 30 seconds).
- // #define OLED_FLIP_180 // Optional, use if viewfinder displays upside down.
- #define SAVE_STATE
- // #define DISABLE_DIAGNOSTIC_COMMANDS
- #define DISABLE_BASIC_PARSER_STYLES
- #define NO_REPEAT_RANDOM
- // #define DELAYED_OFF
- #define BLASTER_DEFAULT_MODE MODE_KILL
- #define ENABLE_BLASTER_AUTO
- #define OLED_USE_BLASTER_IMAGES
- #define BLASTER_SHOTS_UNTIL_EMPTY 10
- #define BLASTER_JAM_PERCENTAGE 5
- #define IDLE_OFF_TIME 5 * 60 * 1000
- // Minutes multiplied by seconds multiplied by milliseconds. (5 * 60 * 1000 = 5 minutes).
- #endif
- #ifdef CONFIG_PROP
- #include "../props/blaster.h"
- #endif
- // *********************************************
- #ifdef CONFIG_PRESETS
- Preset presets[] = {
- { "E-11;oled", "tracks/E-11.wav",
- // barrel
- StylePtr<Layers<
- Black,
- TransitionEffectL<TrConcat<TrWipe<100>,Black,TrWipe<100>,Black,TrWipe<200>>,EFFECT_FIRE>,
- TransitionEffectL<TrConcat<TrWipe<100>,DeepSkyBlue,TrWipe<100>,Blinking<Black,Blue,100,500>,TrWipe<200>>,EFFECT_STUN>,
- LockupTrL<Layers<
- TransitionLoopL<TrConcat<TrWipe<50>,Red,TrWipe<100>>>,
- TransitionLoopL<TrConcat<TrInstant,AlphaL<White,Bump<Int<0>,Int<25000>>>,TrFade<150>>>,
- TransitionLoopL<TrConcat<TrInstant,AlphaL<White,Bump<Int<0>,Int<25000>>>,TrFade<150>>>>,TrConcat<TrInstant,Rgb<255,100,100>,TrFade<150>>,TrJoin<TrConcat<TrInstant,AlphaL<Rgb<50,0,0>,Bump<Int<32768>,Int<60000>>>,TrFade<400>>,TrWipeX<Int<400>>,TrWaveX<Rgb<50,0,0>,Int<1800>,Int<40>,Int<400>,Int<5000>>>,SaberBase::LOCKUP_AUTOFIRE>>>(),
- // muzzle
- StylePtr<Layers<
- Black,
- TransitionEffectL<TrConcat<TrDelay<25>,White,TrFade<200>,Red,TrFade<300>>,EFFECT_FIRE>,
- TransitionEffectL<TrConcat<TrDelay<100>,DeepSkyBlue,TrFade<200>,Blinking<Black,Blue,100,500>,TrFade<300>>,EFFECT_STUN>,
- LockupTrL<Layers<
- TransitionLoopL<TrConcat<TrInstant,White,TrFade<50>,Red,TrFade<150>>>>,TrInstant,TrConcat<TrInstant,Rgb<50,0,0>,TrFade<400>>,SaberBase::LOCKUP_AUTOFIRE>>>(),
- // Power LED:
- StylePtr<Layers<Layers<Black,BlinkingL<Rgb<30,30,30>,Int<1500>,Int<500>>>,InOutHelperL<InOutFuncX<Int<300>,Int<800>>,Rgb<30,30,30>>>>(),
- "e-11"},
- // *****************
- { "EE-3;oled", "tracks/EE-3.wav",
- // barrel
- StylePtr<Layers<
- Black,
- TransitionEffectL<TrConcat<TrDelay<100>,Red,TrFade<200>,Black,TrFade<300>>,EFFECT_FIRE>,
- TransitionEffectL<TrConcat<TrWipe<25>,Red,TrWipe<25>,Black,TrWipe<25>,Red,TrWipe<25>,Black,TrWipe<25>,Red,TrWipe<25>,Black,TrWipe<25>>,EFFECT_STUN>,
- LockupTrL<Layers<
- TransitionLoopL<TrConcat<TrInstant,Black,TrFade<25>,Black,TrFade<25>>>>,TrInstant,TrConcat<TrInstant,Rgb<0,0,0>,TrFade<400>>,SaberBase::LOCKUP_AUTOFIRE>>>(),
- // muzzle
- StylePtr<Layers<
- Black,
- TransitionEffectL<TrConcat<TrDelay<100>,Red,TrFade<200>,Black,TrFade<300>>,EFFECT_FIRE>,
- TransitionEffectL<TrConcat<TrWipe<25>,Red,TrWipe<25>,Black,TrWipe<25>,Red,TrWipe<25>,Black,TrWipe<25>,Red,TrWipe<25>,Black,TrWipe<25>>,EFFECT_STUN>,
- LockupTrL<Layers<
- TransitionLoopL<TrConcat<TrInstant,Black,TrFade<25>,Black,TrFade<25>>>>,TrInstant,TrConcat<TrInstant,Rgb<0,0,0>,TrFade<400>>,SaberBase::LOCKUP_AUTOFIRE>>>(),
- // Power LED:
- StylePtr<Layers<Layers<Black,BlinkingL<Rgb<30,30,30>,Int<1500>,Int<500>>>,InOutHelperL<InOutFuncX<Int<300>,Int<800>>,Rgb<30,30,30>>>>(),
- "ee-3"},
- // *****************
- { "DLT-19;oled", "tracks/DLT-19.wav",
- // barrel
- StylePtr<Layers<
- Black,
- TransitionEffectL<TrConcat<TrWipe<100>,DarkOrange,TrWipe<100>,Black,TrWipe<200>>,EFFECT_FIRE>,
- TransitionEffectL<TrConcat<TrWipe<25>,DarkOrange,TrWipe<25>,Black,TrWipe<25>,DarkOrange,TrWipe<25>,Black,TrWipe<25>,DarkOrange,TrWipe<25>,Black,TrWipe<25>>,EFFECT_STUN>,
- LockupTrL<Layers<
- TransitionLoopL<TrConcat<TrWipe<30>,DarkOrange,TrWipe<30>>>,
- TransitionLoopL<TrConcat<TrInstant,AlphaL<DarkOrange,Bump<Int<0>,Int<18000>>>,TrFade<100>>>,
- TransitionLoopL<TrConcat<TrInstant,AlphaL<White,Bump<Int<0>,Int<15000>>>,TrFade<30>>>>,TrConcat<TrInstant,Rgb<255,100,100>,TrFade<200>>,TrJoin<TrConcat<TrInstant,AlphaL<Rgb<50,25,0>,Bump<Int<32768>,Int<60000>>>,TrFade<400>>,TrWipeX<Int<400>>,TrWaveX<Rgb<50,0,0>,Int<1800>,Int<40>,Int<400>,Int<5000>>>,SaberBase::LOCKUP_AUTOFIRE>>>(),
- // muzzle
- StylePtr<Layers<
- Black,
- TransitionEffectL<TrConcat<TrDelay<100>,DarkOrange,TrFade<200>,Black,TrFade<300>>,EFFECT_FIRE>,
- TransitionEffectL<TrConcat<TrWipe<25>,DarkOrange,TrWipe<25>,Black,TrWipe<25>,DarkOrange,TrWipe<25>,Black,TrWipe<25>,DarkOrange,TrWipe<25>,Black,TrWipe<25>>,EFFECT_STUN>,
- LockupTrL<Layers<
- TransitionLoopL<TrConcat<TrInstant,DarkOrange,TrFade<25>,Black,TrFade<25>>>>,TrInstant,TrConcat<TrInstant,Rgb<50,0,0>,TrFade<400>>,SaberBase::LOCKUP_AUTOFIRE>>>(),
- // Power LED:
- StylePtr<Layers<Layers<Black,BlinkingL<Rgb<30,30,30>,Int<1500>,Int<500>>>,InOutHelperL<InOutFuncX<Int<300>,Int<800>>,Rgb<30,30,30>>>>(),
- "dlt-19"},
- // *****************
- { "A180;oled", "tracks/A180.wav",
- // barrel
- StylePtr<Layers<
- Black,
- TransitionEffectL<TrConcat<TrWipe<100>,White,TrWipe<100>,Red,TrWipe<200>>,EFFECT_FIRE>,
- TransitionEffectL<TrConcat<TrWipe<100>,DeepSkyBlue,TrWipe<100>,Blinking<Black,Blue,100,500>,TrWipe<200>>,EFFECT_STUN>,
- LockupTrL<Layers<
- TransitionLoopL<TrConcat<TrWipe<50>,Red,TrWipe<100>>>,
- TransitionLoopL<TrConcat<TrInstant,AlphaL<White,Bump<Int<0>,Int<25000>>>,TrFade<150>>>,
- TransitionLoopL<TrConcat<TrInstant,AlphaL<White,Bump<Int<0>,Int<25000>>>,TrFade<150>>>>,TrConcat<TrInstant,Rgb<255,100,100>,TrFade<150>>,TrJoin<TrConcat<TrInstant,AlphaL<Rgb<50,0,0>,Bump<Int<32768>,Int<60000>>>,TrFade<400>>,TrWipeX<Int<400>>,TrWaveX<Rgb<50,0,0>,Int<1800>,Int<40>,Int<400>,Int<5000>>>,SaberBase::LOCKUP_AUTOFIRE>>>(),
- // muzzle
- StylePtr<Layers<
- Black,
- TransitionEffectL<TrConcat<TrDelay<100>,White,TrFade<200>,Red,TrFade<300>>,EFFECT_FIRE>,
- TransitionEffectL<TrConcat<TrDelay<100>,DeepSkyBlue,TrFade<200>,Blinking<Black,Blue,100,500>,TrFade<300>>,EFFECT_STUN>,
- LockupTrL<Layers<
- TransitionLoopL<TrConcat<TrInstant,White,TrFade<50>,Red,TrFade<150>>>>,TrInstant,TrConcat<TrInstant,Rgb<50,0,0>,TrFade<400>>,SaberBase::LOCKUP_AUTOFIRE>>>(),
- // Power LED:
- StylePtr<Layers<Layers<Black,BlinkingL<Rgb<30,30,30>,Int<1500>,Int<500>>>,InOutHelperL<InOutFuncX<Int<300>,Int<800>>,Rgb<30,30,30>>>>(),
- "a-180"},
- // *****************
- { "DL44;oled", "tracks/DL44.wav",
- // barrel
- StylePtr<Layers<
- Black,
- TransitionEffectL<TrConcat<TrWipe<100>,Red,TrWipe<100>,Black,TrWipe<200>>,EFFECT_FIRE>,
- TransitionEffectL<TrConcat<TrWipe<100>,White,TrWipe<100>,Blinking<Black,Red,100,500>,TrWipe<200>>,EFFECT_STUN>,
- LockupTrL<Layers<
- TransitionLoopL<TrConcat<TrWipe<50>,Red,TrWipe<150>>>,
- TransitionLoopL<TrConcat<TrInstant,AlphaL<White,Bump<Int<0>,Int<25000>>>,TrFade<200>>>,
- TransitionLoopL<TrConcat<TrInstant,AlphaL<White,Bump<Int<0>,Int<25000>>>,TrFade<200>>>>,TrConcat<TrInstant,Rgb<255,100,100>,TrFade<200>>,TrJoin<TrConcat<TrInstant,AlphaL<Rgb<50,0,0>,Bump<Int<32768>,Int<60000>>>,TrFade<400>>,TrWipeX<Int<400>>,TrWaveX<Rgb<50,0,0>,Int<1800>,Int<40>,Int<400>,Int<5000>>>,SaberBase::LOCKUP_AUTOFIRE>>>(),
- // muzzle
- StylePtr<Layers<
- Black,
- TransitionEffectL<TrConcat<TrDelay<100>,Red,TrFade<200>,Black,TrFade<300>>,EFFECT_FIRE>,
- TransitionEffectL<TrConcat<TrDelay<100>,White,TrFade<200>,Blinking<Black,Red,100,500>,TrFade<300>>,EFFECT_STUN>,
- LockupTrL<Layers<
- TransitionLoopL<TrConcat<TrInstant,White,TrFade<50>,Red,TrFade<150>>>>,TrInstant,TrConcat<TrInstant,Rgb<50,0,0>,TrFade<400>>,SaberBase::LOCKUP_AUTOFIRE>>>(),
- // Power LED:
- StylePtr<Layers<Layers<Black,BlinkingL<Rgb<30,30,30>,Int<1500>,Int<500>>>,InOutHelperL<InOutFuncX<Int<300>,Int<800>>,Rgb<30,30,30>>>>(),
- "dl-44"},
- // *****************
- { "NN14;oled", "tracks/NN14.wav",
- // barrel
- StylePtr<Layers<
- Black,
- TransitionEffectL<TrConcat<TrWipe<100>,White,TrWipeIn<100>,Red,TrWipe<200>>,EFFECT_FIRE>,
- TransitionEffectL<TrConcat<TrWipe<100>,DeepSkyBlue,TrWipe<100>,Blinking<Black,Blue,100,500>,TrWipe<200>>,EFFECT_STUN>,
- LockupTrL<Layers<
- TransitionLoopL<TrConcat<TrWipeIn<50>,Red,TrWipeIn<100>>>,
- TransitionLoopL<TrConcat<TrInstant,AlphaL<White,Bump<Int<0>,Int<25000>>>,TrFade<150>>>,
- TransitionLoopL<TrConcat<TrInstant,AlphaL<White,Bump<Int<0>,Int<25000>>>,TrFade<150>>>>,TrConcat<TrInstant,Rgb<255,100,100>,TrFade<150>>,TrJoin<TrConcat<TrInstant,AlphaL<Rgb<50,0,0>,Bump<Int<0>,Int<60000>>>,TrFade<400>>,TrConcat<TrDelay<416>,Black,TrWipeSparkTip<White,150,150>>,TrWaveX<Rgb<50,0,0>,Int<1800>,Int<40>,Int<400>,Int<27500>>>,SaberBase::LOCKUP_AUTOFIRE>>>(),
- // muzzle
- StylePtr<Layers<
- Black,
- TransitionEffectL<TrConcat<TrDelay<100>,White,TrFade<200>,Rgb<180,0,0>,TrFade<300>>,EFFECT_FIRE>,
- TransitionEffectL<TrConcat<TrDelay<100>,DeepSkyBlue,TrFade<200>,Blinking<Black,Blue,100,500>,TrFade<300>>,EFFECT_STUN>,
- LockupTrL<Layers<
- TransitionLoopL<TrConcat<TrInstant,White,TrFade<50>,Red,TrFade<150>>>>,TrInstant,TrConcat<TrInstant,Rgb<50,0,0>,TrFade<400>>,SaberBase::LOCKUP_AUTOFIRE>>>(),
- // Power LED:
- StylePtr<Layers<Layers<Black,BlinkingL<Rgb<30,30,30>,Int<1500>,Int<500>>>,InOutHelperL<InOutFuncX<Int<300>,Int<800>>,Rgb<30,30,30>>>>(),
- "nn-14"},
- // *****************
- { "Westar;oled", "tracks/Westar.wav",
- // barrel
- StylePtr<Layers<
- Black,
- TransitionEffectL<TrConcat<TrWipe<100>,DarkOrange,TrWipe<100>,Black,TrWipe<200>>,EFFECT_FIRE>,
- TransitionEffectL<TrConcat<TrWipe<100>,Green,TrWipe<100>,Blinking<Black,Yellow,100,500>,TrWipe<200>>,EFFECT_STUN>,
- LockupTrL<Layers<
- TransitionLoopL<TrConcat<TrWipe<50>,DarkOrange,TrWipe<150>>>,
- TransitionLoopL<TrConcat<TrInstant,AlphaL<DeepSkyBlue,Bump<Int<0>,Int<25000>>>,TrFade<200>>>,
- TransitionLoopL<TrConcat<TrInstant,AlphaL<White,Bump<Int<0>,Int<25000>>>,TrFade<200>>>>,TrConcat<TrInstant,Rgb<255,100,100>,TrFade<200>>,TrJoin<TrConcat<TrInstant,AlphaL<Rgb<50,25,0>,Bump<Int<32768>,Int<60000>>>,TrFade<400>>,TrWipeX<Int<400>>,TrWaveX<Rgb<50,0,0>,Int<1800>,Int<40>,Int<400>,Int<5000>>>,SaberBase::LOCKUP_AUTOFIRE>>>(),
- // muzzle
- StylePtr<Layers<
- Black,
- TransitionEffectL<TrConcat<TrDelay<100>,DarkOrange,TrFade<200>,Black,TrFade<300>>,EFFECT_FIRE>,
- TransitionEffectL<TrConcat<TrDelay<100>,Green,TrFade<200>,Blinking<Black,Yellow,100,500>,TrFade<300>>,EFFECT_STUN>,
- LockupTrL<Layers<
- TransitionLoopL<TrConcat<TrInstant,DeepSkyBlue,TrFade<50>,DarkOrange,TrFade<150>>>>,TrInstant,TrConcat<TrInstant,Rgb<50,0,0>,TrFade<400>>,SaberBase::LOCKUP_AUTOFIRE>>>(),
- // Power LED:
- StylePtr<Layers<Layers<Black,BlinkingL<Rgb<30,30,30>,Int<1500>,Int<500>>>,InOutHelperL<InOutFuncX<Int<300>,Int<800>>,Rgb<30,30,30>>>>(),
- "westar-34"},
- // *****************
- { "BadBatch;oled", "tracks/BadBatch.wav",
- // barrel
- StylePtr<Layers<
- Black,
- TransitionEffectL<TrConcat<TrWipe<100>,White,TrWipe<100>,Blue,TrWipe<200>>,EFFECT_FIRE>,
- TransitionEffectL<TrConcat<TrWipe<100>,Magenta,TrWipe<100>,Blinking<Black,Black,100,500>,TrWipe<200>>,EFFECT_STUN>,
- LockupTrL<Layers<
- TransitionLoopL<TrConcat<TrWipe<25>,Blue,TrWipe<50>>>,
- TransitionLoopL<TrConcat<TrInstant,AlphaL<White,Bump<Int<0>,Int<25000>>>,TrFade<150>>>,
- TransitionLoopL<TrConcat<TrInstant,AlphaL<White,Bump<Int<0>,Int<25000>>>,TrFade<150>>>>,TrConcat<TrInstant,Rgb<0,0,50>,TrFade<150>>,TrJoin<TrConcat<TrInstant,AlphaL<Rgb<225,225,225>,Bump<Int<32768>,Int<60000>>>,TrFade<400>>,TrWipeX<Int<400>>,TrWaveX<Rgb<50,0,0>,Int<1800>,Int<40>,Int<400>,Int<5000>>>,SaberBase::LOCKUP_AUTOFIRE>>>(),
- // muzzle
- StylePtr<Layers<
- Black,
- TransitionEffectL<TrConcat<TrDelay<100>,White,TrFade<200>,Blue,TrFade<300>>,EFFECT_FIRE>,
- TransitionEffectL<TrConcat<TrDelay<100>,Magenta,TrFade<200>,Blinking<Black,Black,100,500>,TrFade<300>>,EFFECT_STUN>,
- LockupTrL<Layers<
- TransitionLoopL<TrConcat<TrInstant,White,TrFade<25>,Blue,TrFade<100>>>>,TrInstant,TrConcat<TrInstant,Rgb<0,0,50>,TrFade<400>>,SaberBase::LOCKUP_AUTOFIRE>>>(),
- // Power LED:
- StylePtr<Layers<Layers<Black,BlinkingL<Rgb<30,30,30>,Int<1500>,Int<500>>>,InOutHelperL<InOutFuncX<Int<300>,Int<800>>,Rgb<30,30,30>>>>(),
- "bad\nbatch"},
- // *****************
- { "MouthBlaster;oled", "tracks/medley1.wav",
- // barrel
- StylePtr<Layers<
- Black,
- TransitionEffectL<TrConcat<TrWipe<100>,White,TrWipe<100>,Black,TrWipe<200>>,EFFECT_FIRE>,
- TransitionEffectL<TrConcat<TrWipe<100>,White,TrWipe<100>,Blinking<Black,Black,100,500>,TrWipe<200>>,EFFECT_STUN>,
- LockupTrL<Layers<
- TransitionLoopL<TrConcat<TrWipe<50>,White,TrWipe<150>>>,
- TransitionLoopL<TrConcat<TrInstant,AlphaL<White,Bump<Int<0>,Int<25000>>>,TrFade<200>>>,
- TransitionLoopL<TrConcat<TrInstant,AlphaL<White,Bump<Int<0>,Int<25000>>>,TrFade<200>>>>,TrConcat<TrInstant,Rgb<0,0,0>,TrFade<200>>,TrJoin<TrConcat<TrInstant,AlphaL<Rgb<0,0,0>,Bump<Int<32768>,Int<60000>>>,TrFade<400>>,TrWipeX<Int<400>>,TrWaveX<Rgb<225,225,225>,Int<1800>,Int<40>,Int<400>,Int<5000>>>,SaberBase::LOCKUP_AUTOFIRE>>>(),
- // muzzle
- StylePtr<Layers<
- Black,
- TransitionEffectL<TrConcat<TrDelay<100>,White,TrFade<200>,Black,TrFade<300>>,EFFECT_FIRE>,
- TransitionEffectL<TrConcat<TrDelay<100>,White,TrFade<200>,Blinking<Black,Black,100,500>,TrFade<300>>,EFFECT_STUN>,
- LockupTrL<Layers<
- TransitionLoopL<TrConcat<TrInstant,White,TrFade<50>,White,TrFade<150>>>>,TrInstant,TrConcat<TrInstant,Rgb<225,225,225>,TrFade<400>>,SaberBase::LOCKUP_AUTOFIRE>>>(),
- // Power LED:
- StylePtr<Layers<Layers<Black,BlinkingL<Rgb<30,30,30>,Int<1500>,Int<500>>>,InOutHelperL<InOutFuncX<Int<300>,Int<800>>,Rgb<30,30,30>>>>(),
- "mouth\nblaster"},
- };
- // *********************************************
- // STANDARD 3mm ACCENTS LED
- // 3mm Red
- // Use 100 ohm resistor.
- template<int milliohms = 100000>
- struct RedLED {
- static constexpr float MaxAmps = 0.02;
- static constexpr float MaxVolts = 2.1;
- static constexpr float P2Amps = 0.01;
- static constexpr float P2Volts = 1.8;
- static constexpr float R = milliohms / 1000.0;
- // LED color
- static const int Red = 255;
- static const int Green = 0;
- static const int Blue = 0;
- };
- // *********************************************
- BladeConfig blades[] = {
- { 0, SubBlade(0, 22, WS281XBladePtr<32, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >()), /* barrel */
- SubBlade(23, 31, NULL), /* muzzle */
- // Power LED:
- SimpleBladePtr<RedLED<100000>, NoLED, NoLED, NoLED, bladePowerPin5, -1, -1, -1>(),
- CONFIGARRAY(presets) },
- };
- #endif
- #ifdef CONFIG_BUTTONS
- Button FireButton(BUTTON_FIRE, powerButtonPin, "fire");
- Button ModeButton(BUTTON_MODE_SELECT, auxPin, "modeselect");
- #endif
Advertisement
Add Comment
Please, Sign In to add comment