Thomas Höhenleitner
Thomas Höhenleitner
There is no protection against overflow. If you produce in the average more data than transmittable or have a data burst, which exceeds the provided buffer size, you will end...
The ring buffer overflow does not mean, that other memory regions are destroyed. Inside the ring buffer older messages not transmitted yet, are overwritten. This could lead to incomplete messages...
Please have a look at issue #294. Could that be the reason? What is the buffer size and what does the max depth value say? How many date bytes you...
I like that you do such harsh tests. Maybe the trice tool `-s` CLI switch can help a bit. There is also a `-debug` switch for the trice tool.
Just to explain this for now: ```c TriceBufferWritePosition = (TriceBufferWritePosition + (TRICE_BUFFER_SIZE>>2))
Unfortunately I have no time right now for looking deeper and tomorrow I am mostly offline. The problem you found could be a part of the TCOBS code. So one...
Could it be, that you mixed `TRICE_DEFERRED_BUFFER_SIZE` with `TRICE_BUFFER_SIZE` in your investigations? I would do it like this: Change ```C uint32_t TriceRingBuffer[TRICE_DEFERRED_BUFFER_SIZE>>2] ; ``` into ```C uint32_t TriceRingBuffer[(TRICE_DEFERRED_BUFFER_SIZE>>2)+4] ; ```...
You wrote: "Please note that (TRICE_DEFERRED_BUFFER_SIZE>>2) is 1 position out of the buffer size (0 indexes array)". I cannot clearly understand what you mean. Please explain it a bit more.
This looks good. Maybe you define the dummy value as a global variable, initialize it with 0 and set it inside the check to 1 in case of an overwritten...
Hopefully I will find time to look a bit deeper into this within the next 2 days. Just to be curious: There is a note in https://github.com/rokath/trice/blob/master/docs/TriceOverRTT.md#10-possible-issues. When performing excessive...