|
Hi Ayi
>check the function "CyU3PDmaChannelGetStatus" and compare the producer and consumer counts. If they are >eqal, no data is in progress.
I know the function "CyU3PDmaChannelGetStatus".But I think there is no "IDLE" with return value .And what the mean "compare the producer and consumer counts"? And how to compare?
If you compare these counts you can see if any data is in progress. If producer count is higher than consumer count, then consumer has data left to transmit. If both counts are the same, then no data is in progress and there is no transmission ongoing.
>Why are you no using the control channel EP0? There you do not have to check if data is in progress. I think you >also do not have to check if any data is in progress while you like to send control transfers. The dma should be >connected to different sockets and they are connected to different endpoints. So the endpoint work for user like >parallel.
I use 3 DMA channel :U1-->P1 P1-->U1 and U2-->P2.And after the channels is created the socket address is fixed . So I think the endpoint work for user not like parallel. When the" U1-->P1 "channel is used I want to send command(the command shouled be send by GPIF to external device :FPGA ,the command is not like the vender request,the command can be understand as data transfer ) by "U2-->P2"channel .I just think of the GPIF interface can't be share.
Ok, in this the interface truely can not be shared. You may also can check the DMA callback functions. They notify may be some DMA event you need to do y
regards,
lumpi
|