From b01eef4fcdab235a2bfebf0074700529fddc4499 Mon Sep 17 00:00:00 2001 From: TheJackiMonster Date: Thu, 30 Nov 2023 15:15:23 +0100 Subject: [PATCH] Correct magnetometer calibration Signed-off-by: TheJackiMonster --- interface_lib/src/device3.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/interface_lib/src/device3.c b/interface_lib/src/device3.c index 34e437e..7af44f9 100644 --- a/interface_lib/src/device3.c +++ b/interface_lib/src/device3.c @@ -624,8 +624,8 @@ static void apply_calibration(const device3_type* device, static FusionVector max = { FLT_MIN, FLT_MIN, FLT_MIN }, min = { FLT_MAX, FLT_MAX, FLT_MAX }; for (int i = 0; i < 3; i++) { - max.array[i] = max(max.array[i], magnetometer->array[i]); - min.array[i] = min(min.array[i], magnetometer->array[i]); + max.array[i] = max(max.array[i], m.array[i]); + min.array[i] = min(min.array[i], m.array[i]); } const float mx = (max.axis.x - min.axis.x) / 2.0f; @@ -649,8 +649,8 @@ static void apply_calibration(const device3_type* device, device->calibration->hardIronOffset = hardIronOffset; } - *magnetometer = FusionCalibrationMagnetic( - *magnetometer, + m = FusionCalibrationMagnetic( + m, softIronMatrix, hardIronOffset );