Multiple Thread in GPIF example for USB to GPIF

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
E_521156
Level 4
Level 4
100 sign-ins 50 replies posted 50 sign-ins

Hi,
Is there any example for multiple thread in GPIF for sending continuous data from USB to GPIF to help me on my project , just like "reversing" the configuration in AN75779?

data is lost every 16KB in my project. Based on AN75779 documents, I should do multi threding in GPIF. In AN75779, data goes from GPIF to USB, but I have problem from USB to GPIF.

Thanks

0 Likes
1 Solution
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello,

In the firmware you shared in this thread Multiple Thread in GPIF II for DR_data , i found that the configuration for serial out is  0x00001F83,  /*  CY_U3P_PIB_GPIF_SERIAL_OUT_CONFIG */

which is socket zero ( as mentioned in GPIF_SEROUT_THREAD_NUMBER_MASK (bit 3:2) is configured for data sink (from USB to GPIF).

As you are using two sockets (thread) in you firmware, this field should be 0. So that the socket is chosen internally (as per the thread)

So the configuration should be 0x00001F81,  /*  CY_U3P_PIB_GPIF_SERIAL_OUT_CONFIG */

I have tested this at my end. Refer to the results

gpif_serial_thread.PNG

PS: I have changed the DMA buffer size and endpoint size to 1024 (for testing purpose)

Regards,

Rashi

Regards,
Rashi

View solution in original post

0 Likes
3 Replies
JayakrishnaT_76
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hello,

Is this a duplicate thread of a thread created before. The thread created before is mentioned in the following link.

Multiple Thread in GPIF II for DR_data

If so, Please carry on the discussion in the previous thread.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello,

In the firmware you shared in this thread Multiple Thread in GPIF II for DR_data , i found that the configuration for serial out is  0x00001F83,  /*  CY_U3P_PIB_GPIF_SERIAL_OUT_CONFIG */

which is socket zero ( as mentioned in GPIF_SEROUT_THREAD_NUMBER_MASK (bit 3:2) is configured for data sink (from USB to GPIF).

As you are using two sockets (thread) in you firmware, this field should be 0. So that the socket is chosen internally (as per the thread)

So the configuration should be 0x00001F81,  /*  CY_U3P_PIB_GPIF_SERIAL_OUT_CONFIG */

I have tested this at my end. Refer to the results

gpif_serial_thread.PNG

PS: I have changed the DMA buffer size and endpoint size to 1024 (for testing purpose)

Regards,

Rashi

Regards,
Rashi
0 Likes

Hi,
it was the exact answer. It works now.
Thanks alot.

0 Likes