According to the snippet in the "AN75705 Getting Started with EZ-USB FX3.pdf" chapter 7:
However, I got the error message "CYU3P_PIB_ERR_THR0_WR_OVERRUN" from CyU3PPibRegisterCallback(), while trying to receive a higher FPS data and then transfer it to PC.
I'm confused whether the error conflicts with the snippet in the pdf?
How to explain the error message?
Hope someone could provide any suggestion. Thanks a lot!
Solved! Go to Solution.
When the GPIF II block is being written with data when there no buffers available on the associated GPIF socket, OVERRUN error is thrown. As you have mentioned, this indicates that the consumer is not fast enough to read the data from the buffer. Please try reducing the FPS (or) use multiple GPIF II threads (or) try using a different host application on the host side.
Dear Srinath S:
Thanks for your quick & specialized reply!
1. So the following snippet is not correct absolutely, the write action from producer socket wouldn't be ignored AUTOMATICALLY by the system while the DMA buffer is full, right?
2. I have used the 2 thread for producer socket which copy the structure from "AN75779 - UVC example" except the Manual mode -> Auto mode.
I want to check one thing. In the state machine, if all DMA buffers are full, the DMA_RDY_TH0 or DMA_RDY_TH1 trigger will not be "true", right? I want to use the trigger to avoid the issue, first.
1. The statement in the snippet is correct since the producer socket does not perform write operations when the DMA buffer is full. The data that is written onto the producer socket would be dropped automatically.
2. Yes, the DMA_RDY_TH0 and DMA_RDY_TH1 flags can be used to check if the DMA buffer is ready to accept the new incoming data.
Dear Srinath S:
Thanks for your reply!
According to your messages, please evaluate the correctness with my inference:
While the producer socket tries to write data into the full DMA buffers, it discards the new data automatically and the system triggers the "CYU3P_PIB_ERR_THR0_WR_OVERRUN" callback to notify the user.
Is it right?