diff --git a/README.md b/README.md index d4c9b599..27358909 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,7 @@ ____________________________________________________ ____________________________________________________ ## Timeline (Versions): +- 2023.11.07 DigiRepeater Mode added in Emergency Menu. - 2023.10.23 COMPLETE New Menu for Keyboard add-on. - 2023.10.22 Added Keyboard Support over I2C (CARDKB from https://m5stack.com) - 2023.10.07 Screen Brightness control added. diff --git a/lib/APRSPacketLib/APRSPacketLib.cpp b/lib/APRSPacketLib/APRSPacketLib.cpp index 174f1c3b..a9b43313 100644 --- a/lib/APRSPacketLib/APRSPacketLib.cpp +++ b/lib/APRSPacketLib/APRSPacketLib.cpp @@ -21,18 +21,23 @@ namespace APRSPacketLib { packet.path.replace("WIDE1-" + hop , callsign + "*,WIDE1-" + String(hop.toInt()-1)); } String repeatedPacket = packet.sender + ">" + packet.tocall + "," + packet.path; - if (packet.type == "gps") { - repeatedPacket += ":!"; - } else if (packet.type == "status") { - repeatedPacket += ":>"; - } else if (packet.type == "telemetry") { - repeatedPacket += ":T#"; - } else if (packet.type == "message") { - for(int i = packet.addressee.length(); i < 9; i++) { - packet.addressee += ' '; - } - repeatedPacket += "::" + packet.addressee + ":"; - } + switch (packet.type) { + case 0: // gps + repeatedPacket += ":!"; + break; + case 1: // message + for(int i = packet.addressee.length(); i < 9; i++) { + packet.addressee += ' '; + } + repeatedPacket += "::" + packet.addressee + ":"; + break; + case 2: // status + repeatedPacket += ":>"; + break; + case 3: // telemetry + repeatedPacket += ":T#"; + break; + } return repeatedPacket + packet.message; } else { return "X"; @@ -121,9 +126,7 @@ namespace APRSPacketLib { return packet; } - float decodeEncodedLatitude(String receivedPacket) { - String packet = receivedPacket.substring(receivedPacket.indexOf(":!")+3); - String encodedLatitude = packet.substring(0,4); + float decodeEncodedLatitude(String encodedLatitude) { int Y1 = int(encodedLatitude[0]); int Y2 = int(encodedLatitude[1]); int Y3 = int(encodedLatitude[2]); @@ -131,24 +134,15 @@ namespace APRSPacketLib { return (90.0 - ((((Y1-33) * pow(91,3)) + ((Y2-33) * pow(91,2)) + ((Y3-33) * 91) + Y4-33) / 380926.0)); } - float decodeEncodedLongitude(String receivedPacket) { - String packet = receivedPacket.substring(receivedPacket.indexOf(":!")+3); - String encodedLongtitude = packet.substring(4,8); - int X1 = int(encodedLongtitude[0]); - int X2 = int(encodedLongtitude[1]); - int X3 = int(encodedLongtitude[2]); - int X4 = int(encodedLongtitude[3]); + float decodeEncodedLongitude(String encodedLongitude) { + int X1 = int(encodedLongitude[0]); + int X2 = int(encodedLongitude[1]); + int X3 = int(encodedLongitude[2]); + int X4 = int(encodedLongitude[3]); return (-180.0 + ((((X1-33) * pow(91,3)) + ((X2-33) * pow(91,2)) + ((X3-33) * 91) + X4-33) / 190463.0)); } - float decodeLatitude(String receivedPacket) { - String gpsData; - if (receivedPacket.indexOf(":!") > 10) { - gpsData = receivedPacket.substring(receivedPacket.indexOf(":!")+2); - } else if (receivedPacket.indexOf(":=") > 10) { - gpsData = receivedPacket.substring(receivedPacket.indexOf(":=")+2); - } - String Latitude = gpsData.substring(0,8); + float decodeLatitude(String Latitude) { String firstLatPart = Latitude.substring(0,2); String secondLatPart = Latitude.substring(2,4); String thirdLatPart = Latitude.substring(Latitude.indexOf(".")+1,Latitude.indexOf(".")+3); @@ -161,14 +155,7 @@ namespace APRSPacketLib { } } - float decodeLongitude(String receivedPacket) { - String gpsData; - if (receivedPacket.indexOf(":!") > 10) { - gpsData = receivedPacket.substring(receivedPacket.indexOf(":!")+2); - } else if (receivedPacket.indexOf(":=") > 10) { - gpsData = receivedPacket.substring(receivedPacket.indexOf(":=")+2); - } - String Longitude = gpsData.substring(9,18); + float decodeLongitude(String Longitude) { String firstLngPart = Longitude.substring(0,3); String secondLngPart = Longitude.substring(3,5); String thirdLngPart = Longitude.substring(Longitude.indexOf(".")+1,Longitude.indexOf(".")+3); @@ -182,6 +169,11 @@ namespace APRSPacketLib { } APRSPacket processReceivedPacket(String receivedPacket) { + /* Packet type: + gps = 0 + message = 1 + status = 2 + telemetry = 3 */ APRSPacket aprsPacket; aprsPacket.sender = receivedPacket.substring(0,receivedPacket.indexOf(">")); String temp00 = receivedPacket.substring(receivedPacket.indexOf(">")+1,receivedPacket.indexOf(":")); @@ -192,8 +184,26 @@ namespace APRSPacketLib { aprsPacket.tocall = temp00; aprsPacket.path = ""; } - if (receivedPacket.indexOf("::") > 10) { - aprsPacket.type = "message"; + if (receivedPacket.indexOf(":!") > 10 || receivedPacket.indexOf(":=") > 10 ) { + aprsPacket.type = 0; + aprsPacket.addressee = ""; + String gpsChar = ""; + if (receivedPacket.indexOf(":!") > 10) { + gpsChar = ":!"; + } else { + gpsChar = ":="; + } + int encodedBytePosition = receivedPacket.indexOf(gpsChar) + 14; + aprsPacket.message = receivedPacket.substring(receivedPacket.indexOf(gpsChar)+2); + if (String(receivedPacket[encodedBytePosition]) == "G" || String(receivedPacket[encodedBytePosition]) == "Q" || String(receivedPacket[encodedBytePosition]) == "[" || String(receivedPacket[encodedBytePosition]) == "H") { + aprsPacket.latitude = decodeEncodedLatitude(receivedPacket.substring(receivedPacket.indexOf(gpsChar)+3, receivedPacket.indexOf(gpsChar)+7)); + aprsPacket.longitude = decodeEncodedLongitude(receivedPacket.substring(receivedPacket.indexOf(gpsChar)+7, receivedPacket.indexOf(gpsChar)+11)); + } else { + aprsPacket.latitude = decodeLatitude(receivedPacket.substring(receivedPacket.indexOf(gpsChar)+2,receivedPacket.indexOf(gpsChar)+10)); + aprsPacket.longitude = decodeLongitude(receivedPacket.substring(receivedPacket.indexOf(gpsChar)+11,receivedPacket.indexOf(gpsChar)+20)); + } + } else if (receivedPacket.indexOf("::") > 10) { + aprsPacket.type = 1; String temp1 = receivedPacket.substring(receivedPacket.indexOf("::")+2); String temp2 = temp1.substring(0,temp1.indexOf(":")); temp2.trim(); @@ -201,41 +211,14 @@ namespace APRSPacketLib { aprsPacket.message = temp1.substring(temp1.indexOf(":")+1); aprsPacket.latitude = 0; aprsPacket.longitude = 0; - } else if (receivedPacket.indexOf(":!") > 10 || receivedPacket.indexOf(":=") > 10 ) { - aprsPacket.type = "gps"; - aprsPacket.addressee = ""; - int encodedBytePosition = 0; - if (receivedPacket.indexOf(":!") > 10) { - encodedBytePosition = receivedPacket.indexOf(":!") + 14; - aprsPacket.message = receivedPacket.substring(receivedPacket.indexOf(":!")+2); - } - if (receivedPacket.indexOf(":=") > 10) { - encodedBytePosition = receivedPacket.indexOf(":=") + 14; - aprsPacket.message = receivedPacket.substring(receivedPacket.indexOf(":=")+2); - } - if (encodedBytePosition != 0) { - if (String(receivedPacket[encodedBytePosition]) == "G" || String(receivedPacket[encodedBytePosition]) == "Q" || String(receivedPacket[encodedBytePosition]) == "[" || String(receivedPacket[encodedBytePosition]) == "H") { - aprsPacket.latitude = decodeEncodedLatitude(receivedPacket); - aprsPacket.longitude = decodeEncodedLongitude(receivedPacket); - } else { - aprsPacket.latitude = decodeLatitude(receivedPacket); - aprsPacket.longitude = decodeLongitude(receivedPacket); - } - // - Serial.print(aprsPacket.sender); - Serial.print(" GPS : "); - Serial.print(aprsPacket.latitude); Serial.print(" N "); - Serial.print(aprsPacket.longitude);Serial.println(" E"); - // - } } else if (receivedPacket.indexOf(":>") > 10) { - aprsPacket.type = "status"; + aprsPacket.type = 2; aprsPacket.addressee = ""; aprsPacket.message = receivedPacket.substring(receivedPacket.indexOf(":>")+2); aprsPacket.latitude = 0; aprsPacket.longitude = 0; } else if (receivedPacket.indexOf(":T#") >= 10 && receivedPacket.indexOf(":=/") == -1) { - aprsPacket.type = "telemetry"; + aprsPacket.type = 3; aprsPacket.addressee = ""; aprsPacket.message = receivedPacket.substring(receivedPacket.indexOf(":T#")+3); aprsPacket.latitude = 0; diff --git a/lib/APRSPacketLib/APRSPacketLib.h b/lib/APRSPacketLib/APRSPacketLib.h index 8f5103fd..fdffd8e6 100644 --- a/lib/APRSPacketLib/APRSPacketLib.h +++ b/lib/APRSPacketLib/APRSPacketLib.h @@ -9,7 +9,7 @@ struct APRSPacket { String path; String addressee; String message; - String type; + int type; float latitude; float longitude; }; diff --git a/src/LoRa_APRS_Tracker.cpp b/src/LoRa_APRS_Tracker.cpp index 98cf4321..9b018992 100644 --- a/src/LoRa_APRS_Tracker.cpp +++ b/src/LoRa_APRS_Tracker.cpp @@ -82,7 +82,8 @@ uint32_t keyboardTime = millis(); String messageCallsign = ""; String messageText = ""; -bool digirepeaterActive = false; // defaul = false (needs to be activated in the EMERGENCY of the Tracker MENU) +bool digirepeaterActive = false; +bool sosActive = false; logging::Logger logger; diff --git a/src/keyboard_utils.cpp b/src/keyboard_utils.cpp index bab5295c..483638da 100644 --- a/src/keyboard_utils.cpp +++ b/src/keyboard_utils.cpp @@ -31,6 +31,8 @@ extern int messagesIterator; extern bool messageLed; extern String messageCallsign; extern String messageText; +extern bool digirepeaterActive; +extern bool sosActive; namespace KEYBOARD_Utils { @@ -218,12 +220,26 @@ namespace KEYBOARD_Utils { else if (menuDisplay == 6) { menuDisplay = 60; } else if (menuDisplay == 60) { - show_display("EMERGENCY_", "Digirepeater still", "on development..", 2000); ///////////////////////// + if (digirepeaterActive) { + show_display("EMERGENCY_", ""," DigiRepeater"," Status --> OFF","", 2000); ///////////////////////// + logger.log(logging::LoggerLevel::LOGGER_LEVEL_INFO, "Main", "%s", "DigiRepeater OFF"); + digirepeaterActive = false; + } else { + show_display("EMERGENCY_", ""," DigiRepeater"," Status --> ON","", 2000); ///////////////////////// + logger.log(logging::LoggerLevel::LOGGER_LEVEL_INFO, "Main", "%s", "DigiRepeater ON"); + digirepeaterActive = true; + } } else if (menuDisplay == 61) { - show_display("EMERGENCY_", "S.O.S. still", "on development..", 2000); ///////////////////////// - } - - + if (sosActive) { + show_display("EMERGENCY_", ""," S.O.S."," Status --> OFF","", 2000); + logger.log(logging::LoggerLevel::LOGGER_LEVEL_INFO, "Main", "%s", "S.O.S Mode OFF"); + sosActive = false; + } else { + show_display("EMERGENCY_", ""," S.O.S."," Status --> ON","", 2000); + logger.log(logging::LoggerLevel::LOGGER_LEVEL_INFO, "Main", "%s", "S.O.S Mode ON"); + sosActive = true; + } + } } void processPressedKey(char key) { diff --git a/src/menu_utils.cpp b/src/menu_utils.cpp index d6e7aa5d..2035f37f 100644 --- a/src/menu_utils.cpp +++ b/src/menu_utils.cpp @@ -25,6 +25,10 @@ extern int lowBatteryPercent; extern bool keyDetected; extern String messageCallsign; extern String messageText; +extern bool digirepeaterActive; +extern bool sosActive; + +String digi, sos; namespace MENU_Utils { @@ -171,12 +175,32 @@ namespace MENU_Utils { break; case 60: // 6. Emergency ---> Digirepeater - show_display("EMERGENCY_", "", "> Digirepeater", " S.O.S.","",lastLine); + if (digirepeaterActive) { + digi = "ON"; + } else { + digi = "OFF"; + } + if (sosActive) { + sos = "ON"; + } else { + sos = "OFF"; + } + show_display("EMERGENCY_", "", "> Digirepeater (" + digi + ")", " S.O.S. (" + sos + ")","",lastLine); break; case 61: // 6. Emergency ---> S.O.S. - show_display("EMERGENCY_", "", " Digirepeater", "> S.O.S.","",lastLine); + if (digirepeaterActive) { + digi = "ON"; + } else { + digi = "OFF"; + } + if (sosActive) { + sos = "ON"; + } else { + sos = "OFF"; + } + show_display("EMERGENCY_", "", " Digirepeater (" + digi + ")", "> S.O.S. (" + sos + ")","",lastLine); break; - + case 0: ///////////// MAIN MENU ////////////// String hdopState, firstRowMainMenu, secondRowMainMenu, thirdRowMainMenu, fourthRowMainMenu, fifthRowMainMenu, sixthRowMainMenu; diff --git a/src/msg_utils.cpp b/src/msg_utils.cpp index a89934c2..27c85e64 100644 --- a/src/msg_utils.cpp +++ b/src/msg_utils.cpp @@ -170,74 +170,74 @@ namespace MSG_Utils { return; } if (packetReceived.substring(0,3) == "\x3c\xff\x01") { // its an APRS packet - BLUETOOTH_Utils::sendPacket(packetReceived.substring(3)); //Serial.println(packetReceived); // only for debug aprsPacket = APRSPacketLib::processReceivedPacket(packetReceived.substring(3)); - - if (digirepeaterActive) { - Serial.print("Checking Packet before repeating ---> "); - String digiRepeatedPacket = APRSPacketLib::generateDigiRepeatedPacket(aprsPacket, currentBeacon->callsign); - if (digiRepeatedPacket == "X") { - Serial.println("Packet from " + aprsPacket.sender + " won't be repeated (missing WIDE1-X)"); - } else { - Serial.println(digiRepeatedPacket); + if (aprsPacket.sender!=currentBeacon->callsign) { + BLUETOOTH_Utils::sendPacket(packetReceived.substring(3)); + + if (digirepeaterActive) { + String digiRepeatedPacket = APRSPacketLib::generateDigiRepeatedPacket(aprsPacket, currentBeacon->callsign); + if (digiRepeatedPacket == "X") { + logger.log(logging::LoggerLevel::LOGGER_LEVEL_WARN, "Main", "%s", "Packet won't be Repeated (Missing WIDE1-X)"); + } else { + delay(500); + LoRa_Utils::sendNewPacket(digiRepeatedPacket); + } } - /// this is the place where the validated and reformated packet will be Tx through LoRa - - } - if (aprsPacket.type=="message" && aprsPacket.sender!=currentBeacon->callsign && aprsPacket.addressee==currentBeacon->callsign) { - if (aprsPacket.message.indexOf("{")>0) { - String ackMessage = "ack" + aprsPacket.message.substring(aprsPacket.message.indexOf("{")+1); - ackMessage.trim(); - delay(4000); - sendMessage(aprsPacket.sender, ackMessage); - aprsPacket.message = aprsPacket.message.substring(aprsPacket.message.indexOf(":")+1, aprsPacket.message.indexOf("{")); - } else { - aprsPacket.message = aprsPacket.message.substring(aprsPacket.message.indexOf(":")+1); - } - if (Config.notification.buzzerActive && Config.notification.messageRxBeep) { - NOTIFICATION_Utils::messageBeep(); - } - if (aprsPacket.message.indexOf("ping")==0 || aprsPacket.message.indexOf("Ping")==0 || aprsPacket.message.indexOf("PING")==0) { - delay(4000); - sendMessage(aprsPacket.sender, "pong, 73!"); - } - if (aprsPacket.sender == "CD2RXU-15" && aprsPacket.message.indexOf("WX")==0) { // WX = WeatherReport - Serial.println("Weather Report Received"); - String wxCleaning = aprsPacket.message.substring(aprsPacket.message.indexOf("WX ")+3); - String place = wxCleaning.substring(0,wxCleaning.indexOf(",")); - String placeCleaning = wxCleaning.substring(wxCleaning.indexOf(",")+1); - String summary = placeCleaning.substring(0,placeCleaning.indexOf(",")); - String sumCleaning = placeCleaning.substring(placeCleaning.indexOf(",")+2); - String temperature = sumCleaning.substring(0,sumCleaning.indexOf("P")); - String tempCleaning = sumCleaning.substring(sumCleaning.indexOf("P")+1); - String pressure = tempCleaning.substring(0,tempCleaning.indexOf("H")); - String presCleaning = tempCleaning.substring(tempCleaning.indexOf("H")+1); - String humidity = presCleaning.substring(0,presCleaning.indexOf("W")); - String humCleaning = presCleaning.substring(presCleaning.indexOf("W")+1); - String windSpeed = humCleaning.substring(0,humCleaning.indexOf(",")); - String windCleaning = humCleaning.substring(humCleaning.indexOf(",")+1); - String windDegrees = windCleaning.substring(windCleaning.indexOf(",")+1,windCleaning.indexOf("\n")); - - String fifthLineWR = temperature + "C " + pressure + "hPa " + humidity +"%"; - String sixthLineWR = "(wind " + windSpeed + "m/s " + windDegrees + "deg)"; - show_display("", "From --> " + aprsPacket.sender, place, summary, fifthLineWR, sixthLineWR); - menuDisplay = 40; - menuTime = millis(); - } else { - show_display("< MSG Rx >", "From --> " + aprsPacket.sender, "", aprsPacket.message , 3000); + if (aprsPacket.type==0) { + lastHeardTracker = aprsPacket.sender; if (!Config.simplifiedTrackerMode) { - saveNewMessage("APRS", aprsPacket.sender, aprsPacket.message); + GPS_Utils::calculateDistanceCourse(aprsPacket.sender, aprsPacket.latitude, aprsPacket.longitude); + if (Config.notification.buzzerActive && Config.notification.stationBeep && !digirepeaterActive) { + NOTIFICATION_Utils::stationHeardBeep(); + } + } + } else if (aprsPacket.type==1 && aprsPacket.addressee==currentBeacon->callsign) { + if (aprsPacket.message.indexOf("{")>0) { + String ackMessage = "ack" + aprsPacket.message.substring(aprsPacket.message.indexOf("{")+1); + ackMessage.trim(); + delay(4000); + sendMessage(aprsPacket.sender, ackMessage); + aprsPacket.message = aprsPacket.message.substring(aprsPacket.message.indexOf(":")+1, aprsPacket.message.indexOf("{")); + } else { + aprsPacket.message = aprsPacket.message.substring(aprsPacket.message.indexOf(":")+1); + } + if (Config.notification.buzzerActive && Config.notification.messageRxBeep) { + NOTIFICATION_Utils::messageBeep(); } - } - } else if (aprsPacket.type == "gps") { - lastHeardTracker = aprsPacket.sender; - if (!Config.simplifiedTrackerMode) { - GPS_Utils::calculateDistanceCourse(aprsPacket.sender, aprsPacket.latitude, aprsPacket.longitude); - if (Config.notification.buzzerActive && Config.notification.stationBeep) { - NOTIFICATION_Utils::stationHeardBeep(); + if (aprsPacket.message.indexOf("ping")==0 || aprsPacket.message.indexOf("Ping")==0 || aprsPacket.message.indexOf("PING")==0) { + delay(4000); + sendMessage(aprsPacket.sender, "pong, 73!"); } + if (aprsPacket.sender == "CD2RXU-15" && aprsPacket.message.indexOf("WX")==0) { // WX = WeatherReport + Serial.println("Weather Report Received"); + String wxCleaning = aprsPacket.message.substring(aprsPacket.message.indexOf("WX ")+3); + String place = wxCleaning.substring(0,wxCleaning.indexOf(",")); + String placeCleaning = wxCleaning.substring(wxCleaning.indexOf(",")+1); + String summary = placeCleaning.substring(0,placeCleaning.indexOf(",")); + String sumCleaning = placeCleaning.substring(placeCleaning.indexOf(",")+2); + String temperature = sumCleaning.substring(0,sumCleaning.indexOf("P")); + String tempCleaning = sumCleaning.substring(sumCleaning.indexOf("P")+1); + String pressure = tempCleaning.substring(0,tempCleaning.indexOf("H")); + String presCleaning = tempCleaning.substring(tempCleaning.indexOf("H")+1); + String humidity = presCleaning.substring(0,presCleaning.indexOf("W")); + String humCleaning = presCleaning.substring(presCleaning.indexOf("W")+1); + String windSpeed = humCleaning.substring(0,humCleaning.indexOf(",")); + String windCleaning = humCleaning.substring(humCleaning.indexOf(",")+1); + String windDegrees = windCleaning.substring(windCleaning.indexOf(",")+1,windCleaning.indexOf("\n")); + + String fifthLineWR = temperature + "C " + pressure + "hPa " + humidity +"%"; + String sixthLineWR = "(wind " + windSpeed + "m/s " + windDegrees + "deg)"; + show_display("", "From --> " + aprsPacket.sender, place, summary, fifthLineWR, sixthLineWR); + menuDisplay = 40; + menuTime = millis(); + } else { + show_display("< MSG Rx >", "From --> " + aprsPacket.sender, "", aprsPacket.message , 3000); + if (!Config.simplifiedTrackerMode) { + saveNewMessage("APRS", aprsPacket.sender, aprsPacket.message); + } + } } } } diff --git a/src/notification_utils.cpp b/src/notification_utils.cpp index e719640f..3796f5c5 100644 --- a/src/notification_utils.cpp +++ b/src/notification_utils.cpp @@ -12,6 +12,7 @@ int startUpSoundDuration[] = {100, 100, 100, 200}; //int shutDownSoundDuration[] = {60, 60, 200}; extern Configuration Config; +extern bool digirepeaterActive; namespace NOTIFICATION_Utils { @@ -27,6 +28,9 @@ namespace NOTIFICATION_Utils { void beaconTxBeep() { digitalWrite(Config.notification.buzzerPinVcc, HIGH); playTone(1320,100); + if (digirepeaterActive) { + playTone(1560,100); + } digitalWrite(Config.notification.buzzerPinVcc, LOW); } diff --git a/src/station_utils.cpp b/src/station_utils.cpp index e2a5b00e..4633a76e 100644 --- a/src/station_utils.cpp +++ b/src/station_utils.cpp @@ -183,7 +183,7 @@ namespace STATION_Utils { } else { if (callsign == firstNearTrackerCallsign) { if (distance != firstDistance) { - Serial.print("Distance Updated for : "); Serial.println(callsign); + //Serial.print("Distance Updated for : "); Serial.println(callsign); if (distance > secondDistance) { firstNearTracker = secondNearTracker; secondNearTracker = newTrackerInfo; @@ -193,7 +193,7 @@ namespace STATION_Utils { } } else if (callsign == secondNearTrackerCallsign) { if (distance != secondDistance) { - Serial.print("Distance Updated for : "); Serial.println(callsign); + //Serial.print("Distance Updated for : "); Serial.println(callsign); if (distance < firstDistance) { secondNearTracker = firstNearTracker; firstNearTracker = newTrackerInfo; @@ -223,7 +223,7 @@ namespace STATION_Utils { } else { if (callsign == firstNearTrackerCallsign) { if (distance != firstDistance) { - Serial.print("Distance Updated for : "); Serial.println(callsign); + //Serial.print("Distance Updated for : "); Serial.println(callsign); if (distance > thirdDistance) { firstNearTracker = secondNearTracker; secondNearTracker = thirdNearTracker; @@ -237,7 +237,7 @@ namespace STATION_Utils { } } else if (callsign == secondNearTrackerCallsign) { if (distance != secondDistance) { - Serial.print("Distance Updated for : "); Serial.println(callsign); + //Serial.print("Distance Updated for : "); Serial.println(callsign); if (distance > thirdDistance) { secondNearTracker = thirdNearTracker; thirdNearTracker = newTrackerInfo; @@ -250,7 +250,7 @@ namespace STATION_Utils { } } else if (callsign == thirdNearTrackerCallsign) { if (distance != thirdDistance) { - Serial.print("Distance Updated for : "); Serial.println(callsign); + //Serial.print("Distance Updated for : "); Serial.println(callsign); if (distance <= firstDistance) { thirdNearTracker = secondNearTracker; secondNearTracker = firstNearTracker; @@ -285,7 +285,7 @@ namespace STATION_Utils { } else { if (callsign == firstNearTrackerCallsign) { if (distance != firstDistance) { - Serial.print("Distance Updated for : "); Serial.println(callsign); + //Serial.print("Distance Updated for : "); Serial.println(callsign); if (distance > fourthDistance) { firstNearTracker = secondNearTracker; secondNearTracker = thirdNearTracker; @@ -304,7 +304,7 @@ namespace STATION_Utils { } } else if (callsign == secondNearTrackerCallsign) { if (distance != secondDistance) { - Serial.print("Distance Updated for : "); Serial.println(callsign); + //Serial.print("Distance Updated for : "); Serial.println(callsign); if (distance > fourthDistance) { secondNearTracker = thirdNearTracker; thirdNearTracker = fourthNearTracker; @@ -321,7 +321,7 @@ namespace STATION_Utils { } } else if (callsign == thirdNearTrackerCallsign) { if (distance != thirdDistance) { - Serial.print("Distance Updated for : "); Serial.println(callsign); + //Serial.print("Distance Updated for : "); Serial.println(callsign); if (distance > fourthDistance) { thirdNearTracker = fourthNearTracker; fourthNearTracker = newTrackerInfo; @@ -338,7 +338,7 @@ namespace STATION_Utils { } } else if (callsign == fourthNearTrackerCallsign) { if (distance != fourthDistance) { - Serial.print("Distance Updated for : "); Serial.println(callsign); + //Serial.print("Distance Updated for : "); Serial.println(callsign); if (distance > thirdDistance) { fourthNearTracker = newTrackerInfo; } else if (distance > secondDistance && distance <= thirdDistance) {