From 636782375ec1ea86c99afce04f7375355d9f2ac7 Mon Sep 17 00:00:00 2001 From: Michael du Breuil Date: Sun, 13 May 2018 00:31:37 -0700 Subject: [PATCH] AP_Proximity: Revert an excessive scan introduced in #8375 Also removes 2 unneeded initilizers, and removes an unneeded runtime check --- libraries/AP_Proximity/AP_Proximity.cpp | 2 -- libraries/AP_Proximity/AP_Proximity_RangeFinder.cpp | 6 +++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/libraries/AP_Proximity/AP_Proximity.cpp b/libraries/AP_Proximity/AP_Proximity.cpp index 3f3d52c1d8..b8f0eec50a 100644 --- a/libraries/AP_Proximity/AP_Proximity.cpp +++ b/libraries/AP_Proximity/AP_Proximity.cpp @@ -175,8 +175,6 @@ const AP_Param::GroupInfo AP_Proximity::var_info[] = { }; AP_Proximity::AP_Proximity(AP_SerialManager &_serial_manager) : - primary_instance(0), - num_instances(0), serial_manager(_serial_manager) { AP_Param::setup_object_defaults(this, var_info); diff --git a/libraries/AP_Proximity/AP_Proximity_RangeFinder.cpp b/libraries/AP_Proximity/AP_Proximity_RangeFinder.cpp index 8d810bbcc5..05f71b8f89 100644 --- a/libraries/AP_Proximity/AP_Proximity_RangeFinder.cpp +++ b/libraries/AP_Proximity/AP_Proximity_RangeFinder.cpp @@ -24,6 +24,7 @@ extern const AP_HAL::HAL& hal; AP_Proximity_RangeFinder::AP_Proximity_RangeFinder(AP_Proximity &_frontend, AP_Proximity::Proximity_State &_state) : + _distance_upward(-1), AP_Proximity_Backend(_frontend, _state) { } @@ -41,7 +42,7 @@ void AP_Proximity_RangeFinder::update(void) uint32_t now = AP_HAL::millis(); // look through all rangefinders - for (uint8_t i=0; i < RANGEFINDER_MAX_INSTANCES; i++) { + for (uint8_t i=0; i < rngfnd->num_sensors(); i++) { AP_RangeFinder_Backend *sensor = rngfnd->get_backend(i); if (sensor == nullptr) { continue; @@ -84,8 +85,7 @@ void AP_Proximity_RangeFinder::update(void) // get distance upwards in meters. returns true on success bool AP_Proximity_RangeFinder::get_upward_distance(float &distance) const { - if ((_last_upward_update_ms != 0) && - (AP_HAL::millis() - _last_upward_update_ms <= PROXIMITY_RANGEFIDER_TIMEOUT_MS) && + if ((AP_HAL::millis() - _last_upward_update_ms <= PROXIMITY_RANGEFIDER_TIMEOUT_MS) && is_positive(_distance_upward)) { distance = _distance_upward; return true;