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.

AWRL1432BOOST-BSD: Re-open sensor error

Part Number: AWRL1432BOOST-BSD
Other Parts Discussed in Thread: AWRL1432

Tool/software:

Hi AWR1432 experts, 

I am using SDK-L-5.5.0.2 and the AWRL1432 BSD Demo.

Now, I have the trouble to reload a different profile.  Im my application the radar needs to load the different profiles in different circumstances in the run time.

However, when I load the 2nd profile the radar output the following message from uart and no more work. 

"Error: mmWave Open failed [Error code: -3101 Subsystem: 0]"

The profile both begins with sensorStop command and terminated with sensorStart.

That causes the radar will sensorStart again when the 2nd profile is load.

I traced down the program and found out it was crashed in CLI_MMWStart function and when it execute MmwDemo_openSensor.

Could someone help me how sould I do to sucessfully load the 2nd profile?

Thanks in advanced.

  • Hello,

    A team member will respond to you shortly 

    Thanks, 

    E. Shareef

  • Hi Steven,

    What does your end application look like? Do you have the radar mounted on a bike or a car?

    Thanks, 

    Zorah 

  • Which version of the AWRL1432 BSD Demo software are you running? Did you access it from TI resource explorer? How are you loading the 2nd profile?

  • I am using BSD Demo 2.2 which was download the TI secured driver and the link path was obtained from my TI local FAE.

    Based on TI BSD demo, I modify it to meet my application requirement.  To load the 2nd profile, I used and mimic the code in CLI_task to load the profile from the UART.  This part is workable to load the 1st profile.  I feel that the 2nd profile is load successfuly but not successfully execute the sensorStart command.

  • Right now I have no radar mounted on amy bike or car.  It is labtory sample now and I use 1432 Boost EVM.  After the labtory I will test in my engineering target board.

  • Currently we do not offer a solution that showcases 2nd profile configuration for the bsd demo. What application are you trying to switch to from bsd by reconfiguring the device?

  • Please see if see you can verify both configs against in the sensing estimator

    https://dev.ti.com/gallery/view/mmwave/mmWaveSensingEstimator/ver/2.4.0/

  • The contents of the 2nd profile are correctly. The problem is not the 2nd profile is right or wrong.

    If I set the 2nd profile is exactly same as the 1st one,  the radar still can not reopen the sensor when it try to execute the sensorStart.

  • We hope to use the different profiles when the vehicle has different speed Vs.

    That is why we make the radar can reload the 2nd profile.

  • Steven, what is the max Velocity you are looking to detect? The current bsd demo can detect upto 144 km/hr.

    Chinese remainder algorithm implemented in the bsd demo allows us to preform velocity extension. It uses a slow and fast frame, already 2 different chirp profiles.

  • I tried the demo example in the C:\ti\MMWAVE_L_SDK_05_05_00_02\examples\mmw_demo. It can reload the 2nd profile.  However I can not figure out why the bsd demo which is based on the same SDK but it can not.  Is there a simple way to get arround this issue in the bsd demo?

  • Hi Steven. Based on your reply,"We hope to use the different profiles when the vehicle has different speed Vs." my assumption is you want to preform velocity disambiguation. Please look at the code in dpc execute in the bsd demo. Frame reconfiguration is already happening in the code for vmax extension in timerISR

  • In my application, the radar need to reload a new profile based on the different speed Vs.  There are totally three profiles in my bsd application to meet the application request.When the Vs is the slower speed, the radar will load the appropiate profile to have shorter range resolution and the better doppler resolution. We do not perform velocity disambiguration.  We believe TI bsd demo has done this  disambiguration well enough. I wonder whether TI can add reloading profile capability in the near future if it is not so difficult to your team.

  • It makes sense now, thankyou for explaining. Are you able to do the above with the out of box demo? If so can you tell me your process?

  • Yes, we try and make sure SDK-L-5.5.0.2 TI mmwave_demo example can reload the 2nd or 3rd profile.  We use the TI tool visualizer to load a TI profile in the profiles folder and then, without reset or power off/on the radar, reload another TI profile in the profiles folder.  From the DOS command console, we can see the 2nd profile reload into the radar and the radar worked just fine.  

    We also creat an application based on the SDK-L-5.5.0.2 TI mmwave_demo example. Our application load a default profile after the radar power on.  Then we make a our own CLI command, for test only, to reload another profile.  The 2nd and 3rd profile are written in the application program.  After the CLI command is received, our application can automatically reload the 2nd or 3rd profile.  In this case, our application can also reload the 2nd and 3rd successfully.

  • Thankyou for explaining your process Steven. At this point feature is not supported in the bsd demo but you can make modifications to existing code which should allow you to enable this feature. The following code in demo.c in bsd is intended to implement sensorstop. You need to add code that stops the timer in BSD. Hopefully this should be the only modification needed, once this is done you should be hypothetically able to load 2nd profile

    if(sensorStop == 1)
    {
    int32_t err;
    // Stop and Close the front end
    MMWave_stop(gMmwMssMCB.ctrlHandle,&err);
    MMWave_close(gMmwMssMCB.ctrlHandle,&err);
    // Delete the exisitng profile as we receive a new configuration
    MMWave_delProfile(gMmwMssMCB.ctrlHandle,gMmwMssMCB.mmwCtrlCfg.frameCfg[0].profileHandle[0],&err);
    // Free up all the edma channels and close the EDMA interface
    mmwDemo_freeDmaChannels(gEdmaHandle[0]);
    Drivers_edmaClose();
    EDMA_deinit();
    // Demo Stopped
    rangeProcHWAObj* temp = gMmwMssMCB.rangeProcDpuHandle;
    temp->inProgress = false;
    gMmwMssMCB.oneTimeConfigDone = 0;
    // Re-init the EDMA interface for next configuration
    EDMA_init();
    Drivers_edmaOpen();
    gMmwMssMCB.stats.frameStartIntCounter = 0;
    sensorStop = 0;
    isSensorStarted = 0;

    // Delete the DPC, TLV as we will create them again in next configuration
    vTaskDelete(gDpcTask);
    vTaskDelete(NULL);

    }

  • Dear 

    I followed your instruction to stop the timer as below. However, it did not work at all.  It was even worse.  After the modification, the radar can even not load 1st profile successfully, no mention to the 2nd profile.  The radar can not "config" the sensor when it try to startSensor after load the 1st profile. It show the message " Error: mmWave Config failed [Error code: -3110 Subsystem: 0]

    I want to know if your team is going to add the reload profile as a new feature in the new versioned bsd demo?  If so, I may wait until TI releases the new versioned bsd demo.  Otherwise, I think I do not have enough knowledge to modify the code to reload profile successfully.  Thanks your help.

     

    if(sensorStop == 1)
    {
    int32_t err;
    // Stop and Close the front end
    MMWave_stop(gMmwMssMCB.ctrlHandle,&err);
    MMWave_close(gMmwMssMCB.ctrlHandle,&err);
    // Delete the exisitng profile as we receive a new configuration
    MMWave_delProfile(gMmwMssMCB.ctrlHandle,gMmwMssMCB.mmwCtrlCfg.frameCfg[0].profileHandle[0],&err);
    // Free up all the edma channels and close the EDMA interface
    mmwDemo_freeDmaChannels(gEdmaHandle[0]);
    Drivers_edmaClose();
    EDMA_deinit();

    ////////////////////////////////////////////////////////////////////////////

    //   I stop the timer here

       TimerP_stop(gTimerBaseAddr[CONFIG_TIMER0]);

       gMmwMssMCB.isFirstFrameIsrExecuted= false;

    ////////////////////////////////////////////////////////////////////////////
    // Demo Stopped
    rangeProcHWAObj* temp = gMmwMssMCB.rangeProcDpuHandle;
    temp->inProgress = false;
    gMmwMssMCB.oneTimeConfigDone = 0;
    // Re-init the EDMA interface for next configuration
    EDMA_init();
    Drivers_edmaOpen();
    gMmwMssMCB.stats.frameStartIntCounter = 0;
    sensorStop = 0;
    isSensorStarted = 0;

    // Delete the DPC, TLV as we will create them again in next configuration
    vTaskDelete(gDpcTask);
    vTaskDelete(NULL);

    }

  • Hi Steven

    I want to know if your team is going to add the reload profile as a new feature in the new versioned bsd demo? No we do not intend to add it

    For the 1st profile that you send please remove sensorStop from the first line of code, hopefully it will get the 1st profile to work. Then when you send 2nd profile with sensorStop it will stop the timer

  • Hi Zorah,

    I take off the sensorStop from the 1st profile.  However,  it does not work for reloading the 2nd profile.  Hope to get more helps from you. Thanks. 

  • Hi Steven, I'm sorry it does not work. At this point we have no plans of integrating this feature. Thankyou

  • Hi Zorah, we found out the ISR, named mmwDemoFrameStartISR was not invoked at all.  This ISR should be triggered by RF to execute according to the bsd demo timing diagram. Do you have any idea why the RF did not trigger the ISR?  What should I try next?  Your opinion is precious to me.

  • Hi Steven. We have a new release of BSD scheduled next week which should hopefully resolve your issue. I used the preliminary version of the release to load a configuration to bsd via toolbox visualizer and then loaded a second configuration using the same visualizer as you described in the steps above, the configuration was sent successfully and the radar frame counter restarted from 0 which points towards it working in the same way the out of box demo was working for you

  • Please do note that the sdk visualizer is not recommended to be run with the bsd demo. You should use the MATLAB gui provided as part of the package