Skip to content

Commit

Permalink
buffer implemented
Browse files Browse the repository at this point in the history
  • Loading branch information
richonguzman committed May 14, 2024
1 parent c5dcfd8 commit 794cc06
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions src/station_utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ extern String fourthLine;
std::vector<String> lastHeardStation;
std::vector<String> outputPacketBuffer;
std::vector<String> packet25SegBuffer;
std::vector<uint32_t> packet25SegTimeBuffer;


namespace STATION_Utils {
Expand Down Expand Up @@ -67,10 +66,11 @@ namespace STATION_Utils {
}

void clean25SegBuffer() {
if (!packet25SegTimeBuffer.empty()) {
if (millis() - packet25SegTimeBuffer[0] > 25 * 1000) {
Serial.print("Borrando : "); Serial.println(packet25SegBuffer[0]);
packet25SegTimeBuffer.erase(packet25SegTimeBuffer.begin());
if (!packet25SegBuffer.empty()) {
String deltaTimeString = packet25SegBuffer[0].substring(0, packet25SegBuffer[0].indexOf(","));
uint32_t deltaTime = deltaTimeString.toInt();
if ((millis() - deltaTime) > 25 * 1000) {
//Serial.print("Borrando : "); Serial.println(packet25SegBuffer[0]);
packet25SegBuffer.erase(packet25SegBuffer.begin());
}
}
Expand All @@ -80,20 +80,21 @@ namespace STATION_Utils {
if (!packet25SegBuffer.empty()) {
bool shouldBeIgnored = false;
for (int i = 0; i < packet25SegBuffer.size(); i++) {
if (packet25SegBuffer[i].substring(0, packet25SegBuffer[i].indexOf(",")) == station && packet25SegBuffer[i].substring(packet25SegBuffer[i].indexOf(",") + 1) == textMessage) {
String temp = packet25SegBuffer[i].substring(packet25SegBuffer[i].indexOf(",") + 1);
String bufferStation = temp.substring(0, temp.indexOf(","));
String bufferMessage = temp.substring(0, temp.indexOf(",") + 1);
if (bufferStation == station && bufferMessage == textMessage) {
shouldBeIgnored = true;
}
}
if (shouldBeIgnored) {
return false;
} else {
packet25SegBuffer.push_back(station + "," + textMessage);
packet25SegTimeBuffer.push_back(millis());
packet25SegBuffer.push_back(String(millis()) + "," + station + "," + textMessage);
return true;
}
} else {
packet25SegBuffer.push_back(station + "," + textMessage);
packet25SegTimeBuffer.push_back(millis());
packet25SegBuffer.push_back(String(millis()) + "," + station + "," + textMessage);
return true;
}
}
Expand Down

0 comments on commit 794cc06

Please sign in to comment.