Proximity and Proximity_backend does not update RangeFinder data correctly or on time

In the proximity view, the distance can’t be cleared up when the obstacle is removed.
I use 2xTFmin plus I2C and TF02. It occurs the rover does not run.
some time it can be cleared up, most time can’t for very long time, some time take couple second or couple minutes. even the status is not Proximity_Good
How I can force to clear up dist_array.

It looks RangeFinder and RangeFinder_Backend is correct the status and its distance is updated by obstacle real time.
But Proximity and Proximity_backend does not update RangeFinder data correctly or on time, I think.

I may get reason. My TF02 has longer detect range, so its distance is RangeFinder_OutOfRangeHigh and hasData always.
So in AP_Proximity_RangeFinder::update, line 50, if (sensor->has_data()) {}
is true. The result is AP_Proximity::Proximity_Good.
I changed sensor->status() == 4 (RangeFinder_Status::RangeFinder_Good) in line 50. It could fix the issue.
In this case, I use one TF02 and two TFmini plus both.
I am not sure it is correct or not.

Hi @lumono. Are you trying to use the object database/ path planning algorithms that ardupilot supports? Just like you, I was using the Tfmini plus and noticed the same bug a couple of weeks back.
The issue was that out of range data was being pushed into Object avoidance database without checking for the validity.
This has now been fixed in master but not yet available on released versions.
You can possibly update your firmware to current Master, but beware that Master can possibly have a lot of undescovered bugs that public release’s do not.