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