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.

IWR6843AOPEVM: mmWave SDK demo directory: xwr68xx or xwr64xx?

Part Number: IWR6843AOPEVM
Other Parts Discussed in Thread: IWR6843AOP, DCA1000EVM

Hello,

I would like to modify parts of the demo binary provided in the mmWave SDK for the IWR6843AOPEVM, but I'm wondering which board directory I should be looking at.

I see demo/xwr68xx, but there is no AOP configuration currently present, not in the code and not in the Makefiles.  On the other hand, in demo/xwr64xx, I see an AOP build option and gAntDef_IWR6843AOP being used in main.c.  Does this mean that I should start with the .c files in demo/xwr64xx for my custom firmware to run on IWR6843AOPEVM instead of demo/xwr68xx?

Another question: I would like to start without the HWA on IWR6843AOPEVM, but demo/xwr64xx seems to exclusively use the HWA and not use the DSS core for the data processing.  demo/xwr68xx, on the other hand, does use the DSS for data processing (but again, doesn't have the AOP build option).  What would be the easiest way for me to run custom firmware on the MSS and DSS on the IWR6843AOPEVM?

Thanks in advance!

  • I'm very interested in the same questions. In particular, what it takes to run the object detection routines on the DSP. Configuring HWA vs DSP seems very byzantine.

    I can tell you from my own experiments that the 64xx demo is the "correct" one for the AOP chip. In the resource explorer thing, there is a demo called "out_of_box_6843_aop", which is basically the 64xx demo. Works great on my Mistral AOP module.

    Running the 6843 ISK demo kiiinda works if you flash it, but the results are not accurate. That said it does handle a lot more contacts than the HWA-based demo.

  • Hello, 

    I'm very sorry about the delayed response here. The files in demo/xwr64xx are indeed the correct files for the IWR6843AOP out of box demo. And you are correct that these files do not utilize the DSS. This is because 64xx is actually another version of the device which does not have a DSP. You are also correct that the demo/xwr68xx (which do utilize the DSS) does not have an AOP build option. As another user mentioned, this causes inaccurate results if you try to run the demo with the IWR6843AOP. In order to use the demo/xwr68xx demo files with the AOP device you would need to make modifications in the angle processing to account for the difference in the antenna pattern of the AOP evm and that of the ISK evm (the antenna that the demo was originally designed for). 

    Since these modifications might become slightly more complex, I want to take a step back and ask a bit more about your application. Even in broad terms what are you looking to do with the radar? We may have another demo application which could be a better starting point for your development. 

    Best Regards,

    Josh

  • Hi Josh,

    Thanks for your response!  I'm looking to prototype some radar processing algorithms on the received radar cube that can be tuned on a frame-by-frame basis (along with tuning some of the chirp parameters for the subsequent frame).  Since some of these algorithms involve more than just FFT/windowing/CFAR, I'd need to implement them in C on the DSS core.  Currently, I'm streaming out the ADC data with the DCA1000EVM, processing the data offline, and reconfiguring the chirp parameters for the next frame, but I'd like to have everything running on the IWR6843AOP itself.  I'm not concerned about latency at all (1 Hz frame rate is fine with me), so I don't need to accelerate the data processing.

    How complex are these modifications by the way?  I've started adding in the antenna geometry for the IWR6843AOP in the MSS and am about to modify the angle processing DPU code.

    Thank you in advance!

    Titan

  • Hi Titan, 

    Understood. For what you're trying to do, the out-of-box demo does indeed seem to be the best starting point. 

    How complex are these modifications by the way?  I've started adding in the antenna geometry for the IWR6843AOP in the MSS and am about to modify the angle processing DPU code.

    This is really all that should be required. Have you run into any issues during your implementation?

    Best Regards,

    Josh

  • Hi Josh,

    Thanks for your response.  I added the antenna geometry in mss_main.c and updated all the MSS and DSS makefiles to build with the USE_2D_AOA_DPU define.  Lastly, I added `xWR68xx_AOP` as the platform string to mmw_cli.c.  However, when I use the mmWave demo visualizer to configure the radar with this newly compiled firmware, I keep getting the error that the device reports itself as xWR68xx instead of xwr68xx_AOP: "Select Platform [xWR68xx_AOP] not matching that reported by target [xWR68xx].

    This problem looks similar to https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1115818/iwr6843isk-ods-demo-visualizer-selected-platform-xwr68xx-not-matching-that-reported-by-target-xwr68xx_aop, but there are two differences: (1) I'm using version 3.6 of the demo visualizer, and (2) configuring works perfectly fine with the out-of-box HWA-enabled xwr64xxAOP_mmw_demo.bin binary.  Any ideas?

  • Hi Titan, 

    Sorry for the delay here. Can you try again with version 3.5 of the demo visualizer? There may still be some bug with version 3.6 which you are running into. I'm looking into this to see if there are any known issues. Also, you can configure and run the demo from the Industrial Visualizer of the Radar Toolbox instead of the mmWave Demo Visualizer. It does not support all of the same plots but you can give it a try to see if that would meet your needs. This requires you to install the radar toolbox.

    Regards,

    Josh

  • Hi Josh,

    On version 3.5, if I selected xwr68xx_AOP as the device, I get the following error: "Selected Platform [xWR68xx_AOP] not matching that reported by target [xWR68xx]" (the same error that I saw on version 3.6).  If I move to the xwr68xx device, then I see the following error: "SDK input version [major,minor] = [3,5] not matching [3,6] reported by target, Hint: Change input version/target and try again".

    In any case, I worked around this issue by simply writing my own serial interface to send configurations to the radar, and that seemed to do the trick!

  • Hi Titan, 

    I'm glad to hear you were able to send the config to the device and start the demo. Are you able to proceed with your evaluation then? By the way, I just wanted to point out again that the radar toolbox visualizer may be helpful for you if you don't want to build an entire application to view the data from scratch. We provide the source code and it is written in python. 

    Best Regards,

    Josh

  • Hi Josh,

    Yes, I'm able to proceed with my evaluation.  I just tried out the Industrial Visualizer with the 3D people tracking demo, and I think it'll be very useful for me, especially since TI provided the Python source code.  Thanks for your help!

  • Actually, one more question: Is there any way to print any debug information from within the DPUs that will be outputted over UART to a computer?  From the schematic of the IWR6843AOPEVM, it looks like AR_DSS_LOGGER is not hooked up, so I used the Mailbox to send messages from the DSS to the MSS.  This works within dss_main.c.  However, when I write to the Mailbox from within the DPM task (i.e., from any DPUs), the DPM seems to halt execution of the rest of the chain.  Would you know of any workaround to this issue?

  • Hi Titan, 

    That is good to hear. Thank you. We would be happy to help you with your latest question but can you please create a new post and copy it to there? Since the topic is different than your original question it is better to have it's own post so that other who might have the same question will have an easier time finding it later. 

    Best Regards,

    Josh

  • Sorry, yes I will do.

  • No problem. And thank you very much. 

    Best Regards,

    Josh