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.

CCS/AWR1642: A questions about modifying mmwave demo: short range radar

Part Number: AWR1642

Tool/software: Code Composer Studio

Hello,I have used the short range radar demo,Now I need to modify the demo so that my board can send data without starting the official GUI, and I need to customize the format of the data sent. How do I modify the demo?

  • Hi,

    The current SRR demo is started from the GUI.

    The GUI sends the following 2 strings to start the demo

    mmwave_automotive_toolbox_2_9_1\labs\lab0002_short_range_radar\gui\load_config.m

    cliCfg{1} = 'advFrameCfg';
    cliCfg{2} = 'sensorStart';

    If you want to start the demo from the target, when you power up the EVM, you would have to modify the source code to no longer wait on these strings from uart host.

    I recommend that you spend some time looking at the cli code in the demo and identify where the strings mentioned above are received. This is the part of the code that would have to be modified.

    Before you customize the format of the data sent you need to make sure first that the demo is working with this change.

    After this is working you can modify the format of the data sent in the following function:

    mmwave_automotive_toolbox_2_9_1\labs\lab0002_short_range_radar\src\dss\dss_main.c

    /**
     *  @b Description
     *  @n
     *      Function to send detected objects to MSS logger.
     *
     *  @param[in]  ptrOutputBuffer
     *      Pointer to the output buffer
     *  @param[in]  outputBufSize
     *      Size of the output buffer
     *  @param[in]  obj
     *      Handle to the Data Path Object
     *
     *  @retval
     *      =0    Success
     *      <0    Failed
     */
    int32_t SRR_DSS_SendProcessOutputToMSS(uint8_t *ptrHsmBuffer,
                                              uint32_t outputBufSize,
                                              MmwDemo_DSS_DataPathObj *obj)

    thank you

    Cesar

  • Thanks, your answer helped me a lot. But I have two more questions:

    How is the result that is ready to be sent to mss after dss processing saved in this demo? and how does MSS read the results?

  • The pointers of the buffers are sent to the MSS through mailbox interrupt.

    The MSS will read these pointers and read the data and send it through UART.

    See, in mss_main.c

    MmwDemo_mboxReadTask()

               /* Flush out the contents of the mailbox to indicate that we are done with the message. This will
                 * allow us to receive another message in the mailbox while we process the received message. */
                Mailbox_readFlush (gSrrMSSMCB.peerMailbox);

                /* Process the received message: */
                switch (message.type)
                {
                    case MMWDEMO_DSS2MSS_DETOBJ_READY:
                        /* Got detected objects , to be shipped out shipped out through UART */
    #ifdef USE_LVDS_INTERFACE_FOR_OBJECT_DATA_TX
                        {
                            int32_t errCode;
                            volatile uint32_t totalPacketLen = 0;
                            uint32_t itemIdx;
                            uint8_t *swUserBuffer = (uint8_t *)&gSwUserBuffer[0];

                            /* header */
                            memcpy(&swUserBuffer[totalPacketLen], (uint8_t*)&message.body.detObj.header, sizeof(MmwDemo_output_message_header));
                            totalPacketLen = sizeof(MmwDemo_output_message_header);

                 

  • Thanks for your reply.