Windowed module protocol: every op admitted inside a 3.4s window after the firmware's observed temp poll (cadence 3.5-4.2s measured, stuck-at-last-fetch stale mechanism proven and avoided), acquire/window with panic on dead heartbeat; noise column shows green on/off cycle phase, cable-missing state unchanged

This commit is contained in:
flamingcow
2026-08-13 14:04:16 -07:00
parent d81594ffbf
commit a9f10d3055
8 changed files with 104 additions and 48 deletions
+4 -4
View File
@@ -354,7 +354,7 @@ func (d *direction) displayView() view {
// The same figures the panel draws, in the same order: the last second as
// rates and error flags with the noise cable riding at the end of them, then
// everything since the reset.
func totalRow(elapsed time.Duration, v view, target float64, phy phyDisplay, noiseMissing uint64) []string {
func totalRow(elapsed time.Duration, v view, target float64, phy phyDisplay, nv noiseView) []string {
return []string{
rateCell(v.rxGbps*1e9, target*1e9),
scaleSI(v.rxPPS),
@@ -364,7 +364,7 @@ func totalRow(elapsed time.Duration, v view, target float64, phy phyDisplay, noi
flagCell(v.window.link),
flagCell(v.window.internal),
correctedFlag(phy.recent),
flagCell(noiseMissing),
noiseCell(nv),
scaleTime(elapsed),
scaleCount(v.rxFrames),
scaleCount(v.rxBytes),
@@ -784,7 +784,7 @@ func run(aName, bName string) (err error) {
}
v, phy := measureView(diag, modules, totalView(views))
if err := disp.render(v, now.Sub(start), phy,
noise.missing()); err != nil {
noise.view()); err != nil {
return err
}
case now := <-tick.C:
@@ -794,7 +794,7 @@ func run(aName, bName string) (err error) {
}
v, phy := measureView(diag, modules, totalView(rows))
for _, line := range stats.emit(totalRow(elapsed, v, target, phy,
noise.missing())) {
noise.view())) {
fmt.Println(line)
}
}