LL40LS: Implement driver-specific filtering based on the datasheet and experiments

This commit is contained in:
Philipp Oettershagen
2018-07-16 21:59:04 +10:00
committed by Paul Riseborough
parent e1f2360560
commit 35bde5c9fc
17 changed files with 105 additions and 7 deletions
+3 -2
View File
@@ -941,7 +941,8 @@ void Ekf2::run()
if (orb_copy(ORB_ID(distance_sensor), _range_finder_subs[_range_finder_sub_index], &range_finder) == PX4_OK) {
// check if distance sensor is within working boundaries
if (range_finder.min_distance >= range_finder.current_distance ||
range_finder.max_distance <= range_finder.current_distance) {
range_finder.max_distance <= range_finder.current_distance ||
range_finder.signal_strength == 0) {
// use rng_gnd_clearance if on ground
if (_ekf.get_in_air_status()) {
range_finder_updated = false;
@@ -951,7 +952,7 @@ void Ekf2::run()
}
}
_ekf.setRangeData(range_finder.timestamp, range_finder.current_distance);
if (range_finder_updated) { _ekf.setRangeData(range_finder.timestamp, range_finder.current_distance); }
// Save sensor limits reported by the rangefinder
_ekf.set_rangefinder_limits(range_finder.min_distance, range_finder.max_distance);