I have now attached updated files.
While I was in this programming mode I went ahead and created a Master as well as a Slave. I have attached both as examples.
Tested 200,000 times master / slave messages and had a number of retries required (about 1 in 5 times) but never had a failed communication. I think the retries are a function of ThreadX servicing other functions such as USB while I am communicating. I think my communications watchdog timer in my 1 ms timer routine tripped out and caused the retries. I tried increasing the watchdog timer and the retries went down significantly. Given the variability of thread access I decided I can live with some retries since I never get a failed message. I have set the number of retires to 3 and time to get response to 30 ms.
I am going to use the code in my projects as is and not try to work too hard to reduce retries.
Hope this helps ...
Steve Dillier