IWRL6432AOP: About extracting heatmaps

Part Number: IWRL6432AOP
Other Parts Discussed in Thread: IWRL6432, , DCA1000EVM

Tool/software:

Hi L6432AOP champ !

This issue was tested in the following environments.

[RADAR SENSOR] IWRL6432 EVM

[SDK] MMWAVE_L_SDK_05_05_00_02

[Radar Toolbox] 2.20.00.05

They are trying to pull a heatmap using IWRL6432.

“Understanding UART Data Output Format”,
“Parameter Tuning and Customization Guide for the xWRLx432 Motion/Presence Detection Demo”

They checked the documentation and it seems that they can pull out the Range-azimuth heatmap data by modifying the cfg file as shown below.

Seeing this, they modified the cfg file as shown below and ran it, but it fails to run with the error shown below. (The cfg before the modification runs fine).

guiMonitor 2 3 0 0 0 0 1 1 1 1 1 -> guiMonitor 2 3 0 1 0 0 1 1 1 1 1 1

ERROR : No data detected on COM Port, read time out
Be sure that the device is in the proper mode, and that the cfg you are sending is valid

On a related note, can you please confirm how I can pull out the Range-azimuth heatmap data or any other heatmap data?

Thanks

Best Regards, 

Jack

  • Hi Jack, 

    Their understanding is correct for enabling heatmap output. I have just checked this and by updating the guiMonitor command in TrackingClassification_MidBw.cfg ({MMWAVE_SDK5_INSTALL}\examples\mmw_demo\motion_and_presence_detection\profiles\xwrL64xx-aop) the demo can run successfully and output the range-azimuth heatmap. If the customer's configuration is giving that error message, I would assume it is due to some other modifications in the configuration file or the demo source code itself. 

    I can see based off of the guiMonitor command that you shared, that the adcSamples TLV and presenceInfo TLV are also enabled. It may be possible that after also enabling the heatmap output, then the UART transfer time is taking too long since there is a lot of data to transfer. If the UART transfer time ends up making the frame last longer than the configured frame period the demo will crash and give the error you reported. You can check if this is what is happening by increasing the frame periodicity in frameCfg (frameCfg 2 0 200 64 100 0). Have the customer increase this value to something very large, such as 1000, if the error still persists then it may be due to some other issue.

    Best Regards,

    Josh

  • High Josh,

    As per your suggestion, we proceeded with the tests below, but all resulted in errors.

    TEST 1
    frameCfg 2 0 200 64 100 0
    guiMonitor 2 3 0 1 0 0 0 0 0 0 0

    ERROR [gui_parser.py:188] ERROR: No data detected on COM Port, read timed out
    ERROR [gui_parser.py:189] Be sure that the device is in the proper mode, and that the cfg you are sending is valid

    TEST 2
    frameCfg 2 0 200 64 200 0
    guiMonitor 2 3 0 1 0 0 0 0 0 0 0

    INFO [parseFrame.py:119] Invalid TLV type: 304

    TEST 3
    frameCfg 2 0 200 64 500 0
    guiMonitor 2 3 0 1 0 0 0 0 0 0 0

    INFO [parseFrame.py:119] Invalid TLV type: 304

    TEST 4
    frameCfg 2 0 200 64 1000 0
    guiMonitor 2 3 0 1 0 0 0 0 0 0 0

    INFO [parseFrame.py:119] Invalid TLV type: 304
    INFO [parseFrame.py:119] Invalid TLV type: 304
    INFO [parseFrame.py:119] Invalid TLV type: 304
    ERROR [gui_parser.py:188] ERROR: No data detected on COM Port, read timed out
    ERROR [gui_parser.py:189] Be sure that the device is in the proper mode, and that the cfg you are sending is valid
    INFO [parseFrame.py:119] Invalid TLV type: 304

    Test Environment:
    [Radar Sensor] IWRL6432AOP EVM
    [SDK] MMWAVE_L_SDK_05_05_00_02
    [Visualizer] Industrial Visualizer.exe(\radar_toolbox_2_20_00_05\tools\visualizers\Applications_Visualizer\Industrial_Visualizer\Industrial_Visualizer.exe)
    [cfg] TrackingClassification_MidBw.cfg({MMWAVE_SDK5_INSTALL}\examples\mmw_demo\motion_and_presence_detection\profiles\xwrL64xx-aop)

    I tested with the pre-built .exe file, but when I look at the source code (parseFrame.py), I see the following. Could this be related?

    unusedTLVs = [
    MMWDEMO_OUTPUT_MSG_NOISE_PROFILE,
    MMWDEMO_OUTPUT_MSG_AZIMUT_STATIC_HEAT_MAP,
    MMWDEMO_OUTPUT_MSG_RANGE_DOPPLER_HEAT_MAP,

    Do I need to use something like DCA1000EVM to extract this data?

    Please check and advise.

    Thank you.

  • Hello, 

    Do I need to use something like DCA1000EVM to extract this data?

    No DCA1000 is not required to extract heatmap data. 

    Thank you for sharing the results of your tests. I can tell that based on your results the issue seems to have been related to the frame time, once you increased the frame time the heatmap data appears to be output. If you refer to the TLV documentation you can see that TLV type 304 is the range-azimuth heatmap. Do you include the command "baudrate 1250000" in your cfg file? Or have you increased the baudrate in syscfg? If you haven't, then doing that may allow you to output the heatmap data without having to increase the frame period.

    You are seeing the message "INFO [parseFrame.py:119] Invalid TLV type: 304" because the visualizer is not set up to parse and display the range-azimuth heatmap data. You will need to modify the visualizer to achieve this purpose. Refer to the documentation I linked above for information on the format of the range-azimuth heatmap data. And refer to the applications visualizer user guide for information on working with the python visualizer source code.

    Best Regards,

    Josh

  • Hello, Josh,

    I have reviewed the following error:

    INFO [parseFrame.py:119] Invalid TLV type: 304

    In the source code of the Industrial Visualizer, specifically in parseFrame.py, this error occurs when the tlvType is not found in either parserFunctions or unusedTLVs.

    Upon checking tlv_defines.py, I identified that 304 corresponds to MMWDEMO_OUTPUT_EXT_MSG_RANGE_AZIMUT_HEAT_MAP_MAJOR.

    However, as shown in the image below, MMWDEMO_OUTPUT_EXT_MSG_RANGE_AZIMUT_HEAT_MAP_MAJOR cannot be found in either parserFunctions or unusedTLVs.

    This indicates that since MMWDEMO_OUTPUT_EXT_MSG_RANGE_AZIMUT_HEAT_MAP_MAJOR is missing, no parserFunctions assignment is made, making it impossible to extract the data.

    Please review and confirm this issue.

    Sincerely,

    SeungCheol Kim

  • Hi SeungCheol Kim, 

    Your analysis is correct. As I mentioned, the visualizer does not have the functionality for parsing the heatmap data built-in. You will need to add this yourself. I suggest you follow the similar method that is done for the other TLVs, i.e. create a new function in parseTLVs.py to parse the heatmap data. Then add MMWDEMO_OUTPUT_EXT_MSG_RANGE_AZIMUT_HEAT_MAP_MAJOR and your new function to parserFunctions. 

    Best Regards,

    Josh

  • Hello, Josh,

    For your guidance, I was able to generate the HEAT_MAP successfully. I appreciate your assistance.

    Sincerely.

    SeungCheol Kim