From 05df50e7841581820da5ccb99ee7cae46a5e9a76 Mon Sep 17 00:00:00 2001 From: Sebi <pape@vr.rwth-aachen.de> Date: Mon, 13 Jan 2020 15:39:32 +0100 Subject: [PATCH] Added Timeout and store result in Microseconds --- MotionToPhotonMeter.ino | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/MotionToPhotonMeter.ino b/MotionToPhotonMeter.ino index d37beac..261d6c8 100644 --- a/MotionToPhotonMeter.ino +++ b/MotionToPhotonMeter.ino @@ -31,6 +31,7 @@ int zeroValueForServo = 0; unsigned int deflection = 10; long startTime = -1; int triggerValue = 2500; +#define Timeout 10000000L unsigned int requested_measurements = -1; Status current_status = Status::Ready; InternalStatus current_internal_status = InternalStatus::NotZeroed; @@ -69,7 +70,7 @@ void core1( void * pvParameters ){ if(current_internal_status == InternalStatus::Stopping && getPhotoDiodeReading() < triggerValue){ - result_buffer[result_number] = (micros() - startTime)/1000.0; + result_buffer[result_number] = micros() - startTime; Serial.println("Time: " + String(result_buffer[result_number])); result_number++; current_internal_status = InternalStatus::NotZeroed; @@ -80,6 +81,11 @@ void core1( void * pvParameters ){ requested_measurements = -1; } } + + // Timeout + if(current_internal_status == InternalStatus::Stopping && (micros() - startTime) > Timeout){ + current_internal_status = InternalStatus::NotZeroed; + } } } -- GitLab