From 32743b7df74a402a6e8c2270ac12a008adb47d45 Mon Sep 17 00:00:00 2001
From: Sebi <pape@vr.rwth-aachen.de>
Date: Mon, 13 Jan 2020 15:58:38 +0100
Subject: [PATCH] Adding check to prevent false resets, switched to microsecond
 precision, and adding better output to status

---
 MotionToPhotonMeter.ino  | 6 +++++-
 MotionToPhotonServer.cpp | 3 ++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/MotionToPhotonMeter.ino b/MotionToPhotonMeter.ino
index 261d6c8..034cfd7 100644
--- a/MotionToPhotonMeter.ino
+++ b/MotionToPhotonMeter.ino
@@ -58,7 +58,11 @@ void core1( void * pvParameters ){
 		if(current_internal_status == InternalStatus::NotZeroed
 			&& result_number < requested_measurements){
 			zeroServo(); //Rearm
-			delay(5000 + random(1,11)); // Five seconds + random delay
+			
+			do{
+				delay(2000 + random(1,11)); // Two seconds + random delay
+			}while(getPhotoDiodeReading() < triggerValue); //Prevent false resets
+			
 			rotation_servo.write(zeroValueForServo - deflection); //deflection movement
 		}
 		
diff --git a/MotionToPhotonServer.cpp b/MotionToPhotonServer.cpp
index bb3f619..de95b06 100644
--- a/MotionToPhotonServer.cpp
+++ b/MotionToPhotonServer.cpp
@@ -54,7 +54,8 @@
 	}
 	
 	void MotionToPhotonServer::pageStatus(){
-		server.send(200, "text/plain", String(getStatus())); 
+		unsigned int results = getCurrentNumberOfResults();
+		server.send(200, "text/plain", String(getStatus()) + ((results > 0) ? ": " + String(results):"") ); 
 	}
 
 	void MotionToPhotonServer::pageSetThreshold(){
-- 
GitLab