From 64ac924f1f6a243fbd26d60c2a6b99a9fe4adeaf Mon Sep 17 00:00:00 2001 From: richonguzman Date: Mon, 24 Feb 2025 17:57:24 -0300 Subject: [PATCH] first proposal --- src/aprs_is_utils.cpp | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/src/aprs_is_utils.cpp b/src/aprs_is_utils.cpp index c8e9698..d977ccf 100644 --- a/src/aprs_is_utils.cpp +++ b/src/aprs_is_utils.cpp @@ -211,6 +211,22 @@ namespace APRS_IS_Utils { } } + bool checkObjectPacketToReject(const String packet) { // to filter out some objects + if (packet.indexOf("APDG01") != -1) { + Serial.println("*** REJ ***"); + return true; + } + + int objectIDIndex = packet.indexOf(":;"); + String payload = packet.substring(objectIDIndex + 2); + if (payload.indexOf("EL-") == 0) { + Serial.println("*** REJ ***"); + return true; + } + + return false; + } + String buildPacketToTx(const String& aprsisPacket, uint8_t packetType) { String packet = aprsisPacket; packet.trim(); @@ -334,10 +350,12 @@ namespace APRS_IS_Utils { displayShow(firstLine, secondLine, thirdLine, fourthLine, fifthLine, sixthLine, seventhLine, 0); } else if (Config.aprs_is.objectsToRF && packet.indexOf(":;") > 0) { Utils::println("Received Object from APRS-IS : " + packet); - STATION_Utils::addToOutputPacketBuffer(buildPacketToTx(packet, 5)); - displayToggle(true); - lastScreenOn = millis(); - Utils::typeOfPacket(packet, 1); // APRS-LoRa + if (!checkObjectPacketToReject(packet)) { + STATION_Utils::addToOutputPacketBuffer(buildPacketToTx(packet, 5)); + displayToggle(true); + lastScreenOn = millis(); + Utils::typeOfPacket(packet, 1); // APRS-LoRa + } } } }