Add tinySA spectrum backend - #8
Draft
AlCalzone wants to merge 16 commits into
Draft
Conversation
This was referenced Sep 7, 2026
AlCalzone
force-pushed
the
alcalzone-tinysa-spectrum-backend
branch
3 times, most recently
from
September 7, 2026 21:00
61e5d91 to
77ce5cf
Compare
Use N intervals across an N-bin IQ FFT span. Share bin windows and frequency conversion across spectrum rendering, waterfall columns, and peak-jump tuning. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Use containing FFT intervals for cursor and marker lookup. Extend the final rendered interval and derive waterfall columns from each drawn row. Use captured-frame coordinates for lab peaks and recall. Address the approved geometry review of musithang#12. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep existing IQ profiles at -120 to 0 dBFS with a 500 ms trace-age limit. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Address musithang#13 review with shared range-safe zoom, explicit display validation, capability-based initialization, and budget-aware FFT pacing. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Extract backend-neutral control and math helpers for the tinySA prerequisites. Preserve finite IQ averaging, peak decay, noise-floor calculation, and RX session behavior. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Address musithang#14 review with documented availability and parameter contracts, buffer preconditions, and boundary regressions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Adapt display tests to the geometry window API while keeping each preparation layer independently testable. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Add backend-neutral calibrated trace acquisition, measured-point publication, power RX control, and capability-aware layout fallback. Preserve IQ behavior through the shared prerequisite contracts. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Add hardware-tested tinySA discovery and calibrated spectrum acquisition on the generic power-trace path. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Publish a uniform grid for float-rounded firmware points and preserve the effective center after edge-clamped scans. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Accept the firmware's bounded float grid variation using measured endpoints. Clamp duplicate-producing spans and retain edge-shifted centers for later tuning changes. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Wait for the counted scan frame to close after the firmware acknowledges abort. Stop the worker if the serial stream cannot be synchronized. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Enable the Ultra input with its automatic threshold and submit each range as one scan. This keeps path selection and calibration in the verified firmware. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep Basic devices on one explicit LOW or HIGH connector and expose the choice through device selection. Normalize firmware frequency positions onto an endpoint-preserving display grid owned by the backend. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Treat the selector input as an explicit override so a bare serial path does not replace a persisted HIGH choice. Report invalid selectors and align the Basic model limit with the supported firmware. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
AlCalzone
force-pushed
the
alcalzone-tinysa-spectrum-backend
branch
from
September 8, 2026 09:20
77ce5cf to
31ad3b2
Compare
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.
Depends on #7 and its three prerequisites. This stack adds tinySA support through calibrated power traces. This branch will be rebased onto
mainafter #7 lands.The foundation had no concrete analyzer discovery or serial protocol implementation. It could not communicate with a tinySA.
This PR adds model-aware discovery and a sole-owner serial worker. The worker publishes validated dBm traces for spectrum and waterfall views on existing firmware. #9 extends the backend to native wide sweeps.