Skip to content

Commit

Permalink
Fix range status comparison
Browse files Browse the repository at this point in the history
  • Loading branch information
Lyr3x committed Dec 26, 2021
1 parent b432c90 commit a10126f
Showing 1 changed file with 7 additions and 8 deletions.
15 changes: 7 additions & 8 deletions components/roode/roode.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -90,21 +90,20 @@ namespace esphome

bool Roode::handleSensorStatus()
{
static const char *statusString = VL53L1X::rangeStatusToString(sensor_status); // This function call will manipulate the range_status variable
const char *statusString = VL53L1X::rangeStatusToString(sensor_status); // This function call will manipulate the range_status variable
ESP_LOGD(TAG, "Sensor status: %d, Last sensor status: %d", sensor_status, last_sensor_status);

if (last_sensor_status == sensor_status && sensor_status == VL53L1X::RangeStatus::RangeValid)
if (last_sensor_status == sensor_status && sensor_status == 0)
{
if (status_sensor != nullptr)
{
status_sensor->publish_state(statusString);
}
return true;
}
if (sensor_status != VL53L1X::RangeStatus::RangeValid && sensor_status != VL53L1X::RangeStatus::SignalFail && sensor_status != VL53L1X::RangeStatus::WrapTargetFail)
if (sensor_status != 0 && sensor_status != 2 && sensor_status != 7)
{
ESP_LOGE(TAG, "Ranging failed with an error. status: %d, error: %s", sensor_status, statusString);

return false;
}
return true;
Expand All @@ -126,10 +125,10 @@ namespace esphome
distance = distanceSensor.read();
distanceSensor.writeReg(distanceSensor.SYSTEM__MODE_START, 0x80); // stop reading
sensor_status = distanceSensor.ranging_data.range_status;
// if (!handleSensorStatus())
// {
// return;
// }
if (!handleSensorStatus())
{
return;
}

if (use_sampling_)
{
Expand Down

0 comments on commit a10126f

Please sign in to comment.