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.

IWRL6432BOOST: IWRL6432BOOST -- Switch output serial port

Part Number: IWRL6432BOOST
Other Parts Discussed in Thread: IWR6843, IWRL6432, SYSCONFIG

According to the MMW Demo documentation the same serial port that we use to send commands to the device is used to transmit the TLV messages:


My EVM board uses ttyACM2 for CLI commands. Is there any existing code or configuration that will let me easily change the output serial port, the one through which TLV messages get transmitted, to ttyACM3? Or do I need to write this configuration myself?

As we all know, the IWR6843 uses two serial ports, one for CLI commands and one for TLV messages. I'd like to have this same separation using the IWRL6432. I'm not entirely sure how to stop the sensor (other than pressing the reset button or power cycling) if I don't....

Thanks

  • We can see where the UART for TLV gets set:

    void mmwDemo_TransmitProcessedOutputTask()
    {
        UART_Handle uartHandle = gUartHandle[0];
        ...
        
    }

    So if we look, we see we can't just increment the index because only one gets enumerated and configured by default and automatically at that:

    examples/mmw_demo/mmwave_demo/xwrL64xx-evm/m4fss0-0_freertos/ti-arm-clang/generated/ti_drivers_config.h

    #ifndef TI_DRIVERS_CONFIG_H_
    #define TI_DRIVERS_CONFIG_H_
    
    
    /*
     * Auto generated file 
     */
    
    /*
     * UART
     */
    #include <drivers/uart.h>
    
    /* UART Instance Macros */
    #define CONFIG_UART0 (0U)
    #define CONFIG_UART_NUM_INSTANCES (1U)
    #define CONFIG_UART_NUM_DMA_INSTANCES (0U)
    
    
    #endif /* TI_DRIVERS_CONFIG_H_ */

    examples/mmw_demo/mmwave_demo/xwrL64xx-evm/m4fss0-0_freertos/ti-arm-clang/generated/ti_drivers_open_close.c

    /*
     * Auto generated file 
     */
    
    /* UART Driver handles */
    UART_Handle gUartHandle[CONFIG_UART_NUM_INSTANCES];
    
    /* UART Driver Parameters */
    UART_Params gUartParams[CONFIG_UART_NUM_INSTANCES] =
    {
        {
            .baudRate           = 115200,
            .dataLength         = UART_LEN_8,
            .stopBits           = UART_STOPBITS_1,
            .parityType         = UART_PARITY_NONE,
            .readMode           = UART_TRANSFER_MODE_BLOCKING,
            .writeMode          = UART_TRANSFER_MODE_BLOCKING,
            .readCallbackFxn    = NULL,
            .writeCallbackFxn   = NULL,
            .transferMode       = UART_CONFIG_MODE_POLLED,
            .intrNum            = 78U,
            .intrPriority       = 4U,
            .edmaInst           = 0xFFFFFFFFU,
            .rxEvtNum           = 34U,
            .txEvtNum           = 35U,
        },
    };
    

    So since they are auto generated, it seems like we shouldn't just edit things here...

  • There appears to be two UARTs in the documentation as well:

  • Hi,

    Thank you for your query. Please allow us a couple of days to respond

    Regards

  • Hello.

    Please refer to this E2E for reference regarding using the other UART port available on the device.  Once you make these modifications, you will have to enable UART A in SysConfig and define an instance to use it for transmitting/receiving information.

    Sincerely,

    Santosh