/* blaster_BC.h prop file. http://fredrik.hubbe.net/lightsaber/proffieos.html Copyright (c) 2016-2019 Fredrik Hubinette Copyright (c) 2021 Brian Conner with contributions by: Fredrik Hubinette, Fernando da Rosa, and Matthew McGeary. Distributed under the terms of the GNU General Public License v3. http://www.gnu.org/licenses/ Includes: With blaster power on OR off: - Volume Menu with cycle-thru. - Spoken battery level in volts or percentage. - On-Demand battery level. - Quote player. - Next / previous preset Self-Destuct overload. Defaults to KILL on boot. Separate clipin/clipout/reload sounds to match stun mode. -(requires clipins, clipouts, and reloads.wavs in font) No jam if empty. Autofire mode counts bullets and causes empty if #define BLASTER_SHOTS_UNTIL_EMPTY is specified. Requires minimum 2 buttons for operation *note - config can use NUM_BUTTONS 1 for saber mode when using dual_prop. - the baster mode will still use 2 buttons as FIRE and MODE. ** This version is designed to work well together with saber_BC_buttons.h when using dual_prop.h: a toggle between 2 prop files triggered by blade detect. Blade insertion and removal switches between the 2 props, (ie: Ezra blaster and saber.) Your config file should leave SABER buttons in the CONFIG_BUTTONS section, like: Button PowerButton(BUTTON_POWER, powerButtonPin, "pow"); Button AuxButton(BUTTON_AUX, auxPin, "aux"); For a stand-alone blaster setup, your config file should use BLASTER buttons in the CONFIG_BUTTONS section, like: Button FireButton(BUTTON_FIRE, powerButtonPin, "fire"); Button ModeButton(BUTTON_MODE_SELECT, auxPin, "modeselect"); Optional defines: #define ENABLE_BLASTER_AUTO - Enable Autofire/rapid fire mode. #define BLASTER_SHOTS_UNTIL_EMPTY 15 - whatever number, not defined = unlimited shots. #define BLASTER_JAM_PERCENTAGE - if this is not defined, random from 0-100%. #define VOLUME_MENU_CYCLE - This allows the Volume menu to loop through from maximum back to minimum and vice versa. #define OLED_SYNCED_EFFECTS - Auto sync OLED display time for effects. Optional Blade style elements: EFFECT_DESTRUCT - use in blade style to animate self destruct. EFFECT_BATTERY LEVEL - requires EFFECT_BATTERY_LEVEL to be in blade style, and uses battery.wav sound effect. ========================================== | 2 Buttons: FIRE and MODE (POW and AUX) | ========================================== Power On / Off - Hold MODE and Double click FIRE (Default is auto-power ON) Cycle Modes - Double click MODE. Cycles through KILL, AUTOFIRE, and STUN modes. Next Preset - Long click and release MODE. Previous Preset - Double click and hold MODE, release after a second. Start/Stop Track - 4x click MODE. Volume Menu: Enter/Exit - 4x click and hold MODE. Volume UP - Long click and release MODE while in Volume Menu. (just like next preset) Volume DOWN - Double click and hold MODE, release after a second while in Volume Menu. (click then long click, just like next preset) Spoken Battery Level - Includes automatic On-Demand Batt Level // TODO: OLED to display PLI in volts - Triple click MODE. in percentage - Triple click and hold MODE. On-Demand Batt Level - Double click and hold MODE until battery level shows and sound plays. Requires EFFECT_BATTERY_LEVEL to be in blade style in order to see it, and uses battery.wav sound effect, otherwise, special beep :) Self-Destruct - Press and hold MODE and FIRE until overload starts....then run! Self-Destructed blaster needs to be powered on manually to use again. Quote Player - Hold MODE and click FIRE. (requires quote.wavs in font) Reload - Click MODE. Fire - Click FIRE. (Hold to Auto / Rapid Fire when AUTO mode selected) Clip In - Clip Detect pad Latched On. Clip out - Clip Detect pad Latched Off. Unjam - Bang the blaster or Reload. - If there's a dedicated POWER button, Power On / Off - Click POW. - TODO: this with dual_prop is....weird - If there's a dedicated Relod button, Reload - Click RELOAD. -TODO: PLI_ON / OFF, CLIP IN etc.... Wavs to use for talking Mode (else Talkie voice): - If these are not present, mode.wav will be used for all modes. - If no mode.wav either, then Talkie voice speaks selected mode. mdstun.wav mdkill.wav mdauto.wav Additionally: quote.wav // for playing quotes in.wav // for blaster power off out.wav // for blaster power on destruct.wav // for self destruct overload boom.wav // for self destruct explosion clipins.wv clipouts.wav reloads.wav // these last 3 are used to match the more "plasmatic" stun sound. These are likely best kept in a 'common' folder in your Font Search Path: battery.wav // for EFFECT_BATTERY_LEVEL vmbegin.wav // for Begin Volume Menu vmend.wav // for End Volume Menu volup.wav // for increse volume voldown.wav // for decrease volume volmin.wav // for minimum volume reached volmax.wav // for maximum volume reached */