CC2538: ZStack 3.0.2 and USB CDC connectivity

Part Number: CC2538
Other Parts Discussed in Thread: Z-STACK


I would like to add USB CDC connectivity to ZStack 3.0.2 Generic App (Router) running on the CC2538. I downloaded and the USB CDC example works out of the box; I can use RealTerm and that application mirrors any string of characters that is sent to the CC2538 across its USB interface.

The issue I am having is porting this code across to the ZStack 3.0.2 Generic App. The GenericApp is based on OSAL and switching between tasks. As such I followed the same model and separated the initialisation part from the recurring part of the USB CDC code to form 2 functions (usbcdc_init and usbcdc_event_loop) . With this running, Windows 10 does actually recognise this as a USB CDC port. However, the Realterm test of sending characters and listening for the mirrored reply is not working. I suspect this may be because of event handling in the USB code. There seem to be events like USB suspend, resume, etc. and I am worried about these being missed or handled incorrectly. Although I do note that the interrupts are enabled when OSAL is running so it is a bit uncertain.

What is the best way to fuse these 2 pieces of code together ? Do you have any downloadable examples with this combination already implemented ?