diff --git a/conf/telemetry/default_fixedwing.xml b/conf/telemetry/default_fixedwing.xml
index 9e194b9850..a137b71f3a 100644
--- a/conf/telemetry/default_fixedwing.xml
+++ b/conf/telemetry/default_fixedwing.xml
@@ -70,6 +70,7 @@
+
diff --git a/conf/telemetry/fixedwing_flight_recorder.xml b/conf/telemetry/fixedwing_flight_recorder.xml
index 32b1483bb4..ba2f7a53c9 100644
--- a/conf/telemetry/fixedwing_flight_recorder.xml
+++ b/conf/telemetry/fixedwing_flight_recorder.xml
@@ -119,6 +119,7 @@
+
@@ -128,6 +129,7 @@
+
@@ -136,6 +138,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sw/airborne/modules/nav/common_nav.h b/sw/airborne/modules/nav/common_nav.h
index 873899cb47..9dc0372669 100644
--- a/sw/airborne/modules/nav/common_nav.h
+++ b/sw/airborne/modules/nav/common_nav.h
@@ -84,6 +84,13 @@ extern float get_time_to_home(void); /* estimated time to home point in seconds
false; \
})
+#define NavSetWaypointHereSend(_wp) ({ \
+ waypoints[_wp].x = stateGetPositionEnu_f()->x; \
+ waypoints[_wp].y = stateGetPositionEnu_f()->y; \
+ RunOnceEvery(NAVIGATION_FREQUENCY/1, {nav_send_waypoint(_wp);}) \
+ false; \
+ })
+
#define NavSetWaypointPosAndAltHere(_wp) ({ \
waypoints[_wp].x = stateGetPositionEnu_f()->x; \
waypoints[_wp].y = stateGetPositionEnu_f()->y; \
@@ -91,4 +98,10 @@ extern float get_time_to_home(void); /* estimated time to home point in seconds
false; \
})
+#define NavSetWaypointDistBehind(_wp, _ref, dist) ({ \
+ waypoints[_wp].x = waypoints[_ref].x - dist*sin(stateGetNedToBodyEulers_f()->psi); \
+ waypoints[_wp].y = waypoints[_ref].y - dist*cos(stateGetNedToBodyEulers_f()->psi); \
+ false; \
+})
+
#endif /* COMMON_NAV_H */