RioSerialMonitor: --e0test mode — on-hardware E0-threshold verification
Two-phase test against a DTR-reset board: phase A forces sub-threshold retransmits (NAK the completed reply frame -> exactly one counted retransmit, then ACK the retry), where the display must hold F0000000; phase B withholds ACKs for a full give-up cycle to cross the threshold, with the expected E0 readout predicted from observed traffic. Bench findings while building it (9600, e0t5 chip): the reply-retry machine sends 5 retransmits per cycle (not 4); responses are honored only after the complete reply frame (mid-frame ACK/NAK/RESTART is ignored); once the first retry fires the cycle runs blind to give-up; a host NAK triggers an immediate counted retransmit. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -15,6 +15,11 @@ using RioJoy.Core.Serial;
|
||||
// --baud: 31250 for the retuned firmware variant (rio-firmware --baud31250).
|
||||
// Exit: 0 = ran, 2 = could not open the port (mash: 1 = wedge detected).
|
||||
|
||||
// E0-threshold firmware verification (rio-firmware --e0thresh images, see E0Test.cs):
|
||||
// dotnet run --project tools/RioSerialMonitor -- --e0test [port] [--baud rate] [--events n]
|
||||
if (args.Contains("--e0test"))
|
||||
return await RioSerialMonitor.E0Test.RunAsync(args);
|
||||
|
||||
if (args.Contains("--mash"))
|
||||
return await RioSerialMonitor.MashTest.RunAsync(args);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user