summaryrefslogtreecommitdiff
path: root/CODE/debugprewk/debug/IMU_comp/Calibrate/Calibrate.ino
diff options
context:
space:
mode:
authorAbel Tim <abel@abel-ms7c95.home>2025-03-17 21:43:59 +0100
committerAbel Tim <abel@abel-ms7c95.home>2025-03-17 21:43:59 +0100
commit9c8f7e2f1101b4bb8e0c5459e14af253f150c8b7 (patch)
treef6baef3949190537fb37f3ac21b965f83c8f7407 /CODE/debugprewk/debug/IMU_comp/Calibrate/Calibrate.ino
parentbf474ec55fce14f778efa1c1e8118d69a093bf07 (diff)
downloadrobotica-9c8f7e2f1101b4bb8e0c5459e14af253f150c8b7.tar.gz
robotica-9c8f7e2f1101b4bb8e0c5459e14af253f150c8b7.zip
code
Diffstat (limited to 'CODE/debugprewk/debug/IMU_comp/Calibrate/Calibrate.ino')
-rw-r--r--CODE/debugprewk/debug/IMU_comp/Calibrate/Calibrate.ino42
1 files changed, 42 insertions, 0 deletions
diff --git a/CODE/debugprewk/debug/IMU_comp/Calibrate/Calibrate.ino b/CODE/debugprewk/debug/IMU_comp/Calibrate/Calibrate.ino
new file mode 100644
index 0000000..c5db31c
--- /dev/null
+++ b/CODE/debugprewk/debug/IMU_comp/Calibrate/Calibrate.ino
@@ -0,0 +1,42 @@
+//example from https://github.com/pololu/lis3mdl-arduino
+#include <Wire.h>
+#include <LIS3MDL.h>
+
+LIS3MDL mag;
+LIS3MDL::vector<int16_t> running_min = {32767, 32767, 32767}, running_max = {-32768, -32768, -32768};
+
+char report[80];
+
+void setup()
+{
+ Serial.begin(9600);
+ Wire.begin();
+
+ if (!mag.init())
+ {
+ Serial.println("Failed to detect and initialize magnetometer!");
+ while (1);
+ }
+
+ mag.enableDefault();
+}
+
+void loop()
+{
+ mag.read();
+
+ running_min.x = min(running_min.x, mag.m.x);
+ running_min.y = min(running_min.y, mag.m.y);
+ running_min.z = min(running_min.z, mag.m.z);
+
+ running_max.x = max(running_max.x, mag.m.x);
+ running_max.y = max(running_max.y, mag.m.y);
+ running_max.z = max(running_max.z, mag.m.z);
+
+ snprintf(report, sizeof(report), "min: {%+6d, %+6d, %+6d} max: {%+6d, %+6d, %+6d}",
+ running_min.x, running_min.y, running_min.z,
+ running_max.x, running_max.y, running_max.z);
+ Serial.println(report);
+
+ delay(100);
+}