This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2652R: UART display stops working if compiling with PTM_MODE flag

Part Number: CC2652R
Other Parts Discussed in Thread: SYSCONFIG

I'm testing the simple_peripheral example with PTM mode. After checking the PTM box from sysconfig, the example was able to build without error. But the UART display stops working, even if I have tried comment out the PTM initialization code in SimplePeripheral_init:

    // Intercept NPI RX events.
    NPITask_registerIncomingRXEventAppCB(simple_peripheral_handleNPIRxInterceptEvent, INTERCEPT);

    // Register for Command Status information
    HCI_TL_Init(NULL, (HCI_TL_CommandStatusCB_t) simple_peripheral_sendToNPI, NULL, selfEntity);

    // Register for Events
    HCI_TL_getCmdResponderID(ICall_getLocalMsgEntityId(ICALL_SERVICE_CLASS_BLE_MSG, selfEntity));

    // Inform Stack to Initialize PTM
    HCI_EXT_EnablePTMCmd();

The BLE advertising and connection works as normal, but there is no UART display output. I noticed there is some UART initialization code in NPITLUART_initializeTransport, which is called from NPITask_task, does this conflicts with the UART initilazation in application task?

Best regards,

Shuyang

  • Hi Shuyang,

    PTM uses UART as transport layer. Display uses as well UART. As a consequence there might be some conflicts. I would recommend to verify by stepping in the code if you manage to spot this issue.

    After that, I would recommend to use one of the two UART for PTM and the other for Display.

    I have asked an engineer to assist you.

    Best regards,

  • Hi Clement,

    Thanks for the support, I have verified that you are right about the root cause. I insert some codes to only allow one instance of UART to be initialized based on a GPIO input, and it is working fine.

    Best regards,

    Shuyang