diff --git a/conf/airframes/booz.xml b/conf/airframes/booz.xml
index 77ea475b39..8b2c36cd0e 100644
--- a/conf/airframes/booz.xml
+++ b/conf/airframes/booz.xml
@@ -63,7 +63,7 @@ ctl.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B57600
ctl.srcs += $(SRC_ARCH)/uart_hw.c
ctl.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_DEVICE=Uart1
-ctl.srcs += downlink.c pprz_transport.c
+ctl.srcs += downlink.c pprz_transport.c
ctl.CFLAGS += -DDATALINK=PPRZ -DPPRZ_UART=Uart1
@@ -76,6 +76,10 @@ ctl.srcs += booz_estimator.c booz_control.c
ctl.CFLAGS += -DRADIO_CONTROL -DRADIO_CONTROL_TYPE=RC_FUTABA
ctl.srcs += radio_control.c $(SRC_ARCH)/ppm_hw.c
+ctl.srcs += commands.c
+
+ctl.srcs += booz_telemetry.c
+
#
# AHRS CPU
#
diff --git a/conf/messages.xml b/conf/messages.xml
index f0f77efacb..404d96410d 100644
--- a/conf/messages.xml
+++ b/conf/messages.xml
@@ -432,6 +432,9 @@
+
+
+
diff --git a/conf/telemetry/booz.xml b/conf/telemetry/booz.xml
index b580f8a4bc..48114074cc 100644
--- a/conf/telemetry/booz.xml
+++ b/conf/telemetry/booz.xml
@@ -1,16 +1,14 @@
-
-
-
-
-
-
-
+
+
+
+
+
diff --git a/sw/airborne/booz_control.c b/sw/airborne/booz_control.c
index b045c507eb..9019d13606 100644
--- a/sw/airborne/booz_control.c
+++ b/sw/airborne/booz_control.c
@@ -2,6 +2,7 @@
#include "booz_estimator.h"
#include "commands.h"
+#include "radio_control.h"
float booz_control_p_sp;
float booz_control_q_sp;
diff --git a/sw/airborne/booz_downlink.h b/sw/airborne/booz_downlink.h
index 7e31878201..255f0724ce 100644
--- a/sw/airborne/booz_downlink.h
+++ b/sw/airborne/booz_downlink.h
@@ -2,10 +2,10 @@
#define BOOZ_DOWNLINK_H
#include "std.h"
+#include "periodic.h"
static inline void booz_downlink_periodic_task(void) {
-
-
+ PeriodicSendMain()
}
diff --git a/sw/airborne/imu_v3.c b/sw/airborne/imu_v3.c
index 1601b454d9..84625028d3 100644
--- a/sw/airborne/imu_v3.c
+++ b/sw/airborne/imu_v3.c
@@ -27,6 +27,7 @@ struct adc_buf buf_bat;
#define IMU_DETECT_STILL_LEN 128
bool_t imu_vehicle_still;
+float imu_vs_gyro_initial_bias[AXIS_NB];
uint16_t imu_vs_accel_raw[AXIS_NB][IMU_DETECT_STILL_LEN];
uint32_t imu_vs_accel_raw_sum[AXIS_NB];
@@ -64,6 +65,7 @@ void imu_init(void) {
imu_vs_accel_raw_sum[i] = 0;
imu_vs_gyro_raw_sum[i] = 0;
imu_vs_mag_raw_sum[i] = 0;
+ imu_vs_gyro_initial_bias[i] = 0.;
for (j=0; j