Replies: 1 comment
-
I think you've got a very specific need that probably wouldn't warrant changing the default behavior. However, there's no reason you couldn't package this as an Arduino library and make it available. The UARTs are not touched until |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
We are currently facing the following issue: Whenever a flash page is erased on the RP2040, all CPU activities including interrupts need to be paused. This leads to data loss when using the UART, as the hardware buffer is only 32 bytes in size and the CPU cannot retrieve it. This applies even to your software FIFO.
To solve this problem, DMA is an option. I have started building a Proof of Concept (PoC) for our OpenKNX projects, which writes the data into a Ring Buffer in RAM without involving the CPU.
I could use this solution solely for our purposes, or implement it as a replacement for your FIFO on the Serial UART. The question is, is there any interest in doing so?
However, there are deviations from the current behavior. Due to its nature, I cannot detect "overflow" or "break". The DMA simply writes the incoming bytes into RAM and that's it.
Here a example:
Beta Was this translation helpful? Give feedback.
All reactions