Blaster mode - Buttons wont trigger fire

I am trying to set up my proffie board for blaster mode for the first time. I had it working on one font earlier tonight, but started modifying other fonts to use the correct blast vs blst, adding stun, etc.

Somehow in the process of modifying, the fire and aux buttons no longer trigger anything. If I use the blast, stun, n etc commands in serial monitor, the correct sounds play and modes switch.

This is my IB94config.h

#ifdef CONFIG_TOP
#include "proffieboard_v2_config.h"
#define NUM_BLADES 1
#define NUM_BUTTONS 2
#define VOLUME 1500
const unsigned int maxLedsPerStrip = 144;
#define CLASH_THRESHOLD_G 7.5
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define ENABLE_SD
#define DELAYED_OFF
#define ENABLE_BLASTER_AUTO
#define MOTION_TIMEOUT 60 * 15 * 1000
#define IDLE_OFF_TIME 60 * 10 * 1000
#endif

#ifdef CONFIG_PROP
#include "../props/blaster.h"
#endif

#ifdef CONFIG_PRESETS
Preset presets[] = {
 { "DC15;common", "common/tracks/Mandalorian.wav",
    StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,Red>,250,EFFECT_FIRE>,AudioFlicker<Black,Blue>,1500,EFFECT_STUN>,AudioFlicker<Black,Red>>>(),"DC15"},
 { "DL44;common", "common/tracks/Han.wav",
    StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,Red>,250,EFFECT_FIRE>,AudioFlicker<Black,Blue>,1500,EFFECT_STUN>,AudioFlicker<Black,Red>>>(),"DL44"},
 { "E11;common", "common/tracks/DeathMarch.wav",
    StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,Green>,250,EFFECT_FIRE>,AudioFlicker<Black,Blue>,1500,EFFECT_STUN>,AudioFlicker<Black,Green>>>(),"E11"},
 { "DH17;common", "common/tracks/Phantom.wav",
    StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,Orange>,250,EFFECT_FIRE>,AudioFlicker<Black,Blue>,1500,EFFECT_STUN>,AudioFlicker<Black,Orange>>>(),"DH17"},
 { "DL18;common", "common/tracks/Epic.wav",
    StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,Yellow>,250,EFFECT_FIRE>,AudioFlicker<Black,Blue>,1500,EFFECT_STUN>,AudioFlicker<Black,Yellow>>>(),"DL18"},
 { "E5;common", "common/tracks/MosEisley.wav",
    StylePtr<Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,Red>,250,EFFECT_FIRE>,AudioFlicker<Black,Blue>,1500,EFFECT_STUN>,AudioFlicker<Black,Red>>>(),"E5"},   
}; 
 
BladeConfig blades[] = {
 { 0, SimpleBladePtr<CreeXPE2RedTemplate<0>, CreeXPE2GreenTemplate<0>, CreeXPE2BlueTemplate<0>, NoLED, bladePowerPin1, bladePowerPin2, bladePowerPin3, -1>(), CONFIGARRAY(presets) },
};
#endif

#ifdef CONFIG_BUTTONS
Button FireButton(BUTTON_FIRE, powerButtonPin, "fire");
Button ModeButton(BUTTON_MODE_SELECT, auxPin, "modeselect");
#endif

The “blast” command is not what you want.
It triggers the saber “blaster block” effect, which plays the “blaster” or “blst” sounds. Pressing the fire button on the other hand will play the “blast” sound. There is currently no command that does the same thing as pressing the fire button.

I don’t think there should be a need to modify blaster fonts, they should just work…

I was modifying these fonts

https://www.reddit.com/r/lightsabers/comments/xd704x/blaster_mode_for_proffie_custom_soundfont_by/

to work with the actual blaster mode.

it initially didn’t work and gave me messages along the lines of couldn’t find blaster.wav and couldn’t find stun because those files didn’t exist.

I then created some stun1.wav, lock1.wav and renamed blst to blaster and was able to get the initial DC15 mode to work.

After that, I tried to do the same edits to the other font banks and the fire and mode buttons no longer work. in serial monitor I get this from an initial boot to a button press for each.

EVENT: Up-Shortclick#1 millis=7720

EVENT: Up-Shortclick millis=7720

EVENT: Up-SavedShortclick#1 millis=8059

EVENT: Up-SavedShortclick millis=8059

EVENT: Down-Pressed#1 millis=9374

EVENT: Down-Pressed millis=9374

EVENT: Down-Released#1 millis=9536

EVENT: Down-Released millis=9536

EVENT: Down-Shortclick#1 millis=9536

EVENT: Down-Shortclick millis=9536

EVENT: Down-SavedShortclick#1 millis=9875

EVENT: Down-SavedShortclick millis=9875

Motion disable.

Battery voltage: 0.20

I2C sleeping…

If you have an example blaster font that just works, I would be happy to see one. My google searching for a blaster mode font was not sucessful and the post I linked was the only thing I found with actual wav files.

didn’t copy serial monitor right

Activating polyphonic font.

Activating SmoothSwing V2

Accent Swings Enabled.

Polyphonic swings: 7

Monophonic swings: 0

Accent Slashes NOT Detected:

unit = 0 vol = 0.50, Playing DC15/boot/boot.wav

channels: 1 rate: 44100 bits: 16

Welcome to ProffieOS v7.12

For available serial commands, see:

https://pod.hubbe.net/tools/serial-monitor-commands.html

Amplifier off.

I2C init..

Motion chip ... 105 found.

Unmounting SD Card.

EVENT: Up-Pressed#1 millis=7558

EVENT: Up-Pressed millis=7558

EVENT: Up-Released#1 millis=7720

EVENT: Up-Released millis=7720

EVENT: Up-Shortclick#1 millis=7720

EVENT: Up-Shortclick millis=7720

EVENT: Up-SavedShortclick#1 millis=8059

EVENT: Up-SavedShortclick millis=8059

EVENT: Down-Pressed#1 millis=9374

EVENT: Down-Pressed millis=9374

EVENT: Down-Released#1 millis=9536

EVENT: Down-Released millis=9536

EVENT: Down-Shortclick#1 millis=9536

EVENT: Down-Shortclick millis=9536

EVENT: Down-SavedShortclick#1 millis=9875

EVENT: Down-SavedShortclick millis=9875

Motion disable.

Battery voltage: 0.20

I2C sleeping..

same behavior occurs with battery plugged in.

Try the effects command to see what sounds have been found.
It looks like maybe the blaster didn’t turn on though.
If the font has a poweron sound, then the code assumes that you have a power button and you need to turn the blaster on before you can fire it.

I think some of the confusion here is that the downloaded package is SABER sound fonts.
They don’t use actual “blaster” sounds as the Proffieboard can use them. It’s just meant to use the naming convention of a saber font and provide the “blaster’s sounds” but it uses “blaster block” events and plays “blst.wav” files.

@ReefZombie you’re conflating the use case and the media you’re using if that makes any sense.

It’s meant for you toi use the saber as a “blaster emulator” if you will.

I got it working by changing the wav file labels to match the blastercore fonts. The issue was the ini file and the presence of poweron wav files in that saber blaster mode.

Now I have a new problem. when the proffie is connected to both the usb for debugging and the battery everything works great, but as soon as I unplug the USB, the the sounds and led cut out early and then the board freezes up. as soon as I plug the usb in it goes back to normal behavior.

Battery voltage is 3.93V and the same behavior happens even if I connect the charger straight to the board at 4.2V

First of all; check your connections, measure the voltage at the board with a multimeter.

If the connections are good, then it sounds like you have the infamous “bad D61” problem.

voltage between batt and gnd is 4.0V

When I remove the speaker, the lights act normal. Speaker measures 3.8ohm

If I leave the speaker in but unplug the LED, the speaker sounds normal.

I have tried adjusting the volume in the config and that improved the performance but still cuts out

If you unplug USB, plug in the battery, then short D61, does it work?
(You can can short d61 first if that is easier.)
Make sure not to plugin USB an battery at the same time while D61 is shorted.

Not sure how to short that. its so tiny dont think I could get a wire touching both sides. can the shorting be done anywhere on the header pins?

Well, one side of D61 connects to batt+
The other side doesn’t have a pad or anything though.
If you have a multimeter, you can connect the probes to the 10A inputs, then use the probes to create the short.

1 Like

I was able to short it by connecting a wire to the battery rail on my breadboard to the bus where the 3 diodes connect. It didn’t seem to make an appreciable difference whether it was shorted or not.

Actually, I may have just solved the problem. I reconnected the negative battery terminal to the lower BATT- 1 instead of the upper 2 and it seems to have improved a lot. possibly a bad solder joint on the header pin or not enough clamping force from the square jumper.