From 9f5a079ecb374f6680557f6225aa478eb9050e22 Mon Sep 17 00:00:00 2001
From: Thomas Lambert <t.lambert@uliege.be>
Date: Fri, 2 Dec 2022 10:14:15 +0100
Subject: [PATCH] feat(runtime): reset timer before entering loop

---
 controller/controller.ino | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/controller/controller.ino b/controller/controller.ino
index f37e6d3..8850336 100644
--- a/controller/controller.ino
+++ b/controller/controller.ino
@@ -91,7 +91,7 @@ uint8_t gEsc_val = 0;                      // ESC angle (to use with the Servo l
 String gMode;                              // Mode of operation
 uint16_t gAngleOffset[] = { 0, 0, 1, 0 };  // Encoder offset (prevent wrap-around)
 uint16_t gMaxWingPos[] = MAX_WING_POS;     // Encoder maximum recorder position
-
+int gStartTime;                            // Loop start time
 
 /*******************************************************************************
   ARDUINO SETUP
@@ -142,6 +142,8 @@ void setup() {
   delay(1000);  // Ensure proper initialization
   Serial.println("[INFO]: Setup OK, starting now...");
   delay(500);
+
+  gStartTime = millis();
 }
 
 
@@ -260,7 +262,7 @@ void SerialPrint(String mode, int potent, int esc_val, unsigned int wing_angles[
   Serial.print("/*");  // Beginning of data stream
   Serial.print(mode);
   Serial.print(",");
-  Serial.print(millis() / 1000.0);
+  Serial.print((millis() - gStartTime) / 1000.0);
   Serial.print(",");
   Serial.print(potent * 5.0 / 1023.0);  // Converts pot val into proper tension
   Serial.print(",");
-- 
GitLab