Add device-side FIFO telemetry for DdD captures - #5
Open
JunliangRen wants to merge 1 commit into
Open
Conversation
Owner
Contributor
Author
Okay....Let me think how to adjust this to be better🤔 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.




Summary
This adds optional FPGA FIFO telemetry for supported DdD protocol-v1 firmware and presents it as an
HW Bufferindicator during capture.The DdD backend polls the telemetry asynchronously and reports current and peak FIFO occupancy, back-pressure, overflow events, and lost words. Legacy DdD firmware and all other device backends remain unchanged.
Why add device telemetry?
The existing status bar mainly reports what MISRC-GUI can observe after samples have reached the host, such as RF and audio ring-buffer occupancy. Drop, error, and sequence counters can show that a capture fell behind or that the received stream became discontinuous, but they cannot show where the problem first appeared.
For example, the existing counters alone cannot distinguish between:
The optional firmware telemetry adds the missing device-side view. Comparing
HW Bufferwith the existingRF BufferandAudio Buffervalues helps narrow the affected stage:This does not identify one exact cable, USB, scheduling, processing, or storage cause by itself, but it helps distinguish device-side pressure from host-side pressure and makes capture problems easier to diagnose.
Support for future devices
The status-bar UI consumes a small device-neutral view consisting of visibility, meter percentage, severity, and a short caption. DdD-specific telemetry parsing, FIFO geometry, counters, and thresholds remain inside the DdD implementation.
Other device backends do not opt in today, so their UI and behaviour are unchanged. In the future, hardware that can expose meaningful device-side telemetry can translate its own native measurements into the same status view without duplicating the status-bar UI or introducing DdD-specific assumptions into unrelated devices.
Not every device is expected to provide identical counters. This is an extension point that allows support to be added incrementally according to the telemetry each device can actually expose.
Screenshot
DdD protocol-v1 capture in a healthy state. The green
HW Buffermeter shows the device-side FPGA FIFO status alongside the existing host-sideRF BufferandAudio Buffercounters.Only the normal hardware state is shown here; no overflow or data loss was intentionally induced for the screenshot. Warning and error presentation paths are covered by unit tests.
Validation