cancel
Showing results for 
Search instead for 
Did you mean: 

TOF L3 Module: Measurement Error (Status 255) with Abnormal Ambient Count During Fast Target Switching

qqzlqqzlqqzl
Associate III

Hi ST team,

We are encountering an intermittent issue while using the TOF L3 module in a mid-range distance measurement setup. Below are the details: TOF frame rate: 30ms. Readout rate: 50ms. Distance mode: Medium range.

Issue Description: When a stable target is present within the TOF field of view, it measures correctly. However, if a hand is moved quickly back and forth between the TOF and the target, an error frame occasionally appears. This frame has:

  • Distance status: 255

  • Distance value: 8191mm
    The following frame typically reports:

  • Distance status: 12

  • A valid distance value (matching the original target)

Observations and Questions:

  1. All frames with status 255 appear on odd-numbered frames (i.e., those with smaller pulse intervals);

  2. These frames have abnormally high ambient light count rates (around 6x normal), even though the histogram data appears almost identical to normal frames;

  3. We suspect this high ambient count rate might be causing the signal to be discarded by the internal processing, leading to a missed range result;

  4. The next frame (status 12) often contains two target peaks in the histogram (near and far), where the first peak (closer) has a low amplitude (~200), which seems reasonable given status 12 indicates weak signal;

  5. We are wondering:

    • Are odd frames used for ambient count estimation?

    • If so, how is ambient count determined on even frames? We noticed some inconsistencies between odd/even frame ambient values.

Request for Support:

  • What could be the root cause of the unusually high ambient count during these error frames?

  • Could this be due to interference, saturation, or some internal processing logic?

  • Are there any recommended configurations or handling approaches to mitigate this issue?

We have collected both histogram and range data for the failing cases.

qqzlqqzlqqzl_0-1748226263194.png

We need the distance value when the status is 255 because we want to know whether the TOF failed to detect a target at that moment.

Thank you in advance for your support.

1 ACCEPTED SOLUTION

Accepted Solutions
John E KVAM
ST Employee

This is what happens with fast motion...

The sensor integrates the scene for somewhere between 10 and 100ms (or more). And at the end, it evaluates the data. 

So, if you move your hand quickly in and out, the data the sensor gets doesn't look like a real target. Essentially it sees a blur.

So, 255 means, "I'm really confused and cannot make a sound decision."

Generally, depending on the speed of your integration or the speed of your hand, it will miss one, and get the next. 

I'm going to guess - and it's only a guess - that the distance register is just left over from the last range. 

So, if you get a 255, you must assume motion. And see if you can get a range on the next try. 

- 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.

View solution in original post

4 REPLIES 4
qqzlqqzlqqzl
Associate III

The histogram should be read from top to bottom, with each bar chart representing one frame of data. 'Error data' indicates frames that we consider to be erroneous. The test method involves waving a hand repeatedly in front of the TOF sensor, with a fixed target located about 1 meter away. The hand is approximately 50 cm from the TOF sensor.

John E KVAM
ST Employee

This is what happens with fast motion...

The sensor integrates the scene for somewhere between 10 and 100ms (or more). And at the end, it evaluates the data. 

So, if you move your hand quickly in and out, the data the sensor gets doesn't look like a real target. Essentially it sees a blur.

So, 255 means, "I'm really confused and cannot make a sound decision."

Generally, depending on the speed of your integration or the speed of your hand, it will miss one, and get the next. 

I'm going to guess - and it's only a guess - that the distance register is just left over from the last range. 

So, if you get a 255, you must assume motion. And see if you can get a range on the next try. 

- 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.

Thank you for your reply. I still have a question: why is the histogram of the error data normal, but the distance measurement is abnormal?

John E KVAM
ST Employee

When the sensor gets confused enough that it cannot continue, it reports the 255 and does not move any of the data from the ranging side of the sensor to the I2C side of the sensor. 

That's why your failing histogram looks exactly like the histogram 2 before.  It's simply stale data. 

And there is some double buffering going on - that's why it does not match the one directly above.

Once you get the 255, don't trust any of the other data. 

- 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.