summaryrefslogtreecommitdiff
path: root/src/gyronardo.cpp
diff options
context:
space:
mode:
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();
+}