[rio] telemetry FIX: printing from the serial poll path deadlocks against the PCSPAK RX thread (0-CPU park ~10s after every live-RIO boot, A/B-convicted on ALPHA-MR) -- GetNextEvent now only COUNTS; the printer (BTRioHealthReport) rides the glass tick beside [glassperf]

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Joe DiPrima
2026-08-10 13:06:06 -05:00
co-authored by Claude Fable 5
parent 7cd58d3000
commit ab1b3439f4
2 changed files with 120 additions and 61 deletions
+7
View File
@@ -2121,12 +2121,19 @@ static unsigned long
return token;
}
// [rio] health printer (L4RIO.cpp): the serial path may only COUNT --
// printing from it deadlocks against the PCSPAK RX thread -- so the report
// rides this tick, which already streams [glassperf] safely every second.
extern "C" void BTRioHealthReport();
void
BTGlassPanels_Tick()
{
if (gWinCount == 0)
return;
BTRioHealthReport();
static unsigned long sLastPaint = 0;
unsigned long now = GetTickCount();
if (now - sLastPaint < (unsigned long)RepaintMilliseconds)