Browse Source

AP_AHRS: added vehicle class to AHRS

used by EKF to control use of get_fly_forward()
master
Andrew Tridgell 11 years ago
parent
commit
c8c6e05a4a
  1. 19
      libraries/AP_AHRS/AP_AHRS.h
  2. 2
      libraries/AP_AHRS/AP_AHRS_DCM.h
  3. 2
      libraries/AP_AHRS/AP_AHRS_NavEKF.h

19
libraries/AP_AHRS/AP_AHRS.h

@ -33,11 +33,20 @@ @@ -33,11 +33,20 @@
#define AP_AHRS_TRIM_LIMIT 10.0f // maximum trim angle in degrees
enum AHRS_VehicleClass {
AHRS_VEHICLE_UNKNOWN,
AHRS_VEHICLE_GROUND,
AHRS_VEHICLE_COPTER,
AHRS_VEHICLE_FIXED_WING,
};
class AP_AHRS
{
public:
// Constructor
AP_AHRS(AP_InertialSensor &ins, AP_Baro &baro, AP_GPS &gps) :
_vehicle_class(AHRS_VEHICLE_UNKNOWN),
_compass(NULL),
_ins(ins),
_baro(baro),
@ -87,6 +96,14 @@ public: @@ -87,6 +96,14 @@ public:
return _flags.fly_forward;
}
AHRS_VehicleClass get_vehicle_class(void) const {
return _vehicle_class;
}
void set_vehicle_class(AHRS_VehicleClass vclass) {
_vehicle_class = vclass;
}
void set_wind_estimation(bool b) {
_flags.wind_estimation = b;
}
@ -308,6 +325,8 @@ public: @@ -308,6 +325,8 @@ public:
uint8_t get_active_accel_instance(void) const { return _active_accel_instance; }
protected:
AHRS_VehicleClass _vehicle_class;
// settable parameters
AP_Float beta;
AP_Int8 _gps_use;

2
libraries/AP_AHRS/AP_AHRS_DCM.h

@ -26,7 +26,7 @@ class AP_AHRS_DCM : public AP_AHRS @@ -26,7 +26,7 @@ class AP_AHRS_DCM : public AP_AHRS
public:
// Constructors
AP_AHRS_DCM(AP_InertialSensor &ins, AP_Baro &baro, AP_GPS &gps) :
AP_AHRS(ins, baro, gps),
AP_AHRS(ins, baro, gps),
_last_declination(0),
_mag_earth(1,0)
{

2
libraries/AP_AHRS/AP_AHRS_NavEKF.h

@ -34,7 +34,7 @@ class AP_AHRS_NavEKF : public AP_AHRS_DCM @@ -34,7 +34,7 @@ class AP_AHRS_NavEKF : public AP_AHRS_DCM
public:
// Constructor
AP_AHRS_NavEKF(AP_InertialSensor &ins, AP_Baro &baro, AP_GPS &gps) :
AP_AHRS_DCM(ins, baro, gps),
AP_AHRS_DCM(ins, baro, gps),
EKF(this, baro),
ekf_started(false),
startup_delay_ms(10000)

Loading…
Cancel
Save