diff --git a/README.md b/README.md index 8385097..5ad3f18 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,8 @@ ____________________________________________________ ____________________________________________________ ## Timeline (Versions): +- 2024.06.21 If Tracker Speed > 200km/hr and/or Altitude > 9.000 mts , path ("WIDE1-1") will be omited as its probably a plane. +- 2024.06.21 Wx Telemetry Tx on Tracker only if standing still > 15min. (On screen Wx Data will be available but won't be sended if moving). - 2024.06.07 Dynamic Height Correction of the BME280 Pressure readings. - 2024.05.21 WEMOS ESP32 Battery Holder + LoRa SX1278 + GPS Module support added. - 2024.05.16 all boards now work with Radiolib (LoRa) library from @jgromes. diff --git a/src/station_utils.cpp b/src/station_utils.cpp index 188a29a..47273a9 100644 --- a/src/station_utils.cpp +++ b/src/station_utils.cpp @@ -402,17 +402,21 @@ namespace STATION_Utils { void sendBeacon(uint8_t type) { String packet; if (Config.bme.sendTelemetry && type == 1) { // WX - packet = APRSPacketLib::generateGPSBeaconPacket(currentBeacon->callsign, "APLRT1", Config.path, "/", APRSPacketLib::encodeGPS(gps.location.lat(),gps.location.lng(), gps.course.deg(), gps.speed.knots(), currentBeacon->symbol, Config.sendAltitude, gps.altitude.feet(), sendStandingUpdate, "Wx")); + packet = APRSPacketLib::generateGPSBeaconPacket(currentBeacon->callsign, "APLRT1", Config.path, "/", APRSPacketLib::encodeGPS(gps.location.lat(),gps.location.lng(), gps.course.deg(), 0.0, currentBeacon->symbol, Config.sendAltitude, gps.altitude.feet(), sendStandingUpdate, "Wx")); if (wxModuleType != 0) { packet += BME_Utils::readDataSensor(0); } else { packet += ".../...g...t...r...p...P...h..b....."; } } else { + String path = Config.path; + if (gps.speed.kmph() > 200 || gps.altitude.meters() > 9000) { // avoid plane speed and altitude + path = ""; + } if (miceActive) { - packet = APRSPacketLib::generateMiceGPSBeacon(currentBeacon->micE, currentBeacon->callsign, currentBeacon->symbol, currentBeacon->overlay, Config.path, gps.location.lat(), gps.location.lng(), gps.course.deg(), gps.speed.knots(), gps.altitude.meters()); + packet = APRSPacketLib::generateMiceGPSBeacon(currentBeacon->micE, currentBeacon->callsign, currentBeacon->symbol, currentBeacon->overlay, path, gps.location.lat(), gps.location.lng(), gps.course.deg(), gps.speed.knots(), gps.altitude.meters()); } else { - packet = APRSPacketLib::generateGPSBeaconPacket(currentBeacon->callsign, "APLRT1", Config.path, currentBeacon->overlay, APRSPacketLib::encodeGPS(gps.location.lat(),gps.location.lng(), gps.course.deg(), gps.speed.knots(), currentBeacon->symbol, Config.sendAltitude, gps.altitude.feet(), sendStandingUpdate, "GPS")); + packet = APRSPacketLib::generateGPSBeaconPacket(currentBeacon->callsign, "APLRT1", path, currentBeacon->overlay, APRSPacketLib::encodeGPS(gps.location.lat(),gps.location.lng(), gps.course.deg(), gps.speed.knots(), currentBeacon->symbol, Config.sendAltitude, gps.altitude.feet(), sendStandingUpdate, "GPS")); } } String comment; @@ -471,7 +475,7 @@ namespace STATION_Utils { } void checkTelemetryTx() { - if (Config.bme.active && Config.bme.sendTelemetry) { + if (Config.bme.active && Config.bme.sendTelemetry && sendStandingUpdate) { lastTx = millis() - lastTxTime; telemetryTx = millis() - lastTelemetryTx; if ((lastTelemetryTx == 0 || telemetryTx > 10 * 60 * 1000) && lastTx > 10 * 1000) {