Change maxDistance
former logic assumed it was the last distance found, which turns out to not always be the case. Implementing @dkerr64 logic from https://github.com/ratgdo/homekit-ratgdo32/pull/16
This commit is contained in:
parent
9714d659ea
commit
89a5c28a32
|
@ -87,7 +87,14 @@ namespace ratgdo {
|
|||
status = this->distance_sensor_.VL53L4CX_GetMultiRangingData(pDistanceData);
|
||||
objCount = pDistanceData->NumberOfObjectsFound;
|
||||
|
||||
maxDistance = objCount == 0 ? -1 : pDistanceData->RangeData[objCount - 1].RangeMilliMeter;
|
||||
for (int i = 0; i < distanceData.NumberOfObjectsFound; i++) {
|
||||
VL53L4CX_TargetRangeData_t *d = &pDistanceData->RangeData[i];
|
||||
if (d->RangeStatus == 0) {
|
||||
maxDistance = std::max(maxDistance, d->RangeMilliMeter);
|
||||
}
|
||||
}
|
||||
|
||||
//maxDistance = objCount == 0 ? -1 : pDistanceData->RangeData[objCount - 1].RangeMilliMeter;
|
||||
/*
|
||||
* if the sensor is pointed at glass, there are many error -1 readings which will fill the
|
||||
* vector with out of range data. The sensor should be sensitive enough to detect the floor
|
||||
|
|
Loading…
Reference in New Issue