cancel
Showing results for 
Search instead for 
Did you mean: 

What does mean "RANGE_STATUS = 7 (WRAPPED_TARGET) - VL53l1X

lucazittu
Associate

Hi @STM Community​ ,

i am using XNUCLEO 53l1A1 with 3 ToF (interrupt mode).

This is my pseudo-code:

1- Sensor = LeftSensor

2- StartMeasurment()

3- Interrupt Received?

  • if yes:

4- GetRangingMeasurmentData()

5- ClearInterruptAndStartMeasurment()

6- StopMeasurment()

7- Select Next Sensor

8- Go to 2

  • if no: wait

with:

status = VL53L1_SetDistanceMode(Dev, VL53L1_DISTANCEMODE_LONG);

status = VL53L1_SetMeasurementTimingBudgetMicroSeconds(Dev, 33000);

status = VL53L1_SetInterMeasurementPeriodMilliSeconds(Dev, 40);

BLACK COVER GLASS INSTALLED

Very Often RANGE STATUS field value (on VL53L1_RangingMeasurementData_t struct) is equal to 7 VL53L1_RANGESTATUS_WRAP_TARGET_ FAIL (Wrapped target, not matching phases).

Does anyone know the reason?

Thanks

4 REPLIES 4
John E KVAM
ST Employee

Background: The sensor conducts 2 separate ranges with different pulse periods. By doing this we can detect "Radar Aliasing", and correct it (up to a point.)

The 7 isn't so much an error - it's really a warning. We cannot guarantee the answer is correct, so we are letting you know

The 7 error can occur 3 ways.

One is when Radar Aliasing is present. Radar Aliasing is when the photons from pulse N do not return until after pulse N+1, giving a wrong answer. This generally doesn't unless you are looking at a mirror at long distances.

Two is  when you have a target and the ceiling, the standard deviation is so big that between 2 ranges you have a big phase difference in the measurements. This topology will report error 7…

The third way is when there is motion. Range A and Range B are both valid, but not the same.

So what to do?

Radar aliasing is unlikely unless you are looking at a reflective surface (mirror) straight on.

The second case is tricky. The near object is probably closer than the number we return.

Go slow and take more measurements. As you get closer the near object will fill more of the Field-of-view and you will get a good range.

Lastly,

If you know you are moving, Both the A range and the B range were possibly correct. The difference was due to your motion. So you may accept the answer.

  • john

If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.
lucazittu
Associate

Thank you very much, Jonh.

UStei
Associate II

and what does the RangeError 4 mean?

VL53L1_RANGESTATUS_OUTOFBOUNDS_FAIL = Raised when phase is out of bound

John E KVAM
ST Employee

The short answer is the system is getting photons received in time slots we don't expect. This can happen when photons from a prior 'ping' are returned after the current ping goes out. Generally at the limit of what we can detect. I've seen it when ranging on a very reflective surface, like a stop sign, at 4M+  It's a warning that you are at the limit of what we can detect. Any farther than that, you will get legitimate answers that are several meters too close due to that aliasing. For most surfaces the signal rate will drop too low as you get that far away, but for mirrors and very reflective surfaces, you will have to consider the error codes and due some experimentation on the environment


If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.