diff --git a/conf/airframes/tudelft/rot_wing_25kg.xml b/conf/airframes/tudelft/rot_wing_25kg.xml
index c76944658e..398774817c 100644
--- a/conf/airframes/tudelft/rot_wing_25kg.xml
+++ b/conf/airframes/tudelft/rot_wing_25kg.xml
@@ -304,6 +304,8 @@
+
+
@@ -326,8 +328,8 @@
-
-
+
+
@@ -571,12 +573,14 @@
- Location, airspace and weather
- Check the RC battery
- Check wings secured (and taped)
+ - Initialize and check wing rotation
- Check attitude and heading
- Calibrate airspeed sensor
- Put UAV on take-off location
- Check flight plan
- Switch to correct flight block
- Switch on camera
+ - Arm parachute
- Announce flight to other airspace users
diff --git a/conf/airframes/tudelft/rot_wing_v3b.xml b/conf/airframes/tudelft/rot_wing_v3b.xml
index 324748eca3..be10dabece 100644
--- a/conf/airframes/tudelft/rot_wing_v3b.xml
+++ b/conf/airframes/tudelft/rot_wing_v3b.xml
@@ -467,7 +467,7 @@
-
+
diff --git a/conf/airframes/tudelft/rot_wing_v3c_oneloop.xml b/conf/airframes/tudelft/rot_wing_v3c_oneloop.xml
index 240e870ff4..f6e5f0a414 100644
--- a/conf/airframes/tudelft/rot_wing_v3c_oneloop.xml
+++ b/conf/airframes/tudelft/rot_wing_v3c_oneloop.xml
@@ -240,7 +240,7 @@
-
+
diff --git a/conf/airframes/tudelft/rot_wing_v3c_oneloop_optitrack_ext_pose.xml b/conf/airframes/tudelft/rot_wing_v3c_oneloop_optitrack_ext_pose.xml
index e8d7e3ae19..859d9ea913 100644
--- a/conf/airframes/tudelft/rot_wing_v3c_oneloop_optitrack_ext_pose.xml
+++ b/conf/airframes/tudelft/rot_wing_v3c_oneloop_optitrack_ext_pose.xml
@@ -240,7 +240,7 @@
-
+
diff --git a/conf/airframes/tudelft/rot_wing_v3d.xml b/conf/airframes/tudelft/rot_wing_v3d.xml
index 5b3f3efaa6..d88f0a6700 100644
--- a/conf/airframes/tudelft/rot_wing_v3d.xml
+++ b/conf/airframes/tudelft/rot_wing_v3d.xml
@@ -455,7 +455,7 @@
-
+
diff --git a/conf/airframes/tudelft/rot_wing_v3e.xml b/conf/airframes/tudelft/rot_wing_v3e.xml
index ff728c35fd..9d582c4fa1 100644
--- a/conf/airframes/tudelft/rot_wing_v3e.xml
+++ b/conf/airframes/tudelft/rot_wing_v3e.xml
@@ -455,7 +455,7 @@
-
+
diff --git a/conf/airframes/tudelft/rot_wing_v3f.xml b/conf/airframes/tudelft/rot_wing_v3f.xml
index bc9f439973..93799faa67 100644
--- a/conf/airframes/tudelft/rot_wing_v3f.xml
+++ b/conf/airframes/tudelft/rot_wing_v3f.xml
@@ -455,7 +455,7 @@
-
+
diff --git a/conf/airframes/tudelft/rot_wing_v3g.xml b/conf/airframes/tudelft/rot_wing_v3g.xml
index 0c7867c0d3..7200db5d17 100644
--- a/conf/airframes/tudelft/rot_wing_v3g.xml
+++ b/conf/airframes/tudelft/rot_wing_v3g.xml
@@ -462,7 +462,7 @@
-
+
diff --git a/conf/airframes/tudelft/rot_wing_v3h.xml b/conf/airframes/tudelft/rot_wing_v3h.xml
index 7577f2fdfc..26243b110f 100644
--- a/conf/airframes/tudelft/rot_wing_v3h.xml
+++ b/conf/airframes/tudelft/rot_wing_v3h.xml
@@ -462,7 +462,7 @@
-
+
diff --git a/conf/telemetry/highspeed_rotorcraft.xml b/conf/telemetry/highspeed_rotorcraft.xml
index 7197499de3..a25ca6910c 100644
--- a/conf/telemetry/highspeed_rotorcraft.xml
+++ b/conf/telemetry/highspeed_rotorcraft.xml
@@ -49,7 +49,6 @@
-
@@ -98,6 +97,7 @@
+
@@ -251,11 +251,9 @@
-
-
-
+
diff --git a/sw/airborne/modules/imu/imu_heater.c b/sw/airborne/modules/imu/imu_heater.c
index d220d4e0a6..7aaa22b5cb 100644
--- a/sw/airborne/modules/imu/imu_heater.c
+++ b/sw/airborne/modules/imu/imu_heater.c
@@ -81,7 +81,7 @@ static struct preflight_check_t imu_heater_pfc;
/** Maximum error in percentile */
#ifndef IMU_HEATER_MAX_ERROR
-#define IMU_HEATER_MAX_ERROR 0.15f
+#define IMU_HEATER_MAX_ERROR 0.20f
#endif
/** ABI id from either guro or accel */
@@ -92,8 +92,8 @@ static struct preflight_check_t imu_heater_pfc;
#endif
static void imu_heater_preflight(struct preflight_result_t *result) {
- if(imu_heater.meas_temp < ((1.0f-IMU_HEATER_MAX_ERROR)*imu_heater.target_temp) || imu_heater.meas_temp > ((1.0f+IMU_HEATER_MAX_ERROR)*imu_heater.target_temp)) {
- preflight_error(result, "IMU %d temperature outside limits %.2f < %.2f < %.2f", IMU_HEATER_ABI_ID, ((1.0f-IMU_HEATER_MAX_ERROR)*imu_heater.target_temp), imu_heater.meas_temp, ((1.0f+IMU_HEATER_MAX_ERROR)*imu_heater.target_temp));
+ if(imu_heater.meas_temp < ((1.0f-IMU_HEATER_MAX_ERROR)*imu_heater.target_temp) || imu_heater.meas_temp > ((1.0f+2*IMU_HEATER_MAX_ERROR)*imu_heater.target_temp)) {
+ preflight_error(result, "IMU %d temperature outside limits %.2f < %.2f < %.2f", IMU_HEATER_ABI_ID, ((1.0f-IMU_HEATER_MAX_ERROR)*imu_heater.target_temp), imu_heater.meas_temp, ((1.0f+2*IMU_HEATER_MAX_ERROR)*imu_heater.target_temp));
} else {
preflight_success(result, "IMU %d temperature ok", IMU_HEATER_ABI_ID);
}
diff --git a/sw/airborne/modules/ins/ins_ekf2.cpp b/sw/airborne/modules/ins/ins_ekf2.cpp
index 0dc31ee517..a2aecdc96e 100644
--- a/sw/airborne/modules/ins/ins_ekf2.cpp
+++ b/sw/airborne/modules/ins/ins_ekf2.cpp
@@ -929,11 +929,13 @@ static void gps_cb(uint8_t sender_id __attribute__((unused)),
gps_msg.yaw_offset = 0;
#elif defined(INS_EKF2_GPS_YAW_OFFSET)
if(ISFINITE(gps_relposned.relPosHeading)) {
- gps_msg.yaw = wrap_pi(RadOfDeg(gps_relposned.relPosHeading));
+ gps_msg.yaw = wrap_pi(RadOfDeg(gps_relposned.relPosHeading - INS_EKF2_GPS_YAW_OFFSET));
} else {
gps_msg.yaw = NAN;
}
- gps_msg.yaw_offset = INS_EKF2_GPS_YAW_OFFSET;
+
+ // Offset also needs to be substracted from the heading (this is for roll/pitch angle limits)
+ gps_msg.yaw_offset = RadOfDeg(INS_EKF2_GPS_YAW_OFFSET);
#else
gps_msg.yaw = NAN;
gps_msg.yaw_offset = NAN;