From 81c9b9fd9525261a50ae12ba32083fe48671fab9 Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Tue, 10 Feb 2015 22:01:31 +0100 Subject: Get secondary mag to work, but only if internal --- src/modules/sensors/sensors.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/modules/sensors') diff --git a/src/modules/sensors/sensors.cpp b/src/modules/sensors/sensors.cpp index c5b7a2265..b93b720be 100644 --- a/src/modules/sensors/sensors.cpp +++ b/src/modules/sensors/sensors.cpp @@ -1199,6 +1199,16 @@ Sensors::mag_poll(struct sensor_combined_s &raw) orb_copy(ORB_ID(sensor_mag), _mag1_sub, &mag_report); + math::Vector<3> vect(mag_report.x, mag_report.y, mag_report.z); + + // XXX presume internal mag + + vect = _board_rotation * vect; + + raw.magnetometer1_ga[0] = vect(0); + raw.magnetometer1_ga[1] = vect(1); + raw.magnetometer1_ga[2] = vect(2); + raw.magnetometer1_raw[0] = mag_report.x_raw; raw.magnetometer1_raw[1] = mag_report.y_raw; raw.magnetometer1_raw[2] = mag_report.z_raw; @@ -1214,6 +1224,16 @@ Sensors::mag_poll(struct sensor_combined_s &raw) orb_copy(ORB_ID(sensor_mag), _mag2_sub, &mag_report); + math::Vector<3> vect(mag_report.x, mag_report.y, mag_report.z); + + // XXX presume internal mag + + vect = _board_rotation * vect; + + raw.magnetometer2_ga[0] = vect(0); + raw.magnetometer2_ga[1] = vect(1); + raw.magnetometer2_ga[2] = vect(2); + raw.magnetometer2_raw[0] = mag_report.x_raw; raw.magnetometer2_raw[1] = mag_report.y_raw; raw.magnetometer2_raw[2] = mag_report.z_raw; -- cgit v1.2.3