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.

IWR1443: Suspending code operation for a iwr1443 part

Part Number: IWR1443

Hi Michelle,

You have partially addressed my question.  Yes, trying to put in a delay while the part is chirping but I tried to issue a sensor stop command to stop the part from chirping before I attempt a delay.  Please correct me if I am wrong but through the command line, if I issue a sensorStop command, the part stops chirping.  This command calls the function  MmwDemo_CLISensorStop. This function calls to other functions, i.e., MmwDemo_notifySensorStop and MmwDemo_waitSensorStopComplete.  When I step through these commands with a debugger, I can step through the MmwDemo_notifySensorStop function but not the MmwDemo_waitSensorStopComplete function since it is waiting for an event to finish.  My question is how can I push the event to happen so I can stop the part from chirping?

Thanks.

Al

  • Allen,

    Just to understand your goal, you don't want to use the sensorStop cli command to stop the chirping, but based on other logic and use internal function to stop chirping? Do you want to startSensor after this? If you can provide the context of this code modification, we can better help you.

    Thanks and Regards,
    Michelle
  • Hi Michelle,

    Thank you very much for responding.  Using the sensorStop command is fine but I have to execute the command internally.  The sensorStop CLI command calls MmwDemo_CLISensorStop which then calls MmwDemo_notifySensorStop and MmwDemo_waitSensorStopComplete. When I call these two commands, only MmwDemo_notifySensorStop completes and MmwDemo_waitSensorStopComplete hangs while waiting for an event to occur.  So I would like to know how to generate this event or have an alternate approach to stop the chirping. Yes, after the chirping stops and I do what I would like done, I would restart the chirping using the function that the sensorStart CLI command uses.

    Thanks.

    Al

  • Al,

    I'm not sure why it hangs, I've asked the expert for help and will get back to you later.

    In the meantime, I wonder if you've looked at the demo doxygen, file:///C:/ti/mmwave_sdk_01_02_00_05/packages/ti/demo/xwr14xx/mmw/docs/doxygen/html/index.html

    There is a stop pending step in the diagram attached here:

    Regards,

    Michelle

  • Hi Michelle,

    Yes I am aware of  this diagram.  I am inserting my code in the function MmwDemo_dataPathTask.  A brief layout of  this function is

    MmwDemo_dataPathTask

    while(1)

    {

      Semaphore_pend(dataPathObj->frameStart_semHandle, BIOS_WAIT_FOREVER);
        
            Load_update();
            dataPathObj->timingInfo.interFrameCPULoad=Load_getCPULoad();
        
            MmwDemo_dataPathWait1D(dataPathObj);
            /* 1st Dimension FFT done! */

     /* Clutter removal */

            if (dataPathObj->cliCfg->clutterRemovalCfg.enabled)

             {

                for (rngIdx = 0; rngIdx < dataPathObj->numRangeBins; rngIdx++)
              {
                    for (antIdx = 0; antIdx < dataPathObj->numVirtualAntennas; antIdx++)
                    {
                        for (dopIdx = 0; dopIdx < dataPathObj->numDopplerBins; dopIdx++

                        {

                        }

                   }

    My stuff added here

           }

            MmwDemo_process2D(dataPathObj);
            /* 2nd Dimension FFT done! */

    }

    I am adding my code in the clutter removal section.  I have to assume that for the event of stopping the chirping has to wait for the appropriate time.

    Al

  • Hi A

    All post processing is after acquisition and 1D FFT, before next frame starts. Why don't you just make frame period longer? 

    The way you described is to stop a frame in the middle of post-processing and then re-start it. It doesn't make sense to me.

    Thanks and Regards,

    Michelle

    l,

    As seen in this diagram:

  • Hi Michelle,

    My application involves only sensing distance and I only have to be aware of one target.  The only processing I need is the 1st fft.  SInce I do not need doppler or aoa, the other processing is of no value to me.  I am currently collecting four chirps per frame since the way the clutter removal is performed, one has to have multiple chirps in a frame.  In my case the clutter is truly static so one should be able to obtain this information once up front and not do the collection each frame.

    My application requires a large update rate so I need a short frame time period.  I also am not sending any data through the uart.  I would like to use one transmitter antenna, one receiving antenna and one chirp per frame to maximize my frame rate.  

    The place I would like to stop the frame if a particular event has occurred is after the 1st fft and during the simple processing I need to perform.  Not all my events require me to pause before I acquire the next frame.

    Al