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: Creating custom waveform configuration files

Part Number: IWR6843
Other Parts Discussed in Thread: DCA1000EVM, , AWR1243,

Hi,

I am trying to create my own chirp configuration file based off of the one provided in this post.
I end up getting an "error -1" output. I am not sure what that means. Do you know where that could be coming from?

Below is part of my output:

mmwDemo:/>sensorStart
Debug: Init Calibration Status = 0xffe

Error -1
Sending configuration to XWR1xxx sensor_stop.cfg ...
sensorStop

sensorStop
Ignored: Sensor is already stopped

Done

Start Record command : Success 
Sending configuration to XWR1xxx sensor_restart.cfg ...
sensorStart

sensorStart 
Error -1

Stop Record command : Success

Thanks!

  • HI, 

    The other e2e thread customer was able to get it working on their side. Were you able to get the original chirp configuration working first?    Is this error only happens to your modified chirp configuration?  

    Best,

    Zigang

  • Using the provided chirp configuration and the hardware setup, I can get it to work.
    however, in the DCA config file, when I change the captureStopMode to "fames" instead of bytes, I get the following error:

    Record stopping using number of frames is valid only in raw mode. [error -4064]


    Using my custom configuration parameters, I just get an error -1 as shown above. The error code gives no information. 

    I am using the same mmw_demo image.

    Thanks

  • 1) That is right.  CaptureStopMode does not support frames at this time.

    You can use "bytes"

    or you can use "infinite" and then rely on the capture stop command to stop the capture.

    DCA1000EVM_CLI_Control.exe stop_record  xxx.json

    2) Regarding sensor configuration, Is your modified configuration run on regular visualizer?  and only gives error when you do raw data capture?  You need to first make sure the modified configuration runs on visualizer.

    Best,

    Zigang

  • Hi Zigang,

    1.) Ok thanks for the clarification

    2) The waveform runs well on mmWaveStudio but I didn't know you could get raw data through the Visualizer?


    Thanks!

  • So your modified configuration file runs well on visualizer, but just did not run well when sending through MATLAB function sencCfg.  Can you send me your modified configuration to check?  Can you please make sure that you send the DCA1000 CLI command to reset the radar sensor?

    Best,

    Zigang

  • Attached! I am resetting the radar sensor just as stated in the other thread.

    chirp1_test.cfg

  • Hi, 

    You have large number of chirps.  Are you having total 1000 chirps in one frame?  Can you try to reduce the number of chirps from 256 down to something like total 64 or less and try again?  I doubt this configuration can run in the SDK visualizer.  We have a limitation of radar cube size.

    chirpCfg 0 255 0 0 0 0 0 4
    frameCfg 0 255 4 100 900 1 0

    Best,

    Zigang

  • Can raw data run in the SDK visualizer? I was under the assumption that it won't work.
    This waveform works on mmWaveStudio, not the visualizer.

    Changing the number of chirps to less than 64 produces the same error.  Is there an image where I can stream raw data and run 256 chirps?

    Thanks!

  • HI, 

    Yes, the data capture through radar studio does not have this kind of memory limitation.   Right now, we do not have any binary that support LVDS streaming, but without memory limitation.    You can work on the SDK code to skip all the post processing and memory allocation.   But we do not have this option at this time.

    Best,

    Zigang  

  • Hi Zigang,

    I am not sure I understand your statement correctly.

    Right now you don't have any binary that supports LVDS streaming of raw data for the visualizer. But if we want to bypass the visualizer, the mmw_demo binary allows streaming of LVDS raw data through ethernet. 

    The problem with mmw_demo binary is that there are memory limitations so we cant have too many chirps.

    You are suggesting that we modify the SDK code for mmw_demo to eliminate the post processing and memory allocation allowing us no memory limitation and therefore, 256 chirps.

    Are there any images that allow LVDS streaming of raw data if we bypass the visualizer?

    Thanks!

  • Hi, 

    What I am saying is "Right now we don't have any binary that supports LVDS streaming of raw data but without memory limitation."  Visualizer is irrelevant to this limitation.

    I do not have any more details in terms of how to bypass post processing and memory allocation.  You just have to read through the code to figure it out.   

    Best,

    Zigang

       

  • Got it.
    Its very interesting. I took your earlier suggestion of trying to find an image with LVDS streaming and landed upon: 3D_People_count_68xx_demo.bin from industrial_toolbox_4.3.2 which should support sdk 3.4 but the output seems to suggest otherwise:

    I only used 16 chirps as you recommended but seems that is not the issue. Any thoughts?

    mmwDemo:/>guiMonitor -1 1 1 1 0 0 1
    'guiMonitor' is not recognized as a CLI command
    Sending configuration to XWR1xxx sensor_stop.cfg ...
    sensorStop
    
    sensorStop
    Ignored: Sensor is already stopped
    
    Done
     
    Start Record command : Success 
    Sending configuration to XWR1xxx sensor_restart.cfg ...
    sensorStart
    sensorStart
    Debug: Init Calibration Status = 0x1e
    
    Error -1
     
    Stop Record command : Success 


    Thanks!

  • HI, 

    Not all demo supported LVDS streaming.  Support SDK 3.4 does not mean it is support LVDS streaming. 

    Every demo may have different CLI configuration set.  You need to use the example configuration from that demo, and modify from there.

    Best,

    Zigang

  • Hi Zigang,

    Where/how can I find information on the memory limitations for the 68xx_mmw_demo.bin?

    Thanks!

  • HI, 

    In the datasheet of each device, you should have these information.  For example in the iwr6843 data sheet, it is mentioned:

    --------------------------------

    Internal memory with ECC – IWR6843: 1.75 MB, divided into MSS program RAM (512 KB), MSS data RAM (192 KB), DSP L1 RAM (64KB) and L2 RAM (256 KB), and L3 radar data cube RAM (768 KB)

    --------------------------------

    Usually L3 radar data cube, which saves the range FFT output for the whole frame, is the main memory limitation during radar post processing.

    Best,

    Zigang

  • Hi Zigang,

    Is there anyway to bypass the L3 memory? All we want to do is stream raw data through the DCA1000EVM onto the PC, which we could do in the AWR1243 without any issues.

    I find it confusing how there was no memory limitation on the AWR1243 but there is for the IWR6843 if we just want to stream data instead of storing data.

    Thanks!

  • HI, 

    If you do data capture through radar studio, then none of these devices will have a memory limitation. 

    The method we talked in this thread is through DCA1000 CLI control interface + SDK out of box demo.   This method does have the memory limitation, which should only be considered when radar studio just can not be an option for you.     I do not know why you say AWR1243 does not have the memory limitation.  AWR1243 does not even support this approach at this point.  

    The option to remove this memory limitation is not available.   It is something you can try to work it out yourself,  but we will not be able to provide further support on this feature.  

    Best,

    Zigang

  • Ok. So you are saying that there is no way to bypass all the processing by making a change in the configuration file, you have to do it through the code itself correct?

    Thanks!

  • That is correct.  

    Best,

    Zigang

  • Thank you. The reason why I was comparing to AWR1243 was because AWR1243 does not do any on chip processing. It just sends raw data.
    In this case with the IWR6843ISK, we also want to skip the on chip processing and send raw data. Therefore, it is confusing to me for 2 reasons:

    1. I believe AWR1243 transmits one chirp at a time. If this is the case in IWR6843 as well, then why is memory an issue? In other words, why we are going through the L3 memory when we just want to transmit one chirp at a time and send raw data to PC without any storage of data?

  • Remember, the out of demo is not designed for raw data capture.   It is designed for point cloud detection.  And the raw data capture is just an add-on feature.  That is why we have a flag (through lvdsStreamCfg) to disable raw data streaming, but we do not have a flag to skip the point cloud detection.  The point cloud detection needs the big radar cube memory.  

    Best,

    Zigang