Open ssimek opened 1 month ago
Note: We are aware of the breakage on the lint pass from GitHub's deployment of Ubuntu 24.04 LTS, we will get this fixed in the mean time.
Edit: This has now been fixed, when you rebase this PR on main
next, that fix will automatically get pulled in and used.
Fast DMA-based SWO Manchester decoding
Detailed description
The current interrupt-based SWO decoding suffers (IMO) from several issues
This PR contains a full reimplementation of the SWO Manchester decoder using DMA that makes capture a lot more efficient:
The result is the ability to process SWO signal up to ~3 MHz with the probe being more resilient against higher frequency signals (it just fails to decode it properly). Continuous streaming at these speeds obviously makes USB a bottleneck (1.5 Mbit = ~180 kB/s, with the USB controller seemingly being able to handle up to about 70 kB/s without double buffering). But for reasonably intermittent flows, one big benefit is the lightened load on the target.
Your checklist for this pull request
Closing issues
None that I'm aware of