Board Freezes when Using common Folder

I just switched to ProffieOS-Master today and I’m running into an issue where whenever I try to use any of the menus that use the common folder the board just freezes and nothing works until I power cycle.

I will say that my sd did get corrupted but I deleted and redownloaded everything so I’m not sure if that’s the issue or not.

It is a 1 button saber using @Fett263 's prop file from the github master.

Serial Monitor output:

For available serial commands, see:
https://pod.hubbe.net/tools/serial-monitor-commands.html
Unmounting SD Card.
Amplifier off.
EVENT: Clash millis=8765
EVENT: Power-Pressed#1 millis=8776
EVENT: Power-Pressed millis=8776
EVENT: Power-Held#1 millis=9077
EVENT: Power-Held millis=9077
EVENT: Power-Released#1 millis=9449
EVENT: Power-Released millis=9449
EVENT: Power-Longclick#1 millis=9449
Style RAM = 2564
Scanning sound font: Fall
 done
Scanning sound font: common
 done
Activating polyphonic font.
Activating SmoothSwing V2
Accent Swings Enabled.
Polyphonic swings: 16
Monophonic swings: 0
Accent Slashes NOT Detected: 
Voice pack version 1 found.
Current Preset: Preset: 2
unit = 0 vol = 0.50, Playing Fall/font.wav
channels: 2 rate: 44100 bits: 16
EVENT: Clash millis=9862
Unmounting SD Card.
Amplifier off.
EVENT: Power-Pressed#1 millis=15295
EVENT: Power-Pressed millis=15295
EVENT: Power-Held#1 millis=15596
EVENT: Power-Held millis=15596
EVENT: Clash mods Power millis=15762

The board froze after that last event log and then the board stopped being recognized.

Well I’m stumped, I’ve ruled out sd, config, and battery so I think something went wrong with my board.

@profezzorn have you heard of a board freezing after trying to enter menus?

Did you upload through the proffieboard USB?
Did you “eject safely” ?
Did you wait for “eject safely” to actually complete? (Because that can take a long time if you’re uploading through the proffieboard.)

Also, when you first save something from the menu, ProffieOS has to create new save files, and that can take a little time. (Maybe 10 seconds at worst.) Is it possible that ProffieOS didn’t crash, you just didn’t wait long enough?

Did you run ‘sdtest’ on the SD card? You want SD card preformance to be 1200kbps read speed with 12 simulatenous audio streams. Subpar or poor performing SD cards will cause the saber to lag or freeze.

  • First, remove DISABLE_DIAGNOSTIC_COMMANDS define from your config.
  • Upload new config (you may temporatily need to remove some presets if exceeding FLASH memory)
  • With saber connected go to Arduino > Tools > Serial Monitor
  • Type ‘sdtest’
  • If you do not have 1200kbps read speed and 12 simulatenous audio streams you will want to replace your SD with a better performing card.

I should clarify, the “menus” that were causing the issue were volume menu, battery level, gesture controls, and select preset.

Not any edit mode menus unless these controls are routed differently since 7.15.

Just ran sdtest and I have 1850.34 kb/s, and 20.98 simultaneous audio streams.

Maybe revert to OS7.15 with the same config, let’s determine if it’s something with the SD or the OS. Since github master is still in beta it’s entirely possible there’s something new causing. If things work fine in OS7.15 but crash in the OS8 beta then it could be something in the new OS that hasn’t been caught yet. If it happens in OS7.15 as well, then it may be something with the SD.

Also, might be helpful to post your config to what is enabled/disabled and how things are set up.

#ifdef CONFIG_TOP
#include "proffieboard_v3_config.h"
#define NUM_BLADES 1
#define NUM_BUTTONS 1
#define VOLUME 1800
const unsigned int maxLedsPerStrip = 144;
#define CLASH_THRESHOLD_G 1.0
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define ENABLE_SD
//#define DISABLE_DIAGNOSTIC_COMMANDS
#define DISABLE_BASIC_PARSER_STYLES                                         
#define FETT263_SAY_BATTERY_PERCENT
#define FETT263_TWIST_OFF
#define FETT263_TWIST_ON_PREON
#define FETT263_SWING_ON
#define FETT263_BATTLE_MODE_START_ON
#define FETT263_THRUST_ON_PREON
#define FETT263_SWING_ON_SPEED 300
#define FETT263_DISABLE_COPY_PRESET
#define FETT263_DISABLE_CHANGE_FONT
#define FETT263_DISABLE_CHANGE_STYLE
#define FETT263_SPECIAL_ABILITIES
#endif                          

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

That did it!

Not sure what it was running into that would cause it to freeze but it’s working now!

It could be a bug in OS8 that hasn’t been discovered yet. We’ll obviously need more beta testing to find and resolve.