diff --git a/conf/airframes/tudelft/cyfoam.xml b/conf/airframes/tudelft/cyfoam.xml index 13f02a8146..dd70fdc532 100644 --- a/conf/airframes/tudelft/cyfoam.xml +++ b/conf/airframes/tudelft/cyfoam.xml @@ -313,7 +313,9 @@ - + + + diff --git a/conf/airframes/tudelft/nederdrone4.xml b/conf/airframes/tudelft/nederdrone4.xml index 7dbfb5580d..a50cc78880 100644 --- a/conf/airframes/tudelft/nederdrone4.xml +++ b/conf/airframes/tudelft/nederdrone4.xml @@ -108,6 +108,10 @@ + + + + diff --git a/conf/airframes/tudelft/nederdrone4_tem.xml b/conf/airframes/tudelft/nederdrone4_tem.xml index 1b643f7912..410f2f1ece 100644 --- a/conf/airframes/tudelft/nederdrone4_tem.xml +++ b/conf/airframes/tudelft/nederdrone4_tem.xml @@ -77,7 +77,7 @@ - + @@ -97,6 +97,10 @@ + + + + diff --git a/conf/airframes/tudelft/nederdrone5.xml b/conf/airframes/tudelft/nederdrone5.xml index f5e26b2dd2..8e576d9875 100644 --- a/conf/airframes/tudelft/nederdrone5.xml +++ b/conf/airframes/tudelft/nederdrone5.xml @@ -104,6 +104,10 @@ + + + + diff --git a/conf/airframes/tudelft/nederdrone6.xml b/conf/airframes/tudelft/nederdrone6.xml index af50bfd205..7aec7060a6 100644 --- a/conf/airframes/tudelft/nederdrone6.xml +++ b/conf/airframes/tudelft/nederdrone6.xml @@ -128,6 +128,10 @@ + + + + diff --git a/conf/airframes/tudelft/nederdrone7.xml b/conf/airframes/tudelft/nederdrone7.xml index 141413aee7..be20bc2cdd 100644 --- a/conf/airframes/tudelft/nederdrone7.xml +++ b/conf/airframes/tudelft/nederdrone7.xml @@ -127,6 +127,10 @@ + + + + diff --git a/conf/airframes/tudelft/nederdrone8.xml b/conf/airframes/tudelft/nederdrone8.xml index c8b5204e30..96b8a3768d 100644 --- a/conf/airframes/tudelft/nederdrone8.xml +++ b/conf/airframes/tudelft/nederdrone8.xml @@ -127,6 +127,10 @@ + + + + diff --git a/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.c b/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.c index 204dc06578..bcecac685b 100644 --- a/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.c +++ b/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.c @@ -360,9 +360,18 @@ static void guidance_h_update_reference(void) guidance_h.ref.accel.x = ACCEL_BFP_OF_REAL(gh_ref.accel.x); guidance_h.ref.accel.y = ACCEL_BFP_OF_REAL(gh_ref.accel.y); } else { - VECT2_COPY(guidance_h.ref.pos, guidance_h.sp.pos); - INT_VECT2_ZERO(guidance_h.ref.speed); - INT_VECT2_ZERO(guidance_h.ref.accel); + if (nav.setpoint_mode == NAV_SETPOINT_MODE_POS) { + VECT2_COPY(guidance_h.ref.pos, guidance_h.sp.pos); + INT_VECT2_ZERO(guidance_h.ref.speed); + INT_VECT2_ZERO(guidance_h.ref.accel); + } else { //(nav.setpoint_mode == NAV_SETPOINT_MODE_SPEED) + guidance_h.ref.pos.x = stateGetPositionNed_i()->x; + guidance_h.ref.pos.y = stateGetPositionNed_i()->y; + guidance_h.ref.speed.x = guidance_h.sp.speed.x; + guidance_h.ref.speed.y = guidance_h.sp.speed.y; + guidance_h.ref.accel.x = 0; + guidance_h.ref.accel.y = 0; + } // TODO: make accel ref set } #if GUIDANCE_H_USE_SPEED_REF