Hello,
I’ve been having several issues with multiple proffie boards in this particular hilt (KR RVN).
Video of Issue occurring: http://jkjunkie.com/misc/proffie_crash.MOV
Symptoms:
When physically clashing with the blade in, the sound will either cut out completely, the idle hum will cut out, or it crashes/freezes with the long beep as shown in the video. When the sound cuts out completely, if I turn it off and immediately back on, the sound is still muted. If I try changing fonts, there is still no sound. If I turn the saber off for a short period and turn it back on, the sound returns. If it crashes, the only way to reset it is by toggling the kill switch.
Specs:
Proffieboard v2.2
TCS WOW 4w 28 mm speaker
Sony Li-Ion 18650 3.7V PCB protected 15A battery
ProfileOS v5.9
24 AWG wire used from TCSS
SanDisk Ultra 16GB C10 A1 HC microSD card at factory defaults from KR Sabers
What I’ve tried:
Two different KR proffieboards with the same results.
Checked wiring of Proffie.
Checked wiring of hilt side PCB
Checked wiring of battery holder
Resoldered battery holder
Firmware version 4.6, 5.7, and 5.9
Arduino version 1.8.13 and 1.8.3
Default Proffie configuration
Different hilt side neopixel PCB
2 Different blades that also works in other hilts
A few different SD cards, some from other working hilts.
Compiling and uploading ProffieOS v4.6, v5.7, and v5.9 on both macOS and Windows (Using Zadig on Windows)
Other things to note:
The config is the default generated from the Proffieboard website setup for 144 pixels as well as for two buttons.
The blade in the video works in other hilts, just not this one
The battery used in the hilt in this video works fine in other hilts that do not have the shown issue.
When clashing without a blade in, everything seems to be working fine.
I put a piece of electrical tape over the blade side PCB just to see if having the blade LEDs off would make a difference. The issue(s) still occurred.
Using the serial monitor works without issues as well. I can’t replicate the issue on the serial monitor because it seems to only occur when I’m clashing with a blade in. If I trigger clashes over and over with the blade out by just hitting the hilt, the issue does not seem to occur.
Here is the test config I’ve been troubleshooting with:
#ifdef CONFIG_TOP
#include “proffieboard_v2_config.h”
#define NUM_BLADES 1
#define NUM_BUTTONS 2
#define VOLUME 1000
const unsigned int maxLedsPerStrip = 144;
#define CLASH_THRESHOLD_G 1.0
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define ENABLE_SD
#endif
#ifdef CONFIG_PRESETS
Preset presets[] = {
{ “TeensySF”, “tracks/venus.wav”,
StyleNormalPtr<CYAN, WHITE, 300, 800>(), “cyan”},
{ “SmthJedi”, “tracks/mars.wav”,
StylePtr<InOutSparkTip<EASYBLADE(BLUE, WHITE), 300, 800> >(), “blue”},
{ “SmthGrey”, “tracks/mercury.wav”,
StyleFirePtr<RED, YELLOW>(), “fire”},
{ “SmthFuzz”, “tracks/uranus.wav”,
StyleNormalPtr<RED, WHITE, 300, 800>(), “red”},
{ “RgueCmdr”, “tracks/venus.wav”,
StyleFirePtr<BLUE, CYAN>(), “blue fire”},
{ “TthCrstl”, “tracks/mars.wav”,
StylePtr<InOutHelper<EASYBLADE(OnSpark, WHITE), 300, 800> >(), “green”},
{ “TeensySF”, “tracks/mercury.wav”,
StyleNormalPtr<WHITE, RED, 300, 800, RED>(), “white”},
{ “SmthJedi”, “tracks/uranus.wav”,
StyleNormalPtr<AudioFlicker<YELLOW, WHITE>, BLUE, 300, 800>(), “yellow”},
{ “SmthGrey”, “tracks/venus.wav”,
StylePtr<InOutSparkTip<EASYBLADE(MAGENTA, WHITE), 300, 800> >(), “magenta”},
{ “SmthFuzz”, “tracks/mars.wav”,
StyleNormalPtr<Gradient<RED, BLUE>, Gradient<CYAN, YELLOW>, 300, 800>(), “gradient”},
{ “RgueCmdr”, “tracks/mercury.wav”,
StyleRainbowPtr<300, 800>(), “rainbow”},
{ “TthCrstl”, “tracks/uranus.wav”,
StyleStrobePtr<WHITE, Rainbow, 15, 300, 800>(), “strobe”},
{ “TeensySF”, “tracks/venus.wav”,
&style_pov, “POV”},
{ “SmthJedi”, “tracks/mars.wav”,
&style_charging, “Battery\nLevel”}
};
BladeConfig blades[] = {
{ 0, WS281XBladePtr<144, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(), CONFIGARRAY(presets) },
};
#endif
#ifdef CONFIG_BUTTONS
Button PowerButton(BUTTON_POWER, powerButtonPin, “pow”);
Button AuxButton(BUTTON_AUX, auxPin, “aux”);
#endif