summaryrefslogtreecommitdiff
path: root/src/gyronardo.cpp
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2021-12-22 15:02:40 +0100
committerHampusM <hampus@hampusmat.com>2021-12-22 15:02:40 +0100
commitf921311a3793c9bcd332e50b294681bed95a7608 (patch)
treebd64f620d0bde3b8f2b89af49502fdd06d5dd842 /src/gyronardo.cpp
parentfd57482ffc6621562a8687829a7349301dabb97a (diff)
refactor: correct the main source file name
Diffstat (limited to 'src/gyronardo.cpp')
-rw-r--r--src/gyronardo.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/gyronardo.cpp b/src/gyronardo.cpp
new file mode 100644
index 0000000..1a81850
--- /dev/null
+++ b/src/gyronardo.cpp
@@ -0,0 +1,44 @@
+#include "Arduino.h"
+#include "Wire.h"
+#include "sensor.hpp"
+
+Sensor sensor(0x68, &Wire);
+
+void setup()
+{
+ Serial.begin(9600);
+
+ // Wait for Serial because the Arduino Leonardo is weird
+ while (!Serial) {}
+
+ while (!sensor.begin())
+ {
+ Serial.print(millis());
+ Serial.println("Error: Could not connect to the sensor. Retrying after 2000 milliseconds...");
+ delay(2000);
+ }
+ sensor.setAccelSensitivity(2); // 8g
+ sensor.setGyroSensitivity(1); // 500 degrees/s
+
+ sensor.setThrottleEnabled(true);
+ Serial.println("start...");
+
+ // Calibration values
+ sensor.accel_cal_x = 0.198;
+ sensor.accel_cal_y = -0.018;
+ sensor.gyro_cal_x = 0.780;
+ sensor.gyro_cal_y = -1.495;
+}
+
+void loop()
+{
+ sensor.read();
+ float pitch = sensor.getPitch();
+ float roll = sensor.getRoll();
+
+ Serial.print("Pitch: ");
+ Serial.print(pitch, 3);
+ Serial.print(" Roll: ");
+ Serial.print(roll, 3);
+ Serial.println();
+}