I use the function as follows- CyU3PGpifSocketConfigure(0, CY_FX_PRODUCER_PPORT_SOCKET, 3, CyFalse, 0);
I am able to transfer for a very short amount of time before Flag B remains Low = Buffer Full. Watching both Flags on the oscilloscope both flags go low when the buffer is full but only flag A goes back up to show that the buffer is Not Full. Why does the signal not go back up?
I also used this implementation- CyU3PGpifSocketConfigure(0, CY_FX_PRODUCER_PPORT_SOCKET, 0, CyFalse, 0);
When changing the watermark value from 3 to 0 I had no issues and flag B matched up with flag A other than being about half a clk cycle faster.
Can't think of a logical reason as to why that would happen.
Please create a tech support case (MyAccount -> MyCases) so that one of our engineers can take a look at your code.