A few proffie issues

So I just fired up one of my proffie sabers after a long time. A Sabertrio Aeryn.

Issue 1: reactivation right after deactivation. Not sure why, clash threshold issue maybe?

Issue 2: CANNOT access ANY menu options with Fett263’s prop file. When I try to hold PWR button, the saber just activates muted. Is this just a button issue?

Issue 3: CLICKING CLICKING CLICKING. Reformatted SD card already, copy pasted original font files, no clue what to do, lol. I’ve had this issue so many times I’m sick of it. Has there been a fix? No, there are no bmp files or really any extra files in each sound font folder besides the .ini files. Does it help to remove extra sound fonts that aren’t being used in the SD card?

  1. Is this an unmodified Sabertrio saber? If so, maybe you should talk to them about it?
  2. Did this use to work? What does your config file look like? Are you using the sabertrio config and prop files?
  3. Do you see underflows in the serial monitor? Removing unused fonts may help, but only if you do a defrag too. Alternatively, you can try copy all fonts from the sd card, format, then put only the files you need back. Also, have you tried a different SD card?
  1. This is a custom install. I’ve had this issue on two separate sabers actually.
  2. Used to work for a bit, yeah. Then I let it sit and now it has this issue. It’s happened before. I think I fixed it by reverting back to OS5, but I’d rather not do that since I was trying to upgrade the OS.
    aeryn_diy_proffiev3_config.h (637.7 KB)
    Fett263 prop file.
  3. Haven’t checked serial monitor, does that require I plug in the board while battery is in and try to turn it on? What’s a defrag? Already removed unused fonts just now and issue still persists. Will try a new SD

I don’t see any ;common in your config file. Does that mean you don’t have a voice pack installed on your SD card? Most menus in the fett263 prop requires the voice pack files.

Basically yes. You can do it without the battery, but the sound is generally bad when you do that, so it might be hard to hear the clicks.

Defrag is an old-fashioned windows tool that moves blocks around on a disk to make files sequential. I think it also cleans up unused directory entries, which is the function that would actually help in this case.

Just removing the fonts doesn’t really do anything, because holes in the directory listings will persist and potentially slow things down a bit. Formatting the card and only putting the files you need back might help.

The other thing you really should try is the “sdtest” command. Note that you would need to remove #define DISABLE_DIAGNOSTIC_COMMANDS from your config file and reprogram first.

yeah I just added them. I can use edit mode on the one preset that does have it lol.

If there are underflows in the serial monitor, what could I do to fix the clicking? Just tried a different SD card btw, issue is still there but… less I think? Not entirely sure.

I’ll try anything that would require uploading tomorrow, lol. For now I’ll reformat the card and put back the files I need.

Well, “clicking” isn’t a very precise description of what is happening, so there is a multitude of possible reasons for it, however, one of the most common is that the SD card is simply too slow. SD cards are made for high average speed, but what ProffieOS actually needs is reasonable speed for every block. As SD cards age, more read errors occur, these read errors can almost always be corrected, so no data is lost, but the error correction can end up taking extra time when reading.

When this happens too much, or the delay is too large, underflow occurs, and when those are detected, they are printed out in the serial monitor. One thing that can contribute to overflows is that every time ProffieOS has to open a new file, it has to read several blocks to find it. The more blocks it has to read, the bigger the chance of an underflow.

An SD card block has 512 bytes in it. A FAT32 directory entry requires 32 bytes. That means that you can only fit 16 directory entries in a single block. FAT32 directories are basically just files that contain directory entries, so searching a directory for a file means opening the file and reading until you find it. So, if you’re looking for a file called “font1/clash/clash00.wav”, then you first have to open up the root directory, read until you find the “font1” entry, then open up that directory, read until you find “clash” and then open up that entry and read until you find “clash00.wav”, and then you have to open up that entry to actually read data, so at least 4 reads.

If “font1” is the 17th entry in the root directory, then it’s 5 reads. If “clash” is the 17th entry in the “font1” directory, then that also adds a read.

One thing that makes all of this worse is long filenames. FAT32 only has room for 11 (8+3) characters per directory entry, and when you use filenames that doesn’t fit, it some special magic that uses multiple directory entries to store the name.

When you delete a file or directory on a FAT32 filesystem, directory files are not shrunk, instead the directory entry that had that file/folder is marked as deleted and it’s re-used next time you create a new file or directory. So if “font1” is the 17th entry in the root directory, it will still be the 17th entry even if you delete all the other files and folders in the root directory.

When there are no “free” directory entries (created by deleting something) then new directory entries are added at the end. This generally means that if you add the fonts to the SD card first, you can add as many files as you want after that, and it won’t affect the performance at all. Another way to minimize performance impact is to create a single directory in the root, and then stick anything that ProffieOS doesn’t need in that directory. Regardless of how much stuff you put in that directory, it will still only be one directory entry.

2 Likes

Yeah I was going to upload an audio demo today. It’s fixed now, mostly, by reformatting and adding back only the fonts I needed. I’ll try to lessen the random fonts that aren’t used in my SD card lol. Thanks so much for the help, Fredrik! This support is why I use Proffie, lol.