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.

IWR6843: Communication between MSS application to mmWave Front End

Part Number: IWR6843

Hi,

I'm currently working on the IWR6843 Chip.

For every radar configuration, we are getting an ACK/NACK from the radar chip (IWR6843).

Is it possible to remove the ACK/NACK from the radar chip?

If yes, Can you route me to the file in mmWaveSDK 

  • Hi,

    Since the firmware loaded on the front end is not configurable, I do not believe this is possible. You may be able to ignore the ack/nack by modifying the code under the mmwavelink. This can be found at <mmwave SDK Install>\packages\ti\control\mmwavelink

    Best Regards,
    Alec

  • Hi Alec,

    As per your suggestion, I went through the mmwavelink and modified the  rl_txMsg.hdr.flags.b2AckFlag flag from 0U (RL_HDR_FLAG_ACK) to 3U( RL_HDR_FLAG_NO_ACK) in rl_driver.c

    Then the mmWavelink and demo were built for the xwr68xx, although the ACK continued to appear for every radar command on testing.

    Is it accurate that I performed everything correctly, or is there any deviation?

    If it's deviated can you help me to recover from it?

     
  • Hi,

    This sounds correct, could you verify the process you followed to rebuild and include the mmwavelink?

    Best Regards,
    Alec

  • Hi,

    Below are the steps I followed to build the both mmWavelink and mmw demo

    Step 1: Set the built environment.
    Step 2: In the below path, executed make clean and make all to build the mmWavelink libraries.
                     Path : "/home/balaji/ti/mmwave_sdk_03_05_00_04/packages/ti/control/mmwavelink"
    Step 3: Checked whether the library files created in the path "/home/balaji/ti/mmwave_sdk_03_05_00_04/packages/ti/control/mmwavelink"
                     Both libmmwavelink_xwr68xx.ae674 and libmmwavelink_xwr68xx.aer4f are build properly.
    Step 4: Built the demo for IWR6843 board in this path "/home/balaji/ti/mmwave_sdk_03_05_00_04/packages/ti/demo/xwr68xx/mmw"
                     Verified the log message when it is inbuilt. The mmWavelink library is correctly linked and built-in mss.

    Could you cross-verify the process I followed?

  • Hi,

    Could you instead try calling the function rlDriverConfigureAckTimeout and pass in a value of 0? I believe this should configure the rl_driver for no acknowledgement, and I wonder if there may be redundant settings which are overwritten the value in your current approach.

    Best Regards,
    Alec

  • Hi,

    Actually, I tried this as well, but it did not work. I received the ACK for radar commands.

    Modification made in rl_driver.c is mentioned below. Could you verify it from your side?


    rlReturnVal_t rlDeviceConfigureAckTimeout(rlUInt32_t ackTimeout)
    {
    /* Set Ack Timeout value passed by application to rlDriver */
    //return rlDriverConfigureAckTimeout(ackTimeout);
    return rlDriverConfigureAckTimeout(0U);
    }

  • Hi,

    Understood, but have you ensured that rlDeviceConfigureAckTimeout is being called by your application? I do not believe that the Out of Box Demo has a call to this function by default, and that it instead relies on the default acknowledgement time.

    Best Regards,
    Alec

  • Hi,

    Apologies for the late response.

    We are currently working on the implementation that you suggested.

  • Hi Alec,

    Thank you for the suggestion; we tried it, below are our observation

    Modified the mss_main.c to call the function rlDeviceConfigureAckTimeout and passed the argument as 0.

    Built and linking are proper, we didn't get any errors.

    By displaying the logs(timeout) using CLI_Write, we also ensured that the function was invoked. The screenshot is attached for your reference, we used a logic analyzer for viewing the data/logs.

    However, we received the ACK for commands while testing it with the radar module

    Could you point us in the right direction?

  • Hi,

    My apologies for the delay here. Let's try a different approach. Go to the following file:

    <mmwave SDK Install>\packages\ti\control\mmwave\mmwave.h 

    And modify the value for MMWAVE_ACK_TIMEOUT from 1000 to 0. Once this is done, rebuild the mmwave control layer using the makefiles provided by the SDK. Instructions for this can be found in the SDK user's guide. Once this is done, this should resolve the issue.

    I believe that the value you configured with the command previously may be overwritten when the sensorStart occurs, which is leading to it not working as expected. The value pulled during sensorStart traces back to the macro that I provided above, so this should ensure that it is corrected during sensorStart.


    Best Regards,
    Alec

  • Hi Alec,

    Thanks for the suggestion and we tried it out.

    Procedure :

    1. Modified the MMWAVE_ACK_TIMEOUT value from 1000U to 0U in mmwave.h
    2. Then Build the mmwave control layer and demo for xwr68xx.

    However, When I was testing the binary(Firmware), I received "done" as the Acknowledgement for the radar configuration commands.
    Could you suggest a few more ideas?

  • Hi,

    Are you referring to the 'Done' reply in the CLI interface? The acknowledgement via CLI is unrelated to the acknowledgement from the BSS to the MSS. 

    Best Regards,
    Alec