Maybe two factor at the same time make the project dead:
1. Swtich beween Thread0/Thread1 and Thread2/Thread3 in slave GPIF and slave firmware
As described in response 11. What is the reason?
2. I used EP3IN/OUT and use CY_U3P_UIB_SOCKET_PROD_3/CY_U3P_UIB_SOCKET_CONS_3 accordingly. I guess CY_U3P_UIB_SOCKET_PROD_3 doesn't mean EP3, but the 3rd ep in the project.
After changing to MT0-ST1/MT1-ST0/MT2-ST3/MT3-ST2 and use M-EP2OUT/S-EP2IN instead M-EP3OUT/S-EP3IN, the problems in the problematic project (based on AN87216, not your project) disappear.
Apologies for the delayed response.
Regarding your question in response 11, If my understanding is correct when data is sent to slave's OUT endpoint 1, it is transferred to the socket0 of slave FX3. The Master FX3 will read data from the socket 0 of the slave to the socket 0 of master FX3. Please let me know if my understanding is correct. Also, please let me know what is the data that you transferred from slave to master. Is the data all 0s? Or did you try sending non zero data from the slave and got the same data at master side?
Also, please let me know the list of ACTIONS in the states DO_IN_DATA and WR_DATA.
Regarding your doubt in response 15, the CY_U3P_UIB_SOCKET_PROD_3 is the socket for the OUT endpoint 3 (0x03) and CY_U3P_UIB_SOCKET_CONS_3 is the socket for IN endpoint 3 (0x83).
As in response 15, the problem is solved, the remaining question is just for curious, if you are busy you can suspend this thread for now.
Also, please let me know what is the data that you transferred from slave to master. Is the data all 0s? Or did you try sending non zero data from the slave and got the same data at master side?
please let me know the list of ACTIONS in the states DO_IN_DATA and WR_DATA
Please follow the edits I mentioned in the thread and try it on AN87216 setup, there is only very few edits from your project.
I do not have the setup for testing this project now. Please take my suggestions and test this on your end and let me know the result.
Please try sending non zero data from slave through OUT endpoint 1 and let me know if you are getting the same data at the master side. This test need to be done on the project that you were describing in your response 11 and not response 15. The master selects a particular thread of the slave by driving the pins A1 and A0,so when you are changing the threads in the slave project, you should also take care that these signals are properly driven from the master state machine.