From 85c27a6cca8e6f96affd15602fdae85c0ad28a31 Mon Sep 17 00:00:00 2001 From: Denny Sheirer Date: Wed, 1 Apr 2020 07:28:26 +0000 Subject: [PATCH] Resolves #719 P25 Phase 2 display channel number (#722) Co-authored-by: Denny --- .../p25/identifier/channel/P25Channel.java | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/identifier/channel/P25Channel.java b/src/main/java/io/github/dsheirer/module/decode/p25/identifier/channel/P25Channel.java index 53698c0d..7407bf2c 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/identifier/channel/P25Channel.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/identifier/channel/P25Channel.java @@ -189,25 +189,40 @@ public class P25Channel implements IChannelDescriptor { StringBuilder sb = new StringBuilder(); + int downlinkChannelNumber = getDownlinkChannelNumber(); + + if(isTDMAChannel()) + { + downlinkChannelNumber -= downlinkChannelNumber % getTimeslotCount(); + } + if(getDownlinkBandIdentifier() == getUplinkBandIdentifier() && getDownlinkChannelNumber() == getUplinkChannelNumber()) { - sb.append(getDownlinkBandIdentifier()).append("-").append(getDownlinkLogicalChannelNumber()); + sb.append(getDownlinkBandIdentifier()).append("-").append(downlinkChannelNumber); } else if(hasUplinkChannel()) { + + int uplinkChannelNumber = getUplinkChannelNumber(); + + if(isTDMAChannel()) + { + uplinkChannelNumber -= uplinkChannelNumber % getTimeslotCount(); + } + sb.append(getDownlinkBandIdentifier()) .append("-") - .append(getDownlinkLogicalChannelNumber()) + .append(downlinkChannelNumber) .append("/") .append(getUplinkBandIdentifier()) .append("-") - .append(getUplinkLogicalChannelNumber()); + .append(uplinkChannelNumber); } else { sb.append(getDownlinkBandIdentifier()) .append("-") - .append(getDownlinkLogicalChannelNumber()) + .append(downlinkChannelNumber) .append("/-----"); }