mirror of https://github.com/ArduPilot/ardupilot
added baro_alt_offset back in. Filtering out the effect over time.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1925 f9c3cf11-9bcb-44bc-f272-b75c42450872
This commit is contained in:
parent
78510636db
commit
bc7c797fd6
|
@ -313,6 +313,7 @@ int ground_temperature;
|
|||
// ----------------------
|
||||
int sonar_alt;
|
||||
int baro_alt;
|
||||
int baro_alt_offset;
|
||||
byte altitude_sensor = BARO; // used to know which sensor is active, BARO or SONAR
|
||||
|
||||
// flight mode specific
|
||||
|
@ -766,6 +767,11 @@ void slow_loop()
|
|||
tuning();
|
||||
#endif
|
||||
|
||||
|
||||
// filter out the baro offset.
|
||||
if(baro_alt_offset > 0) baro_alt_offset--;
|
||||
if(baro_alt_offset < 0) baro_alt_offset++;
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -1165,18 +1171,20 @@ void update_alt()
|
|||
current_loc.alt = g_gps->altitude;
|
||||
#else
|
||||
if(g.sonar_enabled){
|
||||
// filter out offset
|
||||
|
||||
// read barometer
|
||||
baro_alt = read_barometer();
|
||||
|
||||
// XXX temp removed fr debugging
|
||||
//filter out bad sonar reads
|
||||
//int temp = sonar.read();
|
||||
int temp = sonar.read();
|
||||
|
||||
//if(abs(temp - sonar_alt) < 300){
|
||||
// sonar_alt = temp;
|
||||
//}
|
||||
if(abs(temp - sonar_alt) < 300){
|
||||
sonar_alt = temp;
|
||||
}
|
||||
|
||||
sonar_alt = sonar.read();
|
||||
//sonar_alt = sonar.read();
|
||||
|
||||
// output a light to show sonar is working
|
||||
update_sonar_light(sonar_alt > 100);
|
||||
|
@ -1192,12 +1200,15 @@ void update_alt()
|
|||
|
||||
if(sonar_alt < 400){
|
||||
altitude_sensor = SONAR;
|
||||
baro_alt_offset = sonar_alt - baro_alt;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// calculate our altitude
|
||||
if(altitude_sensor == BARO){
|
||||
current_loc.alt = baro_alt + home.alt;
|
||||
current_loc.alt = baro_alt + baro_alt_offset + home.alt;
|
||||
}else{
|
||||
current_loc.alt = sonar_alt + home.alt;
|
||||
}
|
||||
|
|
|
@ -390,7 +390,7 @@
|
|||
# define NAV_WP_D 15 // not sure about at all
|
||||
#endif
|
||||
#ifndef NAV_WP_IMAX
|
||||
# define NAV_WP_IMAX 20 // 20 degrees
|
||||
# define NAV_WP_IMAX 30 // 20 degrees
|
||||
#endif
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -406,7 +406,7 @@
|
|||
# define THROTTLE_BARO_D 0.1
|
||||
#endif
|
||||
#ifndef THROTTLE_BARO_IMAX
|
||||
# define THROTTLE_BARO_IMAX 80
|
||||
# define THROTTLE_BARO_IMAX 50
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -420,7 +420,7 @@
|
|||
# define THROTTLE_SONAR_D 0.1
|
||||
#endif
|
||||
#ifndef THROTTLE_SONAR_IMAX
|
||||
# define THROTTLE_SONAR_IMAX 80
|
||||
# define THROTTLE_SONAR_IMAX 60
|
||||
#endif
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue