AP_AHRS: pass baro into AP_AHRS
first step in making AHRS handle altitude
This commit is contained in:
parent
df5195e2c9
commit
1e476e511a
@ -37,16 +37,17 @@ class AP_AHRS
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
AP_AHRS(AP_InertialSensor &ins, GPS *&gps) :
|
AP_AHRS(AP_InertialSensor &ins, AP_Baro &baro, GPS *&gps) :
|
||||||
_compass(NULL),
|
_compass(NULL),
|
||||||
_ins(ins),
|
_ins(ins),
|
||||||
_gps(gps),
|
|
||||||
_cos_roll(1.0f),
|
_cos_roll(1.0f),
|
||||||
_cos_pitch(1.0f),
|
_cos_pitch(1.0f),
|
||||||
_cos_yaw(1.0f),
|
_cos_yaw(1.0f),
|
||||||
_sin_roll(0.0f),
|
_sin_roll(0.0f),
|
||||||
_sin_pitch(0.0f),
|
_sin_pitch(0.0f),
|
||||||
_sin_yaw(0.0f)
|
_sin_yaw(0.0f),
|
||||||
|
_baro(baro),
|
||||||
|
_gps(gps)
|
||||||
{
|
{
|
||||||
// load default values from var_info table
|
// load default values from var_info table
|
||||||
AP_Param::setup_object_defaults(this, var_info);
|
AP_Param::setup_object_defaults(this, var_info);
|
||||||
@ -110,6 +111,10 @@ public:
|
|||||||
return _ins;
|
return _ins;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const AP_Baro &get_baro() const {
|
||||||
|
return _baro;
|
||||||
|
}
|
||||||
|
|
||||||
// accelerometer values in the earth frame in m/s/s
|
// accelerometer values in the earth frame in m/s/s
|
||||||
const Vector3f &get_accel_ef(void) const { return _accel_ef; }
|
const Vector3f &get_accel_ef(void) const { return _accel_ef; }
|
||||||
|
|
||||||
@ -305,6 +310,7 @@ protected:
|
|||||||
// note: we use ref-to-pointer here so that our caller can change the GPS without our noticing
|
// note: we use ref-to-pointer here so that our caller can change the GPS without our noticing
|
||||||
// IMU under us without our noticing.
|
// IMU under us without our noticing.
|
||||||
AP_InertialSensor &_ins;
|
AP_InertialSensor &_ins;
|
||||||
|
AP_Baro &_baro;
|
||||||
GPS *&_gps;
|
GPS *&_gps;
|
||||||
|
|
||||||
// a vector to capture the difference between the controller and body frames
|
// a vector to capture the difference between the controller and body frames
|
||||||
|
@ -25,8 +25,8 @@ class AP_AHRS_DCM : public AP_AHRS
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// Constructors
|
// Constructors
|
||||||
AP_AHRS_DCM(AP_InertialSensor &ins, GPS *&gps) :
|
AP_AHRS_DCM(AP_InertialSensor &ins, AP_Baro &baro, GPS *&gps) :
|
||||||
AP_AHRS(ins, gps),
|
AP_AHRS(ins, baro, gps),
|
||||||
_last_declination(0),
|
_last_declination(0),
|
||||||
_mag_earth(1,0)
|
_mag_earth(1,0)
|
||||||
{
|
{
|
||||||
|
@ -32,8 +32,8 @@ class AP_AHRS_NavEKF : public AP_AHRS_DCM
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
AP_AHRS_NavEKF(AP_InertialSensor &ins, GPS *&gps, AP_Baro &baro) :
|
AP_AHRS_NavEKF(AP_InertialSensor &ins, AP_Baro &baro, GPS *&gps) :
|
||||||
AP_AHRS_DCM(ins, gps),
|
AP_AHRS_DCM(ins, baro, gps),
|
||||||
EKF(this, baro),
|
EKF(this, baro),
|
||||||
_baro(baro),
|
_baro(baro),
|
||||||
ekf_started(false),
|
ekf_started(false),
|
||||||
|
Loading…
Reference in New Issue
Block a user