Hello all.
I am back. Get to the work.
First of all, RLE code has been published. Well, it has some issues.
RLE is currently only for 1.st channel, which is
8-bit only, well actually 7 bit due RLE bit. But looks working really good.
Currently, code only captures 96 kbytes of RLE buffer, half of it used for value and other half is timing...
With some effort like using second RLE buffer, it's easy to double it since we don't need 120Kb RAW capture buffer anymore.
But code is little became slow when there are to much change at signal, like inspecting > 10 Mhz continuous clock signal. In this scenario code need to write too much values and branching slow down the code. Might using 2 cores for RLE encode solve this issue. Or just need little optimization...
I also write 16bit version, which doesn't included in the code but not actually enabled... I need to test it before.
Also there are weird
BUG in DMA ISR routine which is the main reason that RLE encoder is delayed.
Somehow, If code don't writes anything to serial port, than DMA ring buffer is broken, stop at last desc instead of looping back to first one. If I disable this useless code
here than DMA ring doesn't work. But writing to serial port, DMA restarts from first desc as it need to be. Why? I don't know. Might be you have an idea @ESP_igrr
And I got WROVER module, thank you for that. I found that, external RAM access is to slow and doesn't support no DMA. I don't think if it's logical try to save raw samples on it, at least for 20Mhz. But might be possible using RLE due lowered bandwidth requirements. But this has to wait proper, more polished RLE code first.
Ah code is little dirty. Many debug lines etc. Will clear most of them.
Thanks!