diff --git a/src/main/java/ru/r2cloud/jradio/sapling/SaplingGiganteumBeacon.java b/src/main/java/ru/r2cloud/jradio/sapling/SaplingGiganteumBeacon.java index 6f40d582..0779fd72 100644 --- a/src/main/java/ru/r2cloud/jradio/sapling/SaplingGiganteumBeacon.java +++ b/src/main/java/ru/r2cloud/jradio/sapling/SaplingGiganteumBeacon.java @@ -48,6 +48,11 @@ public void readBeacon(byte[] data) throws IOException, UncorrectableException { id = dis.readUnsignedByte(); flags = dis.readUnsignedByte(); callsign = StreamUtils.readString(dis, 6); + // no way to tell if packet valid telemetry or unsupported communication type + // use known callsign to filter out all false-positive reception packets + if (!callsign.equalsIgnoreCase("KN6HCC")) { + throw new UncorrectableException("invalid callsign: " + callsign); + } int raw = dis.readUnsignedByte(); if ((raw & 1) == 1) { @@ -330,7 +335,7 @@ public void setAlt(float alt) { public Double getDatetime() { return datetime; } - + public void setDatetime(Double datetime) { this.datetime = datetime; }