diff --git a/conf/telemetry/default_fixedwing.xml b/conf/telemetry/default_fixedwing.xml
index 65281893a3..bd4bdd0633 100644
--- a/conf/telemetry/default_fixedwing.xml
+++ b/conf/telemetry/default_fixedwing.xml
@@ -26,6 +26,8 @@
+
+
diff --git a/conf/telemetry/default_fixedwing_imu.xml b/conf/telemetry/default_fixedwing_imu.xml
index f295e16397..726ac6f343 100644
--- a/conf/telemetry/default_fixedwing_imu.xml
+++ b/conf/telemetry/default_fixedwing_imu.xml
@@ -28,6 +28,8 @@
+
+
diff --git a/sw/airborne/firmwares/fixedwing/autopilot.c b/sw/airborne/firmwares/fixedwing/autopilot.c
index 47f42b6d83..2b2ada238f 100644
--- a/sw/airborne/firmwares/fixedwing/autopilot.c
+++ b/sw/airborne/firmwares/fixedwing/autopilot.c
@@ -66,7 +66,7 @@ static void send_rc_settings(void) {
uint8_t rc_settings_mode = 0;
#endif
-static void send_mode(void) {
+void autopilot_send_mode(void) {
DOWNLINK_SEND_PPRZ_MODE(DefaultChannel, DefaultDevice,
&pprz_mode, &v_ctl_mode, &lateral_mode, &horizontal_mode, &rc_settings_mode, &mcu1_status);
}
@@ -149,7 +149,7 @@ void autopilot_init(void) {
/* register some periodic message */
register_periodic_telemetry(DefaultPeriodic, "ALIVE", send_alive);
- register_periodic_telemetry(DefaultPeriodic, "PPRZ_MODE", send_mode);
+ register_periodic_telemetry(DefaultPeriodic, "PPRZ_MODE", autopilot_send_mode);
register_periodic_telemetry(DefaultPeriodic, "DOWNLINK", send_downlink);
register_periodic_telemetry(DefaultPeriodic, "ATTITUDE", send_attitude);
register_periodic_telemetry(DefaultPeriodic, "ESTIMATOR", send_estimator);
diff --git a/sw/airborne/firmwares/fixedwing/autopilot.h b/sw/airborne/firmwares/fixedwing/autopilot.h
index 0e0ec52fb1..0dad775893 100644
--- a/sw/airborne/firmwares/fixedwing/autopilot.h
+++ b/sw/airborne/firmwares/fixedwing/autopilot.h
@@ -110,6 +110,9 @@ extern bool_t gps_lost;
(_mode != new_mode ? _mode = new_mode, TRUE : FALSE); \
})
+/** Send mode over telemetry
+ */
+extern void autopilot_send_mode(void);
/** Power switch control.
*/
diff --git a/sw/airborne/firmwares/fixedwing/main_ap.c b/sw/airborne/firmwares/fixedwing/main_ap.c
index 9b7e5def6a..9e418d14a5 100644
--- a/sw/airborne/firmwares/fixedwing/main_ap.c
+++ b/sw/airborne/firmwares/fixedwing/main_ap.c
@@ -387,9 +387,7 @@ static inline void telecommand_task( void ) {
#endif
}
mode_changed |= mcu1_status_update();
- // FIXME
- //if ( mode_changed )
- // PERIODIC_SEND_PPRZ_MODE(DefaultChannel, DefaultDevice);
+ if ( mode_changed ) autopilot_send_mode();
#if defined RADIO_CONTROL || defined RADIO_CONTROL_AUTO1
/** In AUTO1 mode, compute roll setpoint and pitch setpoint from
@@ -468,17 +466,14 @@ void navigation_task( void ) {
if (pprz_mode == PPRZ_MODE_AUTO2 || pprz_mode == PPRZ_MODE_HOME) {
last_pprz_mode = pprz_mode;
pprz_mode = PPRZ_MODE_GPS_OUT_OF_ORDER;
- // FIXME
- //PERIODIC_SEND_PPRZ_MODE(DefaultChannel, DefaultDevice);
+ autopilot_send_mode();
gps_lost = TRUE;
}
} else if (gps_lost) { /* GPS is ok */
/** If aircraft was in failsafe mode, come back in previous mode */
pprz_mode = last_pprz_mode;
gps_lost = FALSE;
-
- // FIXME
- //PERIODIC_SEND_PPRZ_MODE(DefaultChannel, DefaultDevice);
+ autopilot_send_mode();
}
}
#endif /* GPS && FAILSAFE_DELAY_WITHOUT_GPS */
@@ -495,11 +490,9 @@ void navigation_task( void ) {
CallTCAS();
#endif
-//#ifndef PERIOD_NAVIGATION_0 // If not sent periodically (in default 0 mode)
-// SEND_NAVIGATION(DefaultChannel, DefaultDevice);
-//#endif
-
- //SEND_CAM(DefaultChannel, DefaultDevice);
+#ifndef PERIOD_NAVIGATION_Ap_0 // If not sent periodically (in default 0 mode)
+ SEND_NAVIGATION(DefaultChannel, DefaultDevice);
+#endif
/* The nav task computes only nav_altitude. However, we are interested
by desired_altitude (= nav_alt+alt_shift) in any case.
diff --git a/sw/airborne/modules/cam_control/cam.c b/sw/airborne/modules/cam_control/cam.c
index 51da63b2e8..19cf19d53e 100644
--- a/sw/airborne/modules/cam_control/cam.c
+++ b/sw/airborne/modules/cam_control/cam.c
@@ -104,17 +104,20 @@ static void send_cam(void) {
SEND_CAM(DefaultChannel, DefaultDevice);
}
+#ifdef SHOW_CAM_COORDINATES
static void send_cam_point(void) {
DOWNLINK_SEND_CAM_POINT(DefaultChannel, DefaultDevice,
&cam_point_distance_from_home, &cam_point_lat, &cam_point_lon);
}
-
+#endif
void cam_init( void ) {
cam_mode = CAM_MODE0;
register_periodic_telemetry(DefaultPeriodic, "CAM", send_cam);
+#ifdef SHOW_CAM_COORDINATES
register_periodic_telemetry(DefaultPeriodic, "CAM_POINT", send_cam_point);
+#endif
}
void cam_periodic( void ) {