From e17b20bdc34f2eda2def739a5a45828282eda641 Mon Sep 17 00:00:00 2001 From: Mathew McKernan Date: Wed, 8 Mar 2017 15:53:25 +1100 Subject: [PATCH] Finalised implementation of compressed beacons transmitted Add settings strings for compressed locations in strings resource Updated javAPRSlib to support setting "csT" field on compressed pakcets Implement compressed altitudes & course data. If speed/course is enabled then append altitude as per uncompressed packets --- libs/javAPRSlib.jar | Bin 35958 -> 36208 bytes res/values/strings.xml | 4 ++++ res/xml/location.xml | 6 +++++ src/AprsPacket.scala | 31 ++++++++++++++++++++++++ src/AprsService.scala | 53 ++++++++++++++++++++++++++++++++++++----- 5 files changed, 88 insertions(+), 6 deletions(-) diff --git a/libs/javAPRSlib.jar b/libs/javAPRSlib.jar index e285596acd8b0d30a276df6e37d39e5a6cf0dc30..928e475c79c7d66e242b4b337d534e74e5f3e110 100644 GIT binary patch delta 32682 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 delta 32590 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≶f%ZvQ-X6DJwt0^cz1ea{L^O4 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, Periodic or SmartBeaconing™ Location Settings Configuration for sending position reports +Compressed Beacons +Send Compressed Beacons +Send Uncompressed Beacons + SmartBeaconing™ SmartBeaconing™ help diff --git a/res/xml/location.xml b/res/xml/location.xml index 4368627..d571e64 100644 --- a/res/xml/location.xml +++ b/res/xml/location.xml @@ -1,6 +1,12 @@ + 2) + var compressedBearing = (location.getBearing.asInstanceOf[Int] / 4).asInstanceOf[Int] + var compressedSpeed = ((math.log(mps2kt(location.getSpeed)) / math.log(1.08)) - 1).asInstanceOf[Int] + var c = compressedBearing.asInstanceOf[Byte] + 33; + var s = compressedSpeed.asInstanceOf[Byte] + 33; + // Negative speeds a courses cannot be expressed in base-91 and results in corrupt packets + if(c < 33) c = 33 + if(s < 33) s = 33 + "%c%c".format(c.asInstanceOf[Char], s.asInstanceOf[Char]) + } else { + "" + } + } + def formatFreq(csespd : String, freq : Float) : String = { if (freq == 0) "" else { val prefix = if (csespd.length() > 0) "/" else "" diff --git a/src/AprsService.scala b/src/AprsService.scala index 353aaf7..6835a0a 100644 --- a/src/AprsService.scala +++ b/src/AprsService.scala @@ -213,13 +213,54 @@ class AprsService extends Service { val pos = new Position(location.getLatitude, location.getLongitude, 0, symbol(0), symbol(1)) pos.setPositionAmbiguity(prefs.getStringInt("priv_ambiguity", 0)) - val status_spd = if (prefs.getBoolean("priv_spdbear", true)) - AprsPacket.formatCourseSpeed(location) else "" + val status_spd = if (prefs.getBoolean("priv_spdbear", true)) { + if(prefs.getBoolean("compressed_location", false)) { + // Compressed format + AprsPacket.formatCourseSpeedCompressed(location) + } else { + AprsPacket.formatCourseSpeed(location) + } + } else "" val status_freq = AprsPacket.formatFreq(status_spd, prefs.getStringFloat("frequency", 0.0f)) - val status_alt = if (prefs.getBoolean("priv_altitude", true)) - AprsPacket.formatAltitude(location) else "" - newPacket(new PositionPacket( - pos, status_spd + status_freq + status_alt + " " + status, /* messaging = */ true)) + val status_alt = if (prefs.getBoolean("priv_altitude", true)) { + // if speed is empty then use compressed altitude, otherwise use full length altitude + if(prefs.getBoolean("compressed_location", false) && status_spd == "") { + // Compressed format + AprsPacket.formatAltitudeCompressed(location) + } else { + AprsPacket.formatAltitude(location) + } + } else "" + if(prefs.getBoolean("compressed_location", false)) { + if(status_spd == "") { + // Speed is empty, so we can use a compressed altitude + if(status_alt == "") { + // Altitude is empty, so don't send any altitude data + pos.setCsTField(" sT") + } else { + // 3 signifies current GPS fix, GGA altitude, software compressed. + pos.setCsTField(status_alt + "3") + } + val packet = new PositionPacket( + pos, status_freq + " " + status, /* messaging = */ true) + packet.setCompressedFormat(true) + newPacket(packet) + } else { + // Speed is present, so we need to append the altitude to the end of the packet using the + // uncompressed method + // Apply the csT field with speed and course + // [ signifies current GPS fix, RMC speed, software compressed. + pos.setCsTField(status_spd + "[") + val packet = new PositionPacket( + pos, status_freq + status_alt + " " + status, /* messaging = */ true) + packet.setCompressedFormat(true) + newPacket(packet) + } + } else { + val packet = new PositionPacket( + pos, status_spd + status_freq + status_alt + " " + status, /* messaging = */ true) + newPacket(packet) + } } def sendPacket(packet : APRSPacket, status_postfix : String) {