diff --git a/conf/airframes/fraser_lisa_m_rotorcraft.xml b/conf/airframes/fraser_lisa_m_rotorcraft.xml index 90e696b2af..e564c86dfe 100644 --- a/conf/airframes/fraser_lisa_m_rotorcraft.xml +++ b/conf/airframes/fraser_lisa_m_rotorcraft.xml @@ -25,7 +25,7 @@ - + diff --git a/sw/airborne/subsystems/ahrs/ahrs_int_cmpl.c b/sw/airborne/subsystems/ahrs/ahrs_int_cmpl.c index f25d78149b..5ed6e29148 100644 --- a/sw/airborne/subsystems/ahrs/ahrs_int_cmpl.c +++ b/sw/airborne/subsystems/ahrs/ahrs_int_cmpl.c @@ -23,7 +23,6 @@ // TODO // // gravity heuristic -// gps update for yaw on fixed wing ? // #include "subsystems/ahrs/ahrs_int_cmpl.h" @@ -321,6 +320,60 @@ void ahrs_update_gps(void) { ahrs_impl.ltp_vel_norm_valid = FALSE; } #endif + +#if AHRS_USE_GPS_HEADING && USE_GPS + //got a 3d fix and ground speed is more than 0.5 m/s + if(gps.fix == GPS_FIX_3D && gps.gspeed>= 500) { + // gps.course is in rad * 1e7, we need it in rad * 2^INT32_ANGLE_FRAC + int32_t course = gps.course * ((1<