From cde7d6ddfabb42c5bd640fb6c1c745f65f345dd7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Anian=20B=C3=BChler?=
 <anian.buehler@reutlingen-university.de>
Date: Wed, 1 Dec 2021 12:13:41 +0100
Subject: [PATCH] fixed interval error

---
 src/didacticNet.cpp | 6 +++---
 src/didacticNet.h   | 3 ++-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/didacticNet.cpp b/src/didacticNet.cpp
index f14ace2..1596147 100644
--- a/src/didacticNet.cpp
+++ b/src/didacticNet.cpp
@@ -43,10 +43,10 @@ bool DidacticPSNet::handleNetwork(){
           handleData();
   			}
   		}
-  		_waitingTime = millis()+ random(CSMA_MIN_DELAY_MS, CSMA_MAX_DELAY_MS);
+  		_waitingTimeCSMA = millis()+ random(CSMA_MIN_DELAY_MS, CSMA_MAX_DELAY_MS);
   	}
   	//else if(_dataToSend){
-    if(_dataToSend && _waitingTime <= millis()){
+    if(_dataToSend && _waitingTimeSend <= millis() && _waitingTimeCSMA <= millis()){
       //send data to network
       //TODO: test added CSMA_CHECKDELAY + 2nd checkData()
       delayMicroseconds(CSMA_CHECK_DELAY_US);
@@ -57,7 +57,7 @@ bool DidacticPSNet::handleNetwork(){
         else{
           _dataToSend = false;
           //_waitingTime = millis()+ random(CSMA_MID_DELAY_MS, CSMA_MAX_DELAY_MS);
-          _waitingTime = millis()+ _intervalTime;//random(CSMA_MID_DELAY_MS, CSMA_MAX_DELAY_MS);
+          _waitingTimeSend = millis() + _intervalTime;//random(CSMA_MID_DELAY_MS, CSMA_MAX_DELAY_MS);
         }
       }
     }
diff --git a/src/didacticNet.h b/src/didacticNet.h
index 596db88..cf3b998 100644
--- a/src/didacticNet.h
+++ b/src/didacticNet.h
@@ -110,7 +110,8 @@ class DidacticPSNet
 		char _sendBufferMessage[MAX_LEN_TOPICS + MAX_LEN_PAYLOAD + LEN_OVERHEAD +1];
 
 		bool _dataToSend = false; // int Data to send for queue?
-		unsigned long _waitingTime = 0L;
+		unsigned long _waitingTimeSend = 0L;
+		unsigned long _waitingTimeCSMA = 0L;
 		unsigned long _intervalTime = 0L;
 		int _currentTopicLength = 0;
 		int _currentPayloadLength  = 0;
-- 
GitLab