gpstar81 / GPStar-proton-pack

GPStar Proton Pack and Neutrona Wand
https://www.gpstartechnologies.com
GNU General Public License v3.0
37 stars 8 forks source link

[Bug]: Overheat beeping erratic pace #349

Closed Toy203 closed 1 month ago

Toy203 commented 1 month ago

What actions were attempted?

The overheat alarm "beep" is not played steady like a proper alarm but the pauses between the beeps vary quite a bit during overheat venting. Clearly audible here on lvl 5 overheat venting, https://youtube.com/shorts/GnCNdW990DQ?feature=share

What actually happened?

0:07

What was expected?

https://youtube.com/shorts/GnCNdW990DQ?feature=share

Firmware Version

5.3.1

Mode in Use

Super Hero / Video Game

Notable Hardware

Nope

Homework Completed

nomakewan commented 1 month ago

That actually isn't the overheat alarm beep (well, not explicitly). That is the bargraph beep.

If you turn Bargraph Overheat Blinking off (EEPROM Configuration Menu Level 3 Option 4 Barrel Wing Button), you'll find it doesn't play.

Still, this is also the "boot errors" sound (it's actually the sound for any time the bargraph is blinking in an error state), so I'll take a poke at it to see if there's anything that can be done to make it a little less jarring when it loops.

nomakewan commented 1 month ago

Okay, so, as I thought these sounds are actually sent on a timer via serial. If there is a disruption in the serial data that can cause issues. But more importantly, these beeps are incredibly short (about a quarter of a second) and the timer that is banging on the serial data line saying to play them fires every 400 milliseconds.

So this could actually be the audio board running out of channels by not freeing the channels fast enough on these short audio tracks. I will alter the beep sounds so that they have incredibly low priority so that the audio board will happily use one of the beep channels if it needs to play a new sound. With luck that'll resolve the problem you are experiencing here.

The change is in commit a63909a.