diff --git a/src/main/java/io/github/dsheirer/bits/MultiSyncPatternMatcher.java b/src/main/java/io/github/dsheirer/bits/MultiSyncPatternMatcher.java index 89e939d3..cd4cd25c 100644 --- a/src/main/java/io/github/dsheirer/bits/MultiSyncPatternMatcher.java +++ b/src/main/java/io/github/dsheirer/bits/MultiSyncPatternMatcher.java @@ -1,18 +1,24 @@ -/******************************************************************************* - * sdr-trunk - * Copyright (C) 2014-2018 Dennis Sheirer +/* * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any - * later version. + * * ****************************************************************************** + * * Copyright (C) 2014-2020 Dennis Sheirer + * * + * * This program is free software: you can redistribute it and/or modify + * * it under the terms of the GNU General Public License as published by + * * the Free Software Foundation, either version 3 of the License, or + * * (at your option) any later version. + * * + * * This program is distributed in the hope that it will be useful, + * * but WITHOUT ANY WARRANTY; without even the implied warranty of + * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * * GNU General Public License for more details. + * * + * * You should have received a copy of the GNU General Public License + * * along with this program. If not, see + * * ***************************************************************************** * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied - * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along with this program. - * If not, see - * - ******************************************************************************/ + */ package io.github.dsheirer.bits; import io.github.dsheirer.dsp.symbol.ISyncDetectListener; @@ -94,8 +100,8 @@ public class MultiSyncPatternMatcher if(mBitCount > mSyncLossThreshold) { + mSyncDetectListener.syncLost(mBitCount); mBitCount = 0; - mSyncDetectListener.syncLost(); } } diff --git a/src/main/java/io/github/dsheirer/channel/metadata/ChannelMetadata.java b/src/main/java/io/github/dsheirer/channel/metadata/ChannelMetadata.java index 5cb68e23..ad8b5a21 100644 --- a/src/main/java/io/github/dsheirer/channel/metadata/ChannelMetadata.java +++ b/src/main/java/io/github/dsheirer/channel/metadata/ChannelMetadata.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -261,7 +261,12 @@ public class ChannelMetadata implements Listener, @Override public void receive(IdentifierUpdateNotification update) { -// mLog.debug("Received update: " + update + " class:" + update.getIdentifier().getClass()); +// mLog.debug("Received update: " + update + +// " class:" + update.getIdentifier().getIdentifierClass() + +// " form:" + update.getIdentifier().getForm() + +// " role:" + update.getIdentifier().getRole() + +// " class:" + update.getIdentifier().getClass()); + Identifier identifier = update.getIdentifier(); switch(identifier.getIdentifierClass()) diff --git a/src/main/java/io/github/dsheirer/dsp/fsk/LTRDecoder.java b/src/main/java/io/github/dsheirer/dsp/fsk/LTRDecoder.java index c502341d..0d2170a3 100644 --- a/src/main/java/io/github/dsheirer/dsp/fsk/LTRDecoder.java +++ b/src/main/java/io/github/dsheirer/dsp/fsk/LTRDecoder.java @@ -1,21 +1,23 @@ /* - * ****************************************************************************** - * sdrtrunk - * Copyright (C) 2014-2018 Dennis Sheirer * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. + * * ****************************************************************************** + * * Copyright (C) 2014-2020 Dennis Sheirer + * * + * * This program is free software: you can redistribute it and/or modify + * * it under the terms of the GNU General Public License as published by + * * the Free Software Foundation, either version 3 of the License, or + * * (at your option) any later version. + * * + * * This program is distributed in the hope that it will be useful, + * * but WITHOUT ANY WARRANTY; without even the implied warranty of + * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * * GNU General Public License for more details. + * * + * * You should have received a copy of the GNU General Public License + * * along with this program. If not, see + * * ***************************************************************************** * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see - * ***************************************************************************** */ package io.github.dsheirer.dsp.fsk; @@ -139,7 +141,7 @@ public class LTRDecoder implements Listener, ISyncDetectLis } @Override - public void syncLost() + public void syncLost(int bitsProcessed) { //no-op } diff --git a/src/main/java/io/github/dsheirer/dsp/fsk/SynchronizationMonitor.java b/src/main/java/io/github/dsheirer/dsp/fsk/SynchronizationMonitor.java index f8c514c5..c9f51332 100644 --- a/src/main/java/io/github/dsheirer/dsp/fsk/SynchronizationMonitor.java +++ b/src/main/java/io/github/dsheirer/dsp/fsk/SynchronizationMonitor.java @@ -1,18 +1,24 @@ -/******************************************************************************* - * sdr-trunk - * Copyright (C) 2014-2018 Dennis Sheirer +/* * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any - * later version. + * * ****************************************************************************** + * * Copyright (C) 2014-2020 Dennis Sheirer + * * + * * This program is free software: you can redistribute it and/or modify + * * it under the terms of the GNU General Public License as published by + * * the Free Software Foundation, either version 3 of the License, or + * * (at your option) any later version. + * * + * * This program is distributed in the hope that it will be useful, + * * but WITHOUT ANY WARRANTY; without even the implied warranty of + * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * * GNU General Public License for more details. + * * + * * You should have received a copy of the GNU General Public License + * * along with this program. If not, see + * * ***************************************************************************** * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied - * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along with this program. - * If not, see - * - ******************************************************************************/ + */ package io.github.dsheirer.dsp.fsk; import io.github.dsheirer.dsp.symbol.ISyncDetectListener; @@ -129,7 +135,7 @@ public class SynchronizationMonitor implements ISyncDetectListener } @Override - public void syncLost() + public void syncLost(int bitsProcessed) { //no-op } diff --git a/src/main/java/io/github/dsheirer/dsp/psk/pll/AdaptivePLLBandwidthMonitor.java b/src/main/java/io/github/dsheirer/dsp/psk/pll/AdaptivePLLBandwidthMonitor.java new file mode 100644 index 00000000..3e2cd1b9 --- /dev/null +++ b/src/main/java/io/github/dsheirer/dsp/psk/pll/AdaptivePLLBandwidthMonitor.java @@ -0,0 +1,125 @@ +/* + * + * * ****************************************************************************** + * * Copyright (C) 2014-2020 Dennis Sheirer + * * + * * This program is free software: you can redistribute it and/or modify + * * it under the terms of the GNU General Public License as published by + * * the Free Software Foundation, either version 3 of the License, or + * * (at your option) any later version. + * * + * * This program is distributed in the hope that it will be useful, + * * but WITHOUT ANY WARRANTY; without even the implied warranty of + * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * * GNU General Public License for more details. + * * + * * You should have received a copy of the GNU General Public License + * * along with this program. If not, see + * * ***************************************************************************** + * + * + */ +package io.github.dsheirer.dsp.psk.pll; + +import io.github.dsheirer.dsp.symbol.ISyncDetectListener; +import io.github.dsheirer.module.decode.FeedbackDecoder; +import io.github.dsheirer.source.SourceEvent; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Monitors decode sync events to adaptively control PLL loop gain. + */ +public class AdaptivePLLBandwidthMonitor implements ISyncDetectListener, IFrequencyErrorProcessor +{ + private final static Logger mLog = LoggerFactory.getLogger(AdaptivePLLBandwidthMonitor.class); + + private static final int MAX_SYNC_COUNT = PLLBandwidth.BW_200.getRangeEnd(); + private CostasLoop mCostasLoop; + private FeedbackDecoder mFeedbackDecoder; + private PLLBandwidth mPLLBandwidth = PLLBandwidth.BW_400; + private int mSyncCount; + + /** + * Constructs an adaptive monitor to monitor the sync state of a decoder and adjust the gain + * level of the costas loop accordingly. + * + * @param costasLoop to receive adaptive gain updates. + * @param feedbackDecoder to rebroadcast frequency error source events + */ + public AdaptivePLLBandwidthMonitor(CostasLoop costasLoop, FeedbackDecoder feedbackDecoder) + { + mCostasLoop = costasLoop; + mCostasLoop.setPLLBandwidth(mPLLBandwidth); + mCostasLoop.setFrequencyErrorProcessor(this); + mFeedbackDecoder = feedbackDecoder; + } + + /** + * Sync detection event. Updates the running sync count and updates the PLL gain level. + */ + @Override + public void syncDetected(int bitErrors) + { + mSyncCount++; + update(); + } + + /** + * Sync loss event. Updates the running sync count and updates the PLL gain level. + */ + @Override + public void syncLost(int bitsProcessed) + { + mSyncCount -= 2; + update(); + } + + /** + * Updates the gain state for a sync detect or sync loss + */ + private void update() + { + if(mSyncCount < 0) + { + mSyncCount = 0; + return; + } + + if(mSyncCount > MAX_SYNC_COUNT) + { + mSyncCount = MAX_SYNC_COUNT; + return; + } + + PLLBandwidth gain = PLLBandwidth.fromSyncCount(mSyncCount); + + //Only update the costas loop if the gain value changes + if(gain != mPLLBandwidth) + { + mPLLBandwidth = gain; + mCostasLoop.setPLLBandwidth(mPLLBandwidth); + } + } + + /** + * Resets the monitor and commands the PLL to use the highest gain level. + */ + public void reset() + { + mSyncCount = 0; + mPLLBandwidth = PLLBandwidth.BW_400; + mCostasLoop.setPLLBandwidth(mPLLBandwidth); + } + + @Override + public void processFrequencyError(long frequencyError) + { + //Only rebroadcast the costas loop frequency error if the gain level has progressed above + //a bandwidth of 300, meaning that we have received at least 4 sync events + if(mPLLBandwidth != PLLBandwidth.BW_400 && mPLLBandwidth != PLLBandwidth.BW_300) + { + mFeedbackDecoder.broadcast(SourceEvent.frequencyErrorMeasurement(frequencyError)); + } + } +} diff --git a/src/main/java/io/github/dsheirer/dsp/psk/pll/AdaptivePLLGainMonitor.java b/src/main/java/io/github/dsheirer/dsp/psk/pll/AdaptivePLLGainMonitor.java deleted file mode 100644 index 15db89bb..00000000 --- a/src/main/java/io/github/dsheirer/dsp/psk/pll/AdaptivePLLGainMonitor.java +++ /dev/null @@ -1,123 +0,0 @@ -/* - * ****************************************************************************** - * sdrtrunk - * Copyright (C) 2014-2019 Dennis Sheirer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see - * ***************************************************************************** - */ -package io.github.dsheirer.dsp.psk.pll; - -import io.github.dsheirer.dsp.symbol.ISyncDetectListener; -import io.github.dsheirer.module.decode.p25.phase1.P25P1Decoder; -import io.github.dsheirer.source.SourceEvent; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Monitors decode sync events to adaptively control PLL loop gain. - */ -public class AdaptivePLLGainMonitor implements ISyncDetectListener, IFrequencyErrorProcessor -{ - private final static Logger mLog = LoggerFactory.getLogger(AdaptivePLLGainMonitor.class); - - private static final int MAX_SYNC_COUNT = 6; - private CostasLoop mCostasLoop; - private P25P1Decoder mP25P1Decoder; - private PLLGain mPLLGain = PLLGain.LEVEL_1; - private int mSyncCount; - - /** - * Constructs an adaptive monitor to monitor the sync state of a decoder and adjust the gain - * level of the costas loop accordingly. - * - * @param costasLoop to receive adaptive gain updates. - * @param p25P1Decoder to receive frequency error source events - */ - public AdaptivePLLGainMonitor(CostasLoop costasLoop, P25P1Decoder p25P1Decoder) - { - mCostasLoop = costasLoop; - mCostasLoop.setPLLGain(mPLLGain); - mCostasLoop.setFrequencyErrorProcessor(this); - mP25P1Decoder = p25P1Decoder; - } - - /** - * Sync detection event. Updates the running sync count and updates the PLL gain level. - */ - @Override - public void syncDetected(int bitErrors) - { - mSyncCount++; - update(); - } - - /** - * Sync loss event. Updates the running sync count and updates the PLL gain level. - */ - @Override - public void syncLost() - { - mSyncCount -= 2; - update(); - } - - /** - * Updates the gain state for a sync detect or sync loss - */ - private void update() - { - if(mSyncCount < 0) - { - mSyncCount = 0; - return; - } - - if(mSyncCount > MAX_SYNC_COUNT) - { - mSyncCount = MAX_SYNC_COUNT; - return; - } - - PLLGain gain = PLLGain.fromSyncCount(mSyncCount); - - //Only update the costas loop if the gain value changes - if(gain != mPLLGain) - { - mPLLGain = gain; - mCostasLoop.setPLLGain(mPLLGain); - } - } - - /** - * Resets the monitor and commands the PLL to use the highest gain level. - */ - public void reset() - { - mSyncCount = 0; - mPLLGain = PLLGain.LEVEL_1; - mCostasLoop.setPLLGain(mPLLGain); - } - - @Override - public void processFrequencyError(long frequencyError) - { - //Only rebroadcast the costas loop frequency error if the gain level has progressed above the - //default gain of 1, meaning that we have received at least 2 sync events - if(mPLLGain != PLLGain.LEVEL_1) - { - mP25P1Decoder.broadcast(SourceEvent.frequencyErrorMeasurement(frequencyError)); - } - } -} diff --git a/src/main/java/io/github/dsheirer/dsp/psk/pll/CostasLoop.java b/src/main/java/io/github/dsheirer/dsp/psk/pll/CostasLoop.java index 3fe40ea5..117fa908 100644 --- a/src/main/java/io/github/dsheirer/dsp/psk/pll/CostasLoop.java +++ b/src/main/java/io/github/dsheirer/dsp/psk/pll/CostasLoop.java @@ -1,18 +1,24 @@ -/******************************************************************************* - * sdr-trunk - * Copyright (C) 2014-2018 Dennis Sheirer +/* * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any - * later version. + * * ****************************************************************************** + * * Copyright (C) 2014-2020 Dennis Sheirer + * * + * * This program is free software: you can redistribute it and/or modify + * * it under the terms of the GNU General Public License as published by + * * the Free Software Foundation, either version 3 of the License, or + * * (at your option) any later version. + * * + * * This program is distributed in the hope that it will be useful, + * * but WITHOUT ANY WARRANTY; without even the implied warranty of + * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * * GNU General Public License for more details. + * * + * * You should have received a copy of the GNU General Public License + * * along with this program. If not, see + * * ***************************************************************************** * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied - * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along with this program. - * If not, see - * - ******************************************************************************/ + */ package io.github.dsheirer.dsp.psk.pll; import io.github.dsheirer.sample.complex.Complex; @@ -41,7 +47,7 @@ public class CostasLoop implements IPhaseLockedLoop private double mDamping = Math.sqrt(2.0) / 2.0; private double mAlphaGain; private double mBetaGain; - private PLLGain mPLLGain = PLLGain.LEVEL_1; + private PLLBandwidth mPLLBandwidth = PLLBandwidth.BW_400; private double mSymbolRate; private double mSampleRate; private IFrequencyErrorProcessor mFrequencyErrorProcessor; @@ -63,8 +69,7 @@ public class CostasLoop implements IPhaseLockedLoop } /** - * Registers the listener to receive the measured frequency error as tracked by the PLL at one - * second intervals. + * Registers the listener to receive the measured frequency error as tracked by the PLL once per second * * @param listener to receive frequency error measurement. */ @@ -102,22 +107,25 @@ public class CostasLoop implements IPhaseLockedLoop */ private void updateLoopBandwidth() { - double bandwidth = TWO_PI / mPLLGain.getLoopBandwidth(); + double bandwidth = TWO_PI / mPLLBandwidth.getLoopBandwidth(); mAlphaGain = (4.0 * mDamping * bandwidth) / (1.0 + (2.0 * mDamping * bandwidth) + (bandwidth * bandwidth)); mBetaGain = (4.0 * bandwidth * bandwidth) / (1.0 + (2.0 * mDamping * bandwidth) + (bandwidth * bandwidth)); } /** - * Sets the PLLGain state for this costas loop. The PLLGain state affects the aggressiveness of the alpha/beta + * Sets the PLLBandwidth state for this costas loop. The bandwidth affects the aggressiveness of the alpha/beta * gain values in synchronizing with the signal carrier. * - * @param PLLGain + * @param pllBandwidth */ - public void setPLLGain(PLLGain PLLGain) + public void setPLLBandwidth(PLLBandwidth pllBandwidth) { - mPLLGain = PLLGain; - updateLoopBandwidth(); + if(mPLLBandwidth != pllBandwidth) + { + mPLLBandwidth = pllBandwidth; + updateLoopBandwidth(); + } } /** @@ -162,8 +170,7 @@ public class CostasLoop implements IPhaseLockedLoop } /** - * Updates the costas loop frequency and phase to adjust for the phase - * error value + * Updates the costas loop frequency and phase to adjust for the phase error value * * @param phaseError - (-)= late and (+)= early */ diff --git a/src/main/java/io/github/dsheirer/dsp/psk/pll/FrequencyCorrectionSyncMonitor.java b/src/main/java/io/github/dsheirer/dsp/psk/pll/FrequencyCorrectionSyncMonitor.java new file mode 100644 index 00000000..b12ec5de --- /dev/null +++ b/src/main/java/io/github/dsheirer/dsp/psk/pll/FrequencyCorrectionSyncMonitor.java @@ -0,0 +1,110 @@ +/* + * + * * ****************************************************************************** + * * Copyright (C) 2014-2020 Dennis Sheirer + * * + * * This program is free software: you can redistribute it and/or modify + * * it under the terms of the GNU General Public License as published by + * * the Free Software Foundation, either version 3 of the License, or + * * (at your option) any later version. + * * + * * This program is distributed in the hope that it will be useful, + * * but WITHOUT ANY WARRANTY; without even the implied warranty of + * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * * GNU General Public License for more details. + * * + * * You should have received a copy of the GNU General Public License + * * along with this program. If not, see + * * ***************************************************************************** + * + * + */ +package io.github.dsheirer.dsp.psk.pll; + +import io.github.dsheirer.dsp.symbol.ISyncDetectListener; +import io.github.dsheirer.module.decode.FeedbackDecoder; +import io.github.dsheirer.source.SourceEvent; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Monitors decode sync events to adaptively control frequency correction broadcasts. + */ +public class FrequencyCorrectionSyncMonitor implements ISyncDetectListener, IFrequencyErrorProcessor +{ + private final static Logger mLog = LoggerFactory.getLogger(FrequencyCorrectionSyncMonitor.class); + + private static final int MAX_SYNC_COUNT = PLLBandwidth.BW_200.getRangeEnd(); + private FeedbackDecoder mFeedbackDecoder; + private CostasLoop mCostasLoop; + private int mSyncCount; + + /** + * Constructs an adaptive monitor to monitor the sync state of a decoder + * + * @param costasLoop to receive adaptive gain updates. + * @param feedbackDecoder to rebroadcast frequency error source events + */ + public FrequencyCorrectionSyncMonitor(CostasLoop costasLoop, FeedbackDecoder feedbackDecoder) + { + mCostasLoop = costasLoop; + mCostasLoop.setFrequencyErrorProcessor(this); + mFeedbackDecoder = feedbackDecoder; + } + + /** + * Sync detection event. Updates the running sync count and updates the PLL gain level. + */ + @Override + public void syncDetected(int bitErrors) + { + mSyncCount++; + update(); + } + + /** + * Sync loss event. Updates the running sync count and updates the PLL gain level. + */ + @Override + public void syncLost(int bitsProcessed) + { + mSyncCount -= 2; + update(); + } + + /** + * Updates the sync count + */ + private void update() + { + if(mSyncCount < 0) + { + mSyncCount = 0; + return; + } + + if(mSyncCount > MAX_SYNC_COUNT) + { + mSyncCount = MAX_SYNC_COUNT; + return; + } + } + + /** + * Resets the monitor + */ + public void reset() + { + mSyncCount = 0; + } + + @Override + public void processFrequencyError(long frequencyError) + { + //Only rebroadcast the frequency error if the sync count is more than 2 + if(mSyncCount > 2) + { + mFeedbackDecoder.broadcast(SourceEvent.frequencyErrorMeasurement(frequencyError)); + } + } +} diff --git a/src/main/java/io/github/dsheirer/dsp/psk/pll/PLLGain.java b/src/main/java/io/github/dsheirer/dsp/psk/pll/PLLBandwidth.java similarity index 63% rename from src/main/java/io/github/dsheirer/dsp/psk/pll/PLLGain.java rename to src/main/java/io/github/dsheirer/dsp/psk/pll/PLLBandwidth.java index f02607b5..8c6fd8f1 100644 --- a/src/main/java/io/github/dsheirer/dsp/psk/pll/PLLGain.java +++ b/src/main/java/io/github/dsheirer/dsp/psk/pll/PLLBandwidth.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -21,37 +21,45 @@ */ package io.github.dsheirer.dsp.psk.pll; +import java.util.Map; +import java.util.TreeMap; + /** * Phase Locked Loop (PLL) tracking bandwidth - controls how fast/slow the PLL tracks the carrier frequency */ -public enum PLLGain +public enum PLLBandwidth { - //NOTE: static gain level of 200 produced the best results for releases prior to 0.3.4b2 + //NOTE: static bandwidth of 200 produced the best results for P25P1 releases prior to 0.3.4b2 - LEVEL_0(100.0, 0, 0), - LEVEL_1(150.0, 0, 1), - LEVEL_2(170.0, 2, 4), - LEVEL_3(190.0, 5, 6), - LEVEL_4(200.0, 7, 8), - LEVEL_5(200.0, 9, 10), - LEVEL_6(250.0, 11, 12), - LEVEL_7(275.0, 12,13), - LEVEL_8(325.0, 14, 15), - LEVEL_9(350.0, 16,17), - LEVEL_10(375.0, 18, 19), - LEVEL_11(400.0, 19,20); + BW_400(400.0, 0, 1), + BW_300(300.0, 2, 3), + BW_250(250.0, 4, 5), + BW_200(200.0, 6, 7); private double mLoopBandwidth; private int mRangeStart; private int mRangeEnd; - PLLGain(double loopBandwidth, int start, int end) + PLLBandwidth(double loopBandwidth, int start, int end) { mLoopBandwidth = loopBandwidth; mRangeStart = start; mRangeEnd = end; } + private static Map LOOKUP_MAP = new TreeMap<>(); + + static + { + for(PLLBandwidth pllBandwidth : PLLBandwidth.values()) + { + for(int x = pllBandwidth.getRangeStart(); x <= pllBandwidth.getRangeEnd(); x++) + { + LOOKUP_MAP.put(x, pllBandwidth); + } + } + } + /** * Loop bandwidth setting */ @@ -76,27 +84,13 @@ public enum PLLGain * @param syncCount 0-10 * @return PLL gain appropriate for the sync detection value */ - public static PLLGain fromSyncCount(int syncCount) + public static PLLBandwidth fromSyncCount(int syncCount) { - if(syncCount <= LEVEL_1.getRangeEnd()) + if(LOOKUP_MAP.containsKey(syncCount)) { - return LEVEL_1; - } - else if(syncCount <= LEVEL_2.getRangeEnd()) - { - return LEVEL_2; - } - else if(syncCount <= LEVEL_3.getRangeEnd()) - { - return LEVEL_3; - } - else if(syncCount <= LEVEL_4.getRangeEnd()) - { - return LEVEL_4; - } - else - { - return LEVEL_5; + return LOOKUP_MAP.get(syncCount); } + + return BW_200; } } diff --git a/src/main/java/io/github/dsheirer/dsp/psk/pll/QPSKPhaseInversionCalculator.java b/src/main/java/io/github/dsheirer/dsp/psk/pll/QPSKPhaseInversionCalculator.java index faa20b41..8a3fdbed 100644 --- a/src/main/java/io/github/dsheirer/dsp/psk/pll/QPSKPhaseInversionCalculator.java +++ b/src/main/java/io/github/dsheirer/dsp/psk/pll/QPSKPhaseInversionCalculator.java @@ -22,20 +22,26 @@ package io.github.dsheirer.dsp.psk.pll; +import io.github.dsheirer.dsp.symbol.Dibit; + /** * Utility for calculating phase inverted sync pattern derivatives for QPSK constellations */ public class QPSKPhaseInversionCalculator { - public static String[] LOOKUP_MINUS_90 = {"A","8","B","9","2","0","3","1","E","C","F","D","6","4","7","5"}; - public static String[] LOOKUP_PLUS_90 = {"5","7","4","6","D","F","C","E","1","3","0","2","9","B","8","A"}; - public static String[] LOOKUP_180 = {"F","E","D","C","B","A","9","8","7","6","5","4","3","2","1","0"}; - public static void main(String[] args) { + //DMR sync patterns - String[] syncs = {"755FD7DF75F7", "DFF57D75DF5D", "7F7D5DD57DFD", "D5D7F77FD757", "77D55F7DFD77", - "5D577F7757FF", "F7FDD5DDFD55", "7DFFD5F55D5F", "D7557F5FF7F5", "DD7FF5D757DD"}; +// String[] syncs = {"755FD7DF75F7", "DFF57D75DF5D", "7F7D5DD57DFD", "D5D7F77FD757", "77D55F7DFD77", +// "5D577F7757FF", "F7FDD5DDFD55", "7DFFD5F55D5F", "D7557F5FF7F5", "DD7FF5D757DD"}; + + //P25 Phase 2 sync pattern + String[] syncs = {"575D57F7FF"}; + + //P25 Phase 1 sync pattern +// String[] syncs = {"5575F5FF77FF"}; + for(String sync: syncs) { @@ -56,10 +62,11 @@ public class QPSKPhaseInversionCalculator { value = letter - 48; } + sbNorm.append(letter); - sbP90.append(LOOKUP_PLUS_90[value]); - sbM90.append(LOOKUP_MINUS_90[value]); - sb180.append(LOOKUP_180[value]); + sbP90.append(rotate(value, Dibit.Rotation.PLUS90)); + sbM90.append(rotate(value, Dibit.Rotation.MINUS90)); + sb180.append(rotate(value, Dibit.Rotation.INVERT)); } System.out.println("NORMAL: " + sync); @@ -68,4 +75,59 @@ public class QPSKPhaseInversionCalculator System.out.println(" 180: " + sb180.toString()); } } + + /** + * Converts the hexadecimal value to an integer, decomposes it into high and low order dibits, rotates the dibits + * in the specified direction, and recombines the rotated dibits into a 4-bit value, returned as a hex character. + * @param value to rotate + * @param direction direction + * @return rotated hex character + */ + public static String rotate(int value, Dibit.Rotation direction) + { + try + { + Dibit dibitHigh = getHighDibit(value); + Dibit dibitLow = getLowDibit(value); + return getHex(dibitHigh.rotate(direction), dibitLow.rotate(direction)); + } + catch(Exception e) + { + //ignore + } + + return "-"; + } + + /** + * Combines the bit values from the two dibits and converts the integer value to a hex character + * @param d1 containing the high order bits + * @param d2 containing the low order bits + * @return string hex character representing the value of these dibits combined + */ + public static String getHex(Dibit d1, Dibit d2) + { + int value = d1.getHighValue() + d2.getLowValue(); + return Integer.toHexString(value).toUpperCase(); + } + + /** + * Calculates the dibit that represents the bits in the 0x8 and 0x4 bit positions of the value + * @param value + * @return a dibit + */ + public static Dibit getHighDibit(int value) + { + return Dibit.fromValue((value >> 2) & 3); + } + + /** + * Calculates the dibit that represents the bits in the 0x2 and 0x1 bit positions of the value + * @param value + * @return a dibit + */ + public static Dibit getLowDibit(int value) + { + return Dibit.fromValue(value & 3); + } } diff --git a/src/main/java/io/github/dsheirer/dsp/symbol/Dibit.java b/src/main/java/io/github/dsheirer/dsp/symbol/Dibit.java index d912109e..9a1ef20a 100644 --- a/src/main/java/io/github/dsheirer/dsp/symbol/Dibit.java +++ b/src/main/java/io/github/dsheirer/dsp/symbol/Dibit.java @@ -1,3 +1,25 @@ +/* + * + * * ****************************************************************************** + * * Copyright (C) 2014-2020 Dennis Sheirer + * * + * * This program is free software: you can redistribute it and/or modify + * * it under the terms of the GNU General Public License as published by + * * the Free Software Foundation, either version 3 of the License, or + * * (at your option) any later version. + * * + * * This program is distributed in the hope that it will be useful, + * * but WITHOUT ANY WARRANTY; without even the implied warranty of + * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * * GNU General Public License for more details. + * * + * * You should have received a copy of the GNU General Public License + * * along with this program. If not, see + * * ***************************************************************************** + * + * + */ + package io.github.dsheirer.dsp.symbol; public enum Dibit @@ -133,6 +155,89 @@ public enum Dibit return Dibit.D00_PLUS_1; } + public static enum Rotation {PLUS90, MINUS90, INVERT} + + /** + * Returns the value of this dibit if the symbol were rotated in the direction indicated. + * + * This can be used for calculating phase rotation and phase inversion pattern derivatives from a normal sync pattern + * @param rotation to apply to this dibit + * @return rotated version of this dibit + */ + public Dibit rotate(Rotation rotation) + { + switch(this) + { + case D00_PLUS_1: + switch(rotation) + { + case PLUS90: + return Dibit.D01_PLUS_3; + case MINUS90: + return Dibit.D10_MINUS_1; + case INVERT: + return Dibit.D11_MINUS_3; + } + break; + case D01_PLUS_3: + switch(rotation) + { + case PLUS90: + return Dibit.D11_MINUS_3; + case MINUS90: + return Dibit.D00_PLUS_1; + case INVERT: + return Dibit.D10_MINUS_1; + } + break; + case D10_MINUS_1: + switch(rotation) + { + case PLUS90: + return Dibit.D00_PLUS_1; + case MINUS90: + return Dibit.D11_MINUS_3; + case INVERT: + return Dibit.D01_PLUS_3; + } + break; + case D11_MINUS_3: + switch(rotation) + { + case PLUS90: + return Dibit.D10_MINUS_1; + case MINUS90: + return Dibit.D01_PLUS_3; + case INVERT: + return Dibit.D00_PLUS_1; + } + } + + //We should never reach this point + return Dibit.D00_PLUS_1; + } + + /** + * Returns the dibit that corresponds to the value + * @param value 0-3 + * @return representative dibit or Dibit.00 if the value is outside of the range 0-3 + */ + public static Dibit fromValue(int value) + { + switch(value) + { + case 0: + default: + return Dibit.D00_PLUS_1; + case 1: + return Dibit.D01_PLUS_3; + case 2: + return Dibit.D10_MINUS_1; + case 3: + return Dibit.D11_MINUS_3; + } + } + public static void main(String[] args) { byte a = (byte)0x1B; diff --git a/src/main/java/io/github/dsheirer/dsp/symbol/FrameSync.java b/src/main/java/io/github/dsheirer/dsp/symbol/FrameSync.java index d1683384..4ab0df43 100644 --- a/src/main/java/io/github/dsheirer/dsp/symbol/FrameSync.java +++ b/src/main/java/io/github/dsheirer/dsp/symbol/FrameSync.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -29,7 +29,10 @@ public enum FrameSync P25_PHASE1_ERROR_90_CW( 0x001050551155l ), P25_PHASE1_ERROR_180( 0xAA8A0A008800l ), - P25_PHASE2_NORMAL(0x575D57F7FFl); + P25_PHASE2_NORMAL( 0x575D57F7FFl), + P25_PHASE2_ERROR_90_CCW(0xFEFBFEAEAAl), + P25_PHASE2_ERROR_90_CW( 0x0104015155l), + P25_PHASE2_ERROR_180( 0xA8A2A80800l); private long mSync; diff --git a/src/main/java/io/github/dsheirer/dsp/symbol/ISyncDetectListener.java b/src/main/java/io/github/dsheirer/dsp/symbol/ISyncDetectListener.java index e560c1e6..c98dfe40 100644 --- a/src/main/java/io/github/dsheirer/dsp/symbol/ISyncDetectListener.java +++ b/src/main/java/io/github/dsheirer/dsp/symbol/ISyncDetectListener.java @@ -1,18 +1,24 @@ -/******************************************************************************* - * sdr-trunk - * Copyright (C) 2014-2018 Dennis Sheirer +/* * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any - * later version. + * * ****************************************************************************** + * * Copyright (C) 2014-2020 Dennis Sheirer + * * + * * This program is free software: you can redistribute it and/or modify + * * it under the terms of the GNU General Public License as published by + * * the Free Software Foundation, either version 3 of the License, or + * * (at your option) any later version. + * * + * * This program is distributed in the hope that it will be useful, + * * but WITHOUT ANY WARRANTY; without even the implied warranty of + * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * * GNU General Public License for more details. + * * + * * You should have received a copy of the GNU General Public License + * * along with this program. If not, see + * * ***************************************************************************** * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied - * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along with this program. - * If not, see - * - ******************************************************************************/ + */ package io.github.dsheirer.dsp.symbol; /** @@ -31,6 +37,8 @@ public interface ISyncDetectListener /** * Indicates that sync has been lost + * + * @param bitsProcessed number of bits that were processed without a sync detection */ - void syncLost(); + void syncLost(int bitsProcessed); } diff --git a/src/main/java/io/github/dsheirer/gui/instrument/decoder/LJ1200Pane.java b/src/main/java/io/github/dsheirer/gui/instrument/decoder/LJ1200Pane.java index 84c1d94e..ddeb01c5 100644 --- a/src/main/java/io/github/dsheirer/gui/instrument/decoder/LJ1200Pane.java +++ b/src/main/java/io/github/dsheirer/gui/instrument/decoder/LJ1200Pane.java @@ -1,18 +1,24 @@ -/******************************************************************************* - * sdr-trunk - * Copyright (C) 2014-2018 Dennis Sheirer +/* * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any - * later version. + * * ****************************************************************************** + * * Copyright (C) 2014-2020 Dennis Sheirer + * * + * * This program is free software: you can redistribute it and/or modify + * * it under the terms of the GNU General Public License as published by + * * the Free Software Foundation, either version 3 of the License, or + * * (at your option) any later version. + * * + * * This program is distributed in the hope that it will be useful, + * * but WITHOUT ANY WARRANTY; without even the implied warranty of + * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * * GNU General Public License for more details. + * * + * * You should have received a copy of the GNU General Public License + * * along with this program. If not, see + * * ***************************************************************************** * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied - * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along with this program. - * If not, see - * - ******************************************************************************/ + */ package io.github.dsheirer.gui.instrument.decoder; import io.github.dsheirer.dsp.symbol.ISyncDetectListener; @@ -46,7 +52,7 @@ public class LJ1200Pane extends AbstractAFSK1200Pane } @Override - public void syncLost() + public void syncLost(int bitsProcessed) { //no-op } @@ -60,7 +66,7 @@ public class LJ1200Pane extends AbstractAFSK1200Pane } @Override - public void syncLost() + public void syncLost(int bitsProcessed) { //no-op } diff --git a/src/main/java/io/github/dsheirer/gui/instrument/decoder/MDC1200Pane.java b/src/main/java/io/github/dsheirer/gui/instrument/decoder/MDC1200Pane.java index 81e63de2..8de00fc2 100644 --- a/src/main/java/io/github/dsheirer/gui/instrument/decoder/MDC1200Pane.java +++ b/src/main/java/io/github/dsheirer/gui/instrument/decoder/MDC1200Pane.java @@ -1,18 +1,24 @@ -/******************************************************************************* - * sdr-trunk - * Copyright (C) 2014-2018 Dennis Sheirer +/* * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any - * later version. + * * ****************************************************************************** + * * Copyright (C) 2014-2020 Dennis Sheirer + * * + * * This program is free software: you can redistribute it and/or modify + * * it under the terms of the GNU General Public License as published by + * * the Free Software Foundation, either version 3 of the License, or + * * (at your option) any later version. + * * + * * This program is distributed in the hope that it will be useful, + * * but WITHOUT ANY WARRANTY; without even the implied warranty of + * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * * GNU General Public License for more details. + * * + * * You should have received a copy of the GNU General Public License + * * along with this program. If not, see + * * ***************************************************************************** * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied - * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along with this program. - * If not, see - * - ******************************************************************************/ + */ package io.github.dsheirer.gui.instrument.decoder; import io.github.dsheirer.dsp.symbol.ISyncDetectListener; @@ -46,7 +52,7 @@ public class MDC1200Pane extends AbstractAFSK1200Pane } @Override - public void syncLost() + public void syncLost(int bitsProcessed) { mLog.debug("Sync Lost!"); } diff --git a/src/main/java/io/github/dsheirer/gui/instrument/decoder/MPT1327Pane.java b/src/main/java/io/github/dsheirer/gui/instrument/decoder/MPT1327Pane.java index d0c910d9..b6e1ad1f 100644 --- a/src/main/java/io/github/dsheirer/gui/instrument/decoder/MPT1327Pane.java +++ b/src/main/java/io/github/dsheirer/gui/instrument/decoder/MPT1327Pane.java @@ -1,18 +1,24 @@ -/******************************************************************************* - * sdr-trunk - * Copyright (C) 2014-2018 Dennis Sheirer +/* * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any - * later version. + * * ****************************************************************************** + * * Copyright (C) 2014-2020 Dennis Sheirer + * * + * * This program is free software: you can redistribute it and/or modify + * * it under the terms of the GNU General Public License as published by + * * the Free Software Foundation, either version 3 of the License, or + * * (at your option) any later version. + * * + * * This program is distributed in the hope that it will be useful, + * * but WITHOUT ANY WARRANTY; without even the implied warranty of + * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * * GNU General Public License for more details. + * * + * * You should have received a copy of the GNU General Public License + * * along with this program. If not, see + * * ***************************************************************************** * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied - * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along with this program. - * If not, see - * - ******************************************************************************/ + */ package io.github.dsheirer.gui.instrument.decoder; import io.github.dsheirer.dsp.symbol.ISyncDetectListener; @@ -46,7 +52,7 @@ public class MPT1327Pane extends AbstractAFSK1200Pane } @Override - public void syncLost() + public void syncLost(int bitsProcessed) { //no-op } @@ -60,7 +66,7 @@ public class MPT1327Pane extends AbstractAFSK1200Pane } @Override - public void syncLost() + public void syncLost(int bitsProcessed) { //no-op } diff --git a/src/main/java/io/github/dsheirer/gui/instrument/decoder/Tait1200Pane.java b/src/main/java/io/github/dsheirer/gui/instrument/decoder/Tait1200Pane.java index c3b23aaa..17833acf 100644 --- a/src/main/java/io/github/dsheirer/gui/instrument/decoder/Tait1200Pane.java +++ b/src/main/java/io/github/dsheirer/gui/instrument/decoder/Tait1200Pane.java @@ -1,18 +1,24 @@ -/******************************************************************************* - * sdr-trunk - * Copyright (C) 2014-2018 Dennis Sheirer +/* * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any - * later version. + * * ****************************************************************************** + * * Copyright (C) 2014-2020 Dennis Sheirer + * * + * * This program is free software: you can redistribute it and/or modify + * * it under the terms of the GNU General Public License as published by + * * the Free Software Foundation, either version 3 of the License, or + * * (at your option) any later version. + * * + * * This program is distributed in the hope that it will be useful, + * * but WITHOUT ANY WARRANTY; without even the implied warranty of + * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * * GNU General Public License for more details. + * * + * * You should have received a copy of the GNU General Public License + * * along with this program. If not, see + * * ***************************************************************************** * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied - * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along with this program. - * If not, see - * - ******************************************************************************/ + */ package io.github.dsheirer.gui.instrument.decoder; import io.github.dsheirer.dsp.symbol.ISyncDetectListener; @@ -46,7 +52,7 @@ public class Tait1200Pane extends AbstractAFSK1200Pane } @Override - public void syncLost() + public void syncLost(int bitsProcessed) { } @@ -60,7 +66,7 @@ public class Tait1200Pane extends AbstractAFSK1200Pane } @Override - public void syncLost() + public void syncLost(int bitsProcessed) { } diff --git a/src/main/java/io/github/dsheirer/module/decode/FeedbackDecoder.java b/src/main/java/io/github/dsheirer/module/decode/FeedbackDecoder.java new file mode 100644 index 00000000..fb14cd06 --- /dev/null +++ b/src/main/java/io/github/dsheirer/module/decode/FeedbackDecoder.java @@ -0,0 +1,65 @@ +/* + * + * * ****************************************************************************** + * * Copyright (C) 2014-2020 Dennis Sheirer + * * + * * This program is free software: you can redistribute it and/or modify + * * it under the terms of the GNU General Public License as published by + * * the Free Software Foundation, either version 3 of the License, or + * * (at your option) any later version. + * * + * * This program is distributed in the hope that it will be useful, + * * but WITHOUT ANY WARRANTY; without even the implied warranty of + * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * * GNU General Public License for more details. + * * + * * You should have received a copy of the GNU General Public License + * * along with this program. If not, see + * * ***************************************************************************** + * + * + */ + +package io.github.dsheirer.module.decode; + +import io.github.dsheirer.sample.Listener; +import io.github.dsheirer.source.ISourceEventProvider; +import io.github.dsheirer.source.SourceEvent; + +/** + * Decoder that provides feedback to signal source(s) via SourceEvent broadcasts and supports registering source + * event listeners. + */ +public abstract class FeedbackDecoder extends Decoder implements ISourceEventProvider +{ + private Listener mSourceEventListener; + + /** + * Registers the listener to receive source events from this decoder + */ + @Override + public void setSourceEventListener(Listener listener) + { + mSourceEventListener = listener; + } + + /** + * Deregisters the listener from receiving source events from this decoder. + */ + @Override + public void removeSourceEventListener() + { + mSourceEventListener = null; + } + + /** + * Broadcasts the specified source event to the optional registered source event listener + */ + public void broadcast(SourceEvent sourceEvent) + { + if(mSourceEventListener != null) + { + mSourceEventListener.receive(sourceEvent); + } + } +} diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/identifier/radio/APCO25Radio.java b/src/main/java/io/github/dsheirer/module/decode/p25/identifier/radio/APCO25RadioIdentifier.java similarity index 82% rename from src/main/java/io/github/dsheirer/module/decode/p25/identifier/radio/APCO25Radio.java rename to src/main/java/io/github/dsheirer/module/decode/p25/identifier/radio/APCO25RadioIdentifier.java index 9ba58c54..022555ee 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/identifier/radio/APCO25Radio.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/identifier/radio/APCO25RadioIdentifier.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -29,9 +29,9 @@ import io.github.dsheirer.protocol.Protocol; /** * APCO-25 Radio Identifier */ -public class APCO25Radio extends RadioIdentifier +public class APCO25RadioIdentifier extends RadioIdentifier { - public APCO25Radio(Integer value, Role role) + public APCO25RadioIdentifier(Integer value, Role role) { super(value, role); } @@ -47,7 +47,7 @@ public class APCO25Radio extends RadioIdentifier */ public static RadioIdentifier createTo(int radioId) { - return new APCO25Radio(radioId, Role.TO); + return new APCO25RadioIdentifier(radioId, Role.TO); } /** @@ -55,7 +55,7 @@ public class APCO25Radio extends RadioIdentifier */ public static RadioIdentifier createFrom(int radioId) { - return new APCO25Radio(radioId, Role.FROM); + return new APCO25RadioIdentifier(radioId, Role.FROM); } /** @@ -63,6 +63,6 @@ public class APCO25Radio extends RadioIdentifier */ public static RadioIdentifier createAny(int radioId) { - return new APCO25Radio(radioId, Role.ANY); + return new APCO25RadioIdentifier(radioId, Role.ANY); } } diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1DataUnitDetector.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1DataUnitDetector.java index 28d8f30d..32ffcb99 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1DataUnitDetector.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1DataUnitDetector.java @@ -1,21 +1,23 @@ /* - * ****************************************************************************** - * sdrtrunk - * Copyright (C) 2014-2019 Dennis Sheirer * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. + * * ****************************************************************************** + * * Copyright (C) 2014-2020 Dennis Sheirer + * * + * * This program is free software: you can redistribute it and/or modify + * * it under the terms of the GNU General Public License as published by + * * the Free Software Foundation, either version 3 of the License, or + * * (at your option) any later version. + * * + * * This program is distributed in the hope that it will be useful, + * * but WITHOUT ANY WARRANTY; without even the implied warranty of + * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * * GNU General Public License for more details. + * * + * * You should have received a copy of the GNU General Public License + * * along with this program. If not, see + * * ***************************************************************************** * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see - * ***************************************************************************** */ package io.github.dsheirer.module.decode.p25.phase1; @@ -72,9 +74,9 @@ public class P25P1DataUnitDetector implements Listener, ISyncDetectListen } @Override - public void syncLost() + public void syncLost(int bitsProcessed) { - dispatchSyncLoss(0); + dispatchSyncLoss(bitsProcessed); } private void dispatchSyncLoss(int bitsProcessed) diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1Decoder.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1Decoder.java index c143a831..620e8dcc 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1Decoder.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1Decoder.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -23,8 +23,8 @@ package io.github.dsheirer.module.decode.p25.phase1; import io.github.dsheirer.dsp.symbol.Dibit; import io.github.dsheirer.dsp.symbol.DibitToByteBufferAssembler; -import io.github.dsheirer.module.decode.Decoder; import io.github.dsheirer.module.decode.DecoderType; +import io.github.dsheirer.module.decode.FeedbackDecoder; import io.github.dsheirer.sample.Broadcaster; import io.github.dsheirer.sample.Listener; import io.github.dsheirer.sample.buffer.IReusableByteBufferProvider; @@ -32,10 +32,9 @@ import io.github.dsheirer.sample.buffer.IReusableComplexBufferListener; import io.github.dsheirer.sample.buffer.ReusableByteBuffer; import io.github.dsheirer.sample.buffer.ReusableComplexBuffer; import io.github.dsheirer.source.ISourceEventListener; -import io.github.dsheirer.source.ISourceEventProvider; import io.github.dsheirer.source.SourceEvent; -public abstract class P25P1Decoder extends Decoder implements ISourceEventListener, ISourceEventProvider, +public abstract class P25P1Decoder extends FeedbackDecoder implements ISourceEventListener, IReusableComplexBufferListener, Listener, IReusableByteBufferProvider { private double mSampleRate; @@ -131,24 +130,6 @@ public abstract class P25P1Decoder extends Decoder implements ISourceEventListen mMessageProcessor = null; } - /** - * Sets the source event listener to receive source events from this decoder. - */ - @Override - public void setSourceEventListener(Listener listener) - { - mSourceEventListener = listener; - } - - /** - * Removes a registered source event listener from receiving source events from this decoder - */ - @Override - public void removeSourceEventListener() - { - mSourceEventListener = null; - } - @Override public Listener getSourceEventListener() { @@ -168,19 +149,6 @@ public abstract class P25P1Decoder extends Decoder implements ISourceEventListen */ protected abstract void process(SourceEvent sourceEvent); - /** - * Broadcasts the source event to an optional registered listener. This method should primarily be used to - * issue frequency correction requests to the channel source. - * @param sourceEvent to broadcast - */ - public void broadcast(SourceEvent sourceEvent) - { - if(mSourceEventListener != null) - { - mSourceEventListener.receive(sourceEvent); - } - } - /** * Listener interface to receive reusable complex buffers */ diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1DecoderC4FM.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1DecoderC4FM.java index ed26772e..e4b5efa2 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1DecoderC4FM.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1DecoderC4FM.java @@ -1,21 +1,23 @@ /* - * ****************************************************************************** - * sdrtrunk - * Copyright (C) 2014-2019 Dennis Sheirer * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. + * * ****************************************************************************** + * * Copyright (C) 2014-2020 Dennis Sheirer + * * + * * This program is free software: you can redistribute it and/or modify + * * it under the terms of the GNU General Public License as published by + * * the Free Software Foundation, either version 3 of the License, or + * * (at your option) any later version. + * * + * * This program is distributed in the hope that it will be useful, + * * but WITHOUT ANY WARRANTY; without even the implied warranty of + * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * * GNU General Public License for more details. + * * + * * You should have received a copy of the GNU General Public License + * * along with this program. If not, see + * * ***************************************************************************** * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see - * ***************************************************************************** */ package io.github.dsheirer.module.decode.p25.phase1; @@ -26,8 +28,9 @@ import io.github.dsheirer.dsp.filter.fir.complex.ComplexFIRFilter2; import io.github.dsheirer.dsp.gain.ComplexFeedForwardGainControl; import io.github.dsheirer.dsp.psk.DQPSKDecisionDirectedDemodulator; import io.github.dsheirer.dsp.psk.InterpolatingSampleBuffer; -import io.github.dsheirer.dsp.psk.pll.AdaptivePLLGainMonitor; import io.github.dsheirer.dsp.psk.pll.CostasLoop; +import io.github.dsheirer.dsp.psk.pll.FrequencyCorrectionSyncMonitor; +import io.github.dsheirer.dsp.psk.pll.PLLBandwidth; import io.github.dsheirer.module.decode.DecoderType; import io.github.dsheirer.sample.buffer.ReusableComplexBuffer; import io.github.dsheirer.source.SourceEvent; @@ -45,7 +48,7 @@ public class P25P1DecoderC4FM extends P25P1Decoder protected InterpolatingSampleBuffer mInterpolatingSampleBuffer; protected DQPSKDecisionDirectedDemodulator mQPSKDemodulator; protected CostasLoop mCostasLoop; - protected AdaptivePLLGainMonitor mPLLGainMonitor; + protected FrequencyCorrectionSyncMonitor mFrequencyCorrectionSyncMonitor; protected P25P1MessageFramer mMessageFramer; private ComplexFeedForwardGainControl mAGC = new ComplexFeedForwardGainControl(32); private Map mBasebandFilters = new HashMap<>(); @@ -68,7 +71,8 @@ public class P25P1DecoderC4FM extends P25P1Decoder mBasebandFilter = new ComplexFIRFilter2(getBasebandFilter()); mCostasLoop = new CostasLoop(getSampleRate(), getSymbolRate()); - mPLLGainMonitor = new AdaptivePLLGainMonitor(mCostasLoop, this); + mCostasLoop.setPLLBandwidth(PLLBandwidth.BW_300); + mFrequencyCorrectionSyncMonitor = new FrequencyCorrectionSyncMonitor(mCostasLoop, this); mInterpolatingSampleBuffer = new InterpolatingSampleBuffer(getSamplesPerSymbol(), SAMPLE_COUNTER_GAIN); mQPSKDemodulator = new DQPSKDecisionDirectedDemodulator(mCostasLoop, mInterpolatingSampleBuffer); @@ -81,7 +85,7 @@ public class P25P1DecoderC4FM extends P25P1Decoder //The Costas Loop receives symbol-inversion correction requests when detected. //The PLL gain monitor receives sync detect/loss signals from the message framer mMessageFramer = new P25P1MessageFramer(mCostasLoop, DecoderType.P25_PHASE1.getProtocol().getBitRate()); - mMessageFramer.setSyncDetectListener(mPLLGainMonitor); + mMessageFramer.setSyncDetectListener(mFrequencyCorrectionSyncMonitor); mMessageFramer.setListener(getMessageProcessor()); mMessageFramer.setSampleRate(sampleRate); @@ -202,6 +206,6 @@ public class P25P1DecoderC4FM extends P25P1Decoder public void reset() { mCostasLoop.reset(); - mPLLGainMonitor.reset(); + mFrequencyCorrectionSyncMonitor.reset(); } } diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1DecoderLSM.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1DecoderLSM.java index e03a115e..0afc9a93 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1DecoderLSM.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1DecoderLSM.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -27,8 +27,9 @@ import io.github.dsheirer.dsp.filter.fir.complex.ComplexFIRFilter2; import io.github.dsheirer.dsp.gain.ComplexFeedForwardGainControl; import io.github.dsheirer.dsp.psk.DQPSKGardnerDemodulator; import io.github.dsheirer.dsp.psk.InterpolatingSampleBuffer; -import io.github.dsheirer.dsp.psk.pll.AdaptivePLLGainMonitor; import io.github.dsheirer.dsp.psk.pll.CostasLoop; +import io.github.dsheirer.dsp.psk.pll.FrequencyCorrectionSyncMonitor; +import io.github.dsheirer.dsp.psk.pll.PLLBandwidth; import io.github.dsheirer.module.decode.DecoderType; import io.github.dsheirer.protocol.Protocol; import io.github.dsheirer.record.binary.BinaryRecorder; @@ -56,8 +57,8 @@ public class P25P1DecoderLSM extends P25P1Decoder protected DQPSKGardnerDemodulator mQPSKDemodulator; protected P25P1MessageFramer mMessageFramer; protected CostasLoop mCostasLoop; - protected AdaptivePLLGainMonitor mPLLGainMonitor; protected InterpolatingSampleBuffer mInterpolatingSampleBuffer; + protected FrequencyCorrectionSyncMonitor mFrequencyCorrectionSyncMonitor; /** * P25 Phase 1 - linear simulcast modulation (LSM) decoder. Uses Differential QPSK decoding with a Costas PLL and @@ -81,7 +82,8 @@ public class P25P1DecoderLSM extends P25P1Decoder mBasebandFilter = new ComplexFIRFilter2(getBasebandFilter()); mCostasLoop = new CostasLoop(getSampleRate(), getSymbolRate()); - mPLLGainMonitor = new AdaptivePLLGainMonitor(mCostasLoop, this); + mCostasLoop.setPLLBandwidth(PLLBandwidth.BW_200); + mFrequencyCorrectionSyncMonitor = new FrequencyCorrectionSyncMonitor(mCostasLoop, this); mInterpolatingSampleBuffer = new InterpolatingSampleBuffer(getSamplesPerSymbol(), SAMPLE_COUNTER_GAIN); @@ -95,7 +97,7 @@ public class P25P1DecoderLSM extends P25P1Decoder } mMessageFramer = new P25P1MessageFramer(mCostasLoop, DecoderType.P25_PHASE1.getProtocol().getBitRate()); - mMessageFramer.setSyncDetectListener(mPLLGainMonitor); + mMessageFramer.setSyncDetectListener(mFrequencyCorrectionSyncMonitor); mMessageFramer.setListener(getMessageProcessor()); mMessageFramer.setSampleRate(sampleRate); mQPSKDemodulator.setSymbolListener(getDibitBroadcaster()); @@ -163,7 +165,7 @@ public class P25P1DecoderLSM extends P25P1Decoder public void reset() { mCostasLoop.reset(); - mPLLGainMonitor.reset(); + mFrequencyCorrectionSyncMonitor.reset(); } public void dispose() diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1MessageFramer.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1MessageFramer.java index 07666bdb..0c5ac735 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1MessageFramer.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1MessageFramer.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -416,7 +416,7 @@ public class P25P1MessageFramer implements Listener, IP25P1DataUnitDetect if(mSyncDetectListener != null) { - mSyncDetectListener.syncLost(); + mSyncDetectListener.syncLost(bitsProcessed); } } diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1SyncDetector.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1SyncDetector.java index fcd2b7e7..db95ed74 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1SyncDetector.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/P25P1SyncDetector.java @@ -1,21 +1,23 @@ /* - * ****************************************************************************** - * sdrtrunk - * Copyright (C) 2014-2019 Dennis Sheirer * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. + * * ****************************************************************************** + * * Copyright (C) 2014-2020 Dennis Sheirer + * * + * * This program is free software: you can redistribute it and/or modify + * * it under the terms of the GNU General Public License as published by + * * the Free Software Foundation, either version 3 of the License, or + * * (at your option) any later version. + * * + * * This program is distributed in the hope that it will be useful, + * * but WITHOUT ANY WARRANTY; without even the implied warranty of + * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * * GNU General Public License for more details. + * * + * * You should have received a copy of the GNU General Public License + * * along with this program. If not, see + * * ***************************************************************************** * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see - * ***************************************************************************** */ package io.github.dsheirer.module.decode.p25.phase1; @@ -37,9 +39,10 @@ public class P25P1SyncDetector implements Listener * 90 degrees requires a correction of 1/4 of the symbol rate (1200Hz). An * error of 180 degrees requires a correction of 1/2 of the symbol rate */ public static final double DEFAULT_SAMPLE_RATE = 50000.0; + public static final double DEFAULT_SYMBOL_RATE = 4800; - public static final double FREQUENCY_PHASE_CORRECTION_90_DEGREES = 1200.0; - public static final double FREQUENCY_PHASE_CORRECTION_180_DEGREES = 2400.0; + public static final double FREQUENCY_PHASE_CORRECTION_90_DEGREES = DEFAULT_SYMBOL_RATE / 4.0; + public static final double FREQUENCY_PHASE_CORRECTION_180_DEGREES = DEFAULT_SYMBOL_RATE / 2.0; private MultiSyncPatternMatcher mMatcher; private SoftSyncDetector mPrimarySyncDetector; @@ -146,7 +149,7 @@ public class P25P1SyncDetector implements Listener } @Override - public void syncLost() + public void syncLost(int bitsProcessed) { //no-op } diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaPatchGroupVoiceChannelUser.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaPatchGroupVoiceChannelUser.java index e3136061..1b59d4e9 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaPatchGroupVoiceChannelUser.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaPatchGroupVoiceChannelUser.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.bits.BinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.identifier.patch.PatchGroup; import io.github.dsheirer.module.decode.p25.identifier.patch.APCO25PatchGroup; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions; @@ -96,7 +96,7 @@ public class LCMotorolaPatchGroupVoiceChannelUser extends MotorolaLinkControlWor { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCCallAlert.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCCallAlert.java index e5fa4ea5..8ea04f47 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCCallAlert.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCCallAlert.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard; import io.github.dsheirer.bits.BinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord; import java.util.ArrayList; @@ -71,7 +71,7 @@ public class LCCallAlert extends LinkControlWord { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -84,7 +84,7 @@ public class LCCallAlert extends LinkControlWord { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCExtendedFunctionCommand.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCExtendedFunctionCommand.java index bac5f563..022e805b 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCExtendedFunctionCommand.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCExtendedFunctionCommand.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard; import io.github.dsheirer.bits.BinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord; import io.github.dsheirer.module.decode.p25.reference.ExtendedFunction; @@ -88,7 +88,7 @@ public class LCExtendedFunctionCommand extends LinkControlWord { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupAffiliationQuery.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupAffiliationQuery.java index 5f10adfa..5e2e8132 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupAffiliationQuery.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupAffiliationQuery.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard; import io.github.dsheirer.bits.BinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord; import java.util.ArrayList; @@ -70,7 +70,7 @@ public class LCGroupAffiliationQuery extends LinkControlWord { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -83,7 +83,7 @@ public class LCGroupAffiliationQuery extends LinkControlWord { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupVoiceChannelUser.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupVoiceChannelUser.java index 327148de..055cd29f 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupVoiceChannelUser.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupVoiceChannelUser.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard; import io.github.dsheirer.bits.BinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord; import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions; @@ -100,7 +100,7 @@ public class LCGroupVoiceChannelUser extends LinkControlWord { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCMessageUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCMessageUpdate.java index 6fe817bb..c72eba77 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCMessageUpdate.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCMessageUpdate.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard; import io.github.dsheirer.bits.BinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.message.APCO25ShortDataMessage; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord; import java.util.ArrayList; @@ -84,7 +84,7 @@ public class LCMessageUpdate extends LinkControlWord { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -97,7 +97,7 @@ public class LCMessageUpdate extends LinkControlWord { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCProtectionParameterBroadcast.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCProtectionParameterBroadcast.java index 4dbc817f..70b7e3b0 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCProtectionParameterBroadcast.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCProtectionParameterBroadcast.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.bits.BinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.identifier.encryption.EncryptionKeyIdentifier; import io.github.dsheirer.module.decode.p25.identifier.encryption.APCO25EncryptionKey; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord; import java.util.ArrayList; @@ -84,7 +84,7 @@ public class LCProtectionParameterBroadcast extends LinkControlWord { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCStatusQuery.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCStatusQuery.java index 7e46a7aa..ce5ab7da 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCStatusQuery.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCStatusQuery.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard; import io.github.dsheirer.bits.BinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord; import java.util.ArrayList; @@ -70,7 +70,7 @@ public class LCStatusQuery extends LinkControlWord { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -83,7 +83,7 @@ public class LCStatusQuery extends LinkControlWord { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCStatusUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCStatusUpdate.java index 035b2ec1..f15743a0 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCStatusUpdate.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCStatusUpdate.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard; import io.github.dsheirer.bits.BinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UnitStatus; import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UserStatus; import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord; @@ -98,7 +98,7 @@ public class LCStatusUpdate extends LinkControlWord { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -111,7 +111,7 @@ public class LCStatusUpdate extends LinkControlWord { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCTelephoneInterconnectAnswerRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCTelephoneInterconnectAnswerRequest.java index cd83e7b1..e85ee22d 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCTelephoneInterconnectAnswerRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCTelephoneInterconnectAnswerRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard; import io.github.dsheirer.bits.BinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.telephone.APCO25TelephoneNumber; import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord; import io.github.dsheirer.module.decode.p25.reference.Digit; @@ -103,7 +103,7 @@ public class LCTelephoneInterconnectAnswerRequest extends LinkControlWord { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitAuthenticationCommand.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitAuthenticationCommand.java index 7cfd70ea..0d1f0c5d 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitAuthenticationCommand.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitAuthenticationCommand.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.bits.BinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord; import java.util.ArrayList; @@ -101,7 +101,7 @@ public class LCUnitAuthenticationCommand extends LinkControlWord { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitRegistrationCommand.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitRegistrationCommand.java index 65a66acf..06166837 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitRegistrationCommand.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitRegistrationCommand.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.bits.BinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord; import java.util.ArrayList; @@ -101,7 +101,7 @@ public class LCUnitRegistrationCommand extends LinkControlWord { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitToUnitAnswerRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitToUnitAnswerRequest.java index 807de22b..0f298f7b 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitToUnitAnswerRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitToUnitAnswerRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard; import io.github.dsheirer.bits.BinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord; import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions; @@ -88,7 +88,7 @@ public class LCUnitToUnitAnswerRequest extends LinkControlWord { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -101,7 +101,7 @@ public class LCUnitToUnitAnswerRequest extends LinkControlWord { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitToUnitVoiceChannelUser.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitToUnitVoiceChannelUser.java index 1911ac88..ab08a187 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitToUnitVoiceChannelUser.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitToUnitVoiceChannelUser.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard; import io.github.dsheirer.bits.BinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord; import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions; @@ -87,7 +87,7 @@ public class LCUnitToUnitVoiceChannelUser extends LinkControlWord { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -100,7 +100,7 @@ public class LCUnitToUnitVoiceChannelUser extends LinkControlWord { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/PDUHeader.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/PDUHeader.java index e0975a8a..675a57d5 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/PDUHeader.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/PDUHeader.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.bits.BinaryMessage; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.message.IBitErrorProvider; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.reference.Direction; import io.github.dsheirer.module.decode.p25.reference.PDUFormat; import io.github.dsheirer.module.decode.p25.reference.Vendor; @@ -154,11 +154,11 @@ public class PDUHeader implements IBitErrorProvider { if(isOutbound()) { - mLLID = APCO25Radio.createTo(getMessage().getInt(LOGICAL_LINK_ID)); + mLLID = APCO25RadioIdentifier.createTo(getMessage().getInt(LOGICAL_LINK_ID)); } else { - mLLID = APCO25Radio.createFrom(getMessage().getInt(LOGICAL_LINK_ID)); + mLLID = APCO25RadioIdentifier.createFrom(getMessage().getInt(LOGICAL_LINK_ID)); } } diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/PDUMessage.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/PDUMessage.java index 03d0c1ba..9954ec0f 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/PDUMessage.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/PDUMessage.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -23,7 +23,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.P25Message; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.Opcode; @@ -177,11 +177,11 @@ public class PDUMessage extends P25Message { if(isOutbound()) { - mLLID = APCO25Radio.createTo(getMessage().getInt(LOGICAL_LINK_ID)); + mLLID = APCO25RadioIdentifier.createTo(getMessage().getInt(LOGICAL_LINK_ID)); } else { - mLLID = APCO25Radio.createFrom(getMessage().getInt(LOGICAL_LINK_ID)); + mLLID = APCO25RadioIdentifier.createFrom(getMessage().getInt(LOGICAL_LINK_ID)); } } diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCAuthenticationQuery.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCAuthenticationQuery.java index 9abe366c..6add1a9b 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCAuthenticationQuery.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCAuthenticationQuery.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; @@ -76,7 +76,7 @@ public class AMBTCAuthenticationQuery extends AMBTCMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); } return mSourceAddress; @@ -109,7 +109,7 @@ public class AMBTCAuthenticationQuery extends AMBTCMessage { if(mTargetId == null && hasDataBlock(0)) { - mTargetId = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID)); + mTargetId = APCO25RadioIdentifier.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID)); } return mTargetId; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCAuthenticationResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCAuthenticationResponse.java index f35b1931..f497bb48 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCAuthenticationResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCAuthenticationResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; @@ -82,7 +82,7 @@ public class AMBTCAuthenticationResponse extends AMBTCMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getHeader().getMessage().getInt(HEADER_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getHeader().getMessage().getInt(HEADER_ADDRESS)); } return mTargetAddress; @@ -115,7 +115,7 @@ public class AMBTCAuthenticationResponse extends AMBTCMessage { if(mSourceId == null && hasDataBlock(0)) { - mSourceId = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID)); + mSourceId = APCO25RadioIdentifier.createFrom(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID)); } return mSourceId; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCCallAlertRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCCallAlertRequest.java index 896f0d13..c1481b77 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCCallAlertRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCCallAlertRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; @@ -75,7 +75,7 @@ public class AMBTCCallAlertRequest extends AMBTCMessage { if(mTargetId == null) { - mTargetId = APCO25Radio.createTo(getHeader().getMessage().getInt(BLOCK_0_TARGET_ID)); + mTargetId = APCO25RadioIdentifier.createTo(getHeader().getMessage().getInt(BLOCK_0_TARGET_ID)); } return mTargetId; @@ -108,7 +108,7 @@ public class AMBTCCallAlertRequest extends AMBTCMessage { if(mSourceAddress == null && hasDataBlock(0)) { - mSourceAddress = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCGroupAffiliationRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCGroupAffiliationRequest.java index 0dceacf7..91c59988 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCGroupAffiliationRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCGroupAffiliationRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; @@ -110,7 +110,7 @@ public class AMBTCGroupAffiliationRequest extends AMBTCMessage { if(mSourceAddress == null && hasDataBlock(0)) { - mSourceAddress = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCIndividualDataServiceRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCIndividualDataServiceRequest.java index f1616638..64a4ba85 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCIndividualDataServiceRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCIndividualDataServiceRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; import io.github.dsheirer.module.decode.p25.reference.DataServiceOptions; @@ -79,7 +79,7 @@ public class AMBTCIndividualDataServiceRequest extends AMBTCMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); } return mSourceAddress; @@ -119,7 +119,7 @@ public class AMBTCIndividualDataServiceRequest extends AMBTCMessage { if(mTargetId == null && hasDataBlock(0)) { - mTargetId = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID)); + mTargetId = APCO25RadioIdentifier.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID)); } return mTargetId; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCLocationRegistrationRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCLocationRegistrationRequest.java index 400b0fd3..0294be37 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCLocationRegistrationRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCLocationRegistrationRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25Lra; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; @@ -110,7 +110,7 @@ public class AMBTCLocationRegistrationRequest extends AMBTCMessage { if(mSourceId == null) { - mSourceId = APCO25Radio.createFrom(getHeader().getMessage().getInt(BLOCK_0_SOURCE_ID)); + mSourceId = APCO25RadioIdentifier.createFrom(getHeader().getMessage().getInt(BLOCK_0_SOURCE_ID)); } return mSourceId; @@ -143,7 +143,7 @@ public class AMBTCLocationRegistrationRequest extends AMBTCMessage { if(mSourceAddress == null && hasDataBlock(0)) { - mSourceAddress = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCMessageUpdateRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCMessageUpdateRequest.java index cfbfb898..35135728 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCMessageUpdateRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCMessageUpdateRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; import io.github.dsheirer.module.decode.p25.identifier.message.APCO25ShortDataMessage; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; @@ -78,7 +78,7 @@ public class AMBTCMessageUpdateRequest extends AMBTCMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); } return mSourceAddress; @@ -118,7 +118,7 @@ public class AMBTCMessageUpdateRequest extends AMBTCMessage { if(mTargetId == null && hasDataBlock(0)) { - mTargetId = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID)); + mTargetId = APCO25RadioIdentifier.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID)); } return mTargetId; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCRoamingAddressRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCRoamingAddressRequest.java index e2617379..475b1928 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCRoamingAddressRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCRoamingAddressRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; @@ -75,7 +75,7 @@ public class AMBTCRoamingAddressRequest extends AMBTCMessage { if(mTargetId == null) { - mTargetId = APCO25Radio.createTo(getHeader().getMessage().getInt(BLOCK_0_TARGET_ID)); + mTargetId = APCO25RadioIdentifier.createTo(getHeader().getMessage().getInt(BLOCK_0_TARGET_ID)); } return mTargetId; @@ -108,7 +108,7 @@ public class AMBTCRoamingAddressRequest extends AMBTCMessage { if(mSourceAddress == null && hasDataBlock(0)) { - mSourceAddress = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusQueryRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusQueryRequest.java index 5ac8d1e3..d83abe75 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusQueryRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusQueryRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; @@ -77,7 +77,7 @@ public class AMBTCStatusQueryRequest extends AMBTCMessage { if(mTargetId == null) { - mTargetId = APCO25Radio.createTo(getHeader().getMessage().getInt(BLOCK_0_TARGET_ID)); + mTargetId = APCO25RadioIdentifier.createTo(getHeader().getMessage().getInt(BLOCK_0_TARGET_ID)); } return mTargetId; @@ -110,7 +110,7 @@ public class AMBTCStatusQueryRequest extends AMBTCMessage { if(mSourceAddress == null && hasDataBlock(0)) { - mSourceAddress = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusQueryResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusQueryResponse.java index 6d85f485..7fd95839 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusQueryResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusQueryResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UnitStatus; import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UserStatus; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; @@ -82,7 +82,7 @@ public class AMBTCStatusQueryResponse extends AMBTCMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); } return mSourceAddress; @@ -132,7 +132,7 @@ public class AMBTCStatusQueryResponse extends AMBTCMessage { if(mTargetId == null && hasDataBlock(0)) { - mTargetId = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID)); + mTargetId = APCO25RadioIdentifier.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID)); } return mTargetId; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusUpdateRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusUpdateRequest.java index 07bdd18d..3cd26de2 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusUpdateRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusUpdateRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UnitStatus; import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UserStatus; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; @@ -82,7 +82,7 @@ public class AMBTCStatusUpdateRequest extends AMBTCMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); } return mSourceAddress; @@ -132,7 +132,7 @@ public class AMBTCStatusUpdateRequest extends AMBTCMessage { if(mTargetId == null && hasDataBlock(0)) { - mTargetId = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID)); + mTargetId = APCO25RadioIdentifier.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID)); } return mTargetId; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitAcknowledgeResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitAcknowledgeResponse.java index 6a367db9..d8dba10a 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitAcknowledgeResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitAcknowledgeResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.Opcode; @@ -81,7 +81,7 @@ public class AMBTCUnitAcknowledgeResponse extends AMBTCMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); } return mSourceAddress; @@ -125,7 +125,7 @@ public class AMBTCUnitAcknowledgeResponse extends AMBTCMessage { if(mTargetId == null && hasDataBlock(0)) { - mTargetId = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID)); + mTargetId = APCO25RadioIdentifier.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID)); } return mTargetId; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitToUnitVoiceServiceAnswerResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitToUnitVoiceServiceAnswerResponse.java index 3fc97658..03751d0d 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitToUnitVoiceServiceAnswerResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitToUnitVoiceServiceAnswerResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; import io.github.dsheirer.module.decode.p25.reference.AnswerResponse; @@ -84,7 +84,7 @@ public class AMBTCUnitToUnitVoiceServiceAnswerResponse extends AMBTCMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); } return mSourceAddress; @@ -134,7 +134,7 @@ public class AMBTCUnitToUnitVoiceServiceAnswerResponse extends AMBTCMessage { if(mTargetId == null && hasDataBlock(0)) { - mTargetId = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID)); + mTargetId = APCO25RadioIdentifier.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID)); } return mTargetId; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitToUnitVoiceServiceRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitToUnitVoiceServiceRequest.java index dd12dd7c..c8639554 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitToUnitVoiceServiceRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitToUnitVoiceServiceRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions; @@ -81,7 +81,7 @@ public class AMBTCUnitToUnitVoiceServiceRequest extends AMBTCMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); } return mSourceAddress; @@ -121,7 +121,7 @@ public class AMBTCUnitToUnitVoiceServiceRequest extends AMBTCMessage { if(mTargetId == null && hasDataBlock(0)) { - mTargetId = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID)); + mTargetId = APCO25RadioIdentifier.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID)); } return mTargetId; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCCallAlert.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCCallAlert.java index 316be91c..0c08b9a2 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCCallAlert.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCCallAlert.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; @@ -105,7 +105,7 @@ public class AMBTCCallAlert extends AMBTCMessage { if(mTargetAddress == null && hasDataBlock(0)) { - mTargetAddress = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); } return mTargetAddress; @@ -115,7 +115,7 @@ public class AMBTCCallAlert extends AMBTCMessage { if(mSourceId == null && hasDataBlock(0)) { - mSourceId = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID)); + mSourceId = APCO25RadioIdentifier.createFrom(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID)); } return mSourceId; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupAffiliationQuery.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupAffiliationQuery.java index 4005cd9c..b7cd38fa 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupAffiliationQuery.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupAffiliationQuery.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; @@ -105,7 +105,7 @@ public class AMBTCGroupAffiliationQuery extends AMBTCMessage { if(mTargetAddress == null && hasDataBlock(0)) { - mTargetAddress = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); } return mTargetAddress; @@ -115,7 +115,7 @@ public class AMBTCGroupAffiliationQuery extends AMBTCMessage { if(mSourceId == null && hasDataBlock(0)) { - mSourceId = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID)); + mSourceId = APCO25RadioIdentifier.createFrom(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID)); } return mSourceId; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupAffiliationResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupAffiliationResponse.java index 7d88104e..8052368b 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupAffiliationResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupAffiliationResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25AnnouncementTalkgroup; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FullyQualifiedTalkgroupIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; @@ -89,7 +89,7 @@ public class AMBTCGroupAffiliationResponse extends AMBTCMessage { if(mTargetAddress == null && hasDataBlock(0)) { - mTargetAddress = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupDataChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupDataChannelGrant.java index 162fc133..dffe754c 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupDataChannelGrant.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupDataChannelGrant.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.channel.IChannelDescriptor; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; @@ -85,7 +85,7 @@ public class AMBTCGroupDataChannelGrant extends AMBTCMessage implements IFrequen { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupVoiceChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupVoiceChannelGrant.java index 35aa2b8a..e41d993f 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupVoiceChannelGrant.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupVoiceChannelGrant.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.channel.IChannelDescriptor; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; @@ -85,7 +85,7 @@ public class AMBTCGroupVoiceChannelGrant extends AMBTCMessage implements IFreque { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCIndividualDataChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCIndividualDataChannelGrant.java index 59b61921..64d1f1d9 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCIndividualDataChannelGrant.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCIndividualDataChannelGrant.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -28,7 +28,7 @@ import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; @@ -124,7 +124,7 @@ public class AMBTCIndividualDataChannelGrant extends AMBTCMessage implements IFr { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); } return mSourceAddress; @@ -134,7 +134,7 @@ public class AMBTCIndividualDataChannelGrant extends AMBTCMessage implements IFr { if(mSourceId == null && hasDataBlock(0)) { - mSourceId = APCO25Radio.createFrom(getHeader().getMessage().getInt(BLOCK_0_SOURCE_ID)); + mSourceId = APCO25RadioIdentifier.createFrom(getHeader().getMessage().getInt(BLOCK_0_SOURCE_ID)); } return mSourceId; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCMessageUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCMessageUpdate.java index fea97ea8..715a408d 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCMessageUpdate.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCMessageUpdate.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; import io.github.dsheirer.module.decode.p25.identifier.message.APCO25ShortDataMessage; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; @@ -112,7 +112,7 @@ public class AMBTCMessageUpdate extends AMBTCMessage { if(mTargetAddress == null && hasDataBlock(0)) { - mTargetAddress = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); } return mTargetAddress; @@ -122,7 +122,7 @@ public class AMBTCMessageUpdate extends AMBTCMessage { if(mSourceId == null && hasDataBlock(0)) { - mSourceId = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID)); + mSourceId = APCO25RadioIdentifier.createFrom(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID)); } return mSourceId; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCProtectionParameterBroadcast.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCProtectionParameterBroadcast.java index dccb0610..b42827e3 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCProtectionParameterBroadcast.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCProtectionParameterBroadcast.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.identifier.encryption.EncryptionKeyIdentifier; import io.github.dsheirer.module.decode.p25.identifier.encryption.APCO25EncryptionKey; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; @@ -88,7 +88,7 @@ public class AMBTCProtectionParameterBroadcast extends AMBTCMessage { if(mTargetAddress == null && hasDataBlock(0)) { - mTargetAddress = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCRoamingAddressResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCRoamingAddressResponse.java index 24ec684a..567f9fa8 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCRoamingAddressResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCRoamingAddressResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; @@ -140,7 +140,7 @@ public class AMBTCRoamingAddressResponse extends AMBTCMessage { if(mTargetAddress == null && hasDataBlock(0)) { - mTargetAddress = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCRoamingAddressUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCRoamingAddressUpdate.java index 4b83f235..f0a23b0d 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCRoamingAddressUpdate.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCRoamingAddressUpdate.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; @@ -140,7 +140,7 @@ public class AMBTCRoamingAddressUpdate extends AMBTCMessage { if(mTargetAddress == null && hasDataBlock(0)) { - mTargetAddress = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCStatusQuery.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCStatusQuery.java index ddc3a79e..f0eaf98e 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCStatusQuery.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCStatusQuery.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; @@ -105,7 +105,7 @@ public class AMBTCStatusQuery extends AMBTCMessage { if(mTargetAddress == null && hasDataBlock(0)) { - mTargetAddress = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); } return mTargetAddress; @@ -115,7 +115,7 @@ public class AMBTCStatusQuery extends AMBTCMessage { if(mSourceId == null && hasDataBlock(0)) { - mSourceId = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID)); + mSourceId = APCO25RadioIdentifier.createFrom(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID)); } return mSourceId; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCStatusUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCStatusUpdate.java index 0484f8e0..a4489a0e 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCStatusUpdate.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCStatusUpdate.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UnitStatus; import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UserStatus; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; @@ -119,7 +119,7 @@ public class AMBTCStatusUpdate extends AMBTCMessage { if(mTargetAddress == null && hasDataBlock(0)) { - mTargetAddress = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); } return mTargetAddress; @@ -129,7 +129,7 @@ public class AMBTCStatusUpdate extends AMBTCMessage { if(mSourceId == null && hasDataBlock(0)) { - mSourceId = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID)); + mSourceId = APCO25RadioIdentifier.createFrom(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID)); } return mSourceId; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCTelephoneInterconnectChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCTelephoneInterconnectChannelGrant.java index 23a1470b..f3b43be1 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCTelephoneInterconnectChannelGrant.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCTelephoneInterconnectChannelGrant.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.channel.IChannelDescriptor; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; @@ -96,7 +96,7 @@ public class AMBTCTelephoneInterconnectChannelGrant extends AMBTCMessage impleme { if(mAnyAddress == null) { - mAnyAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); + mAnyAddress = APCO25RadioIdentifier.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); } return mAnyAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCTelephoneInterconnectChannelGrantUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCTelephoneInterconnectChannelGrantUpdate.java index ff6fac84..401922f2 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCTelephoneInterconnectChannelGrantUpdate.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCTelephoneInterconnectChannelGrantUpdate.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.channel.IChannelDescriptor; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; @@ -96,7 +96,7 @@ public class AMBTCTelephoneInterconnectChannelGrantUpdate extends AMBTCMessage i { if(mAnyAddress == null) { - mAnyAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); + mAnyAddress = APCO25RadioIdentifier.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); } return mAnyAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitRegistrationResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitRegistrationResponse.java index 14348559..adc93af4 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitRegistrationResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitRegistrationResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; import io.github.dsheirer.module.decode.p25.reference.Response; @@ -92,7 +92,7 @@ public class AMBTCUnitRegistrationResponse extends AMBTCMessage { if(mTargetAddress == null && hasDataBlock(0)) { - mTargetAddress = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS)); } return mTargetAddress; @@ -118,7 +118,7 @@ public class AMBTCUnitRegistrationResponse extends AMBTCMessage { if(mSourceAddress == null && hasDataBlock(0)) { - mSourceAddress = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitAnswerRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitAnswerRequest.java index df7baeba..a5472473 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitAnswerRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitAnswerRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage; @@ -111,7 +111,7 @@ public class AMBTCUnitToUnitAnswerRequest extends AMBTCMessage { if(mSourceId == null) { - mSourceId = APCO25Radio.createFrom(getHeader().getMessage().getInt(BLOCK_0_SOURCE_ID)); + mSourceId = APCO25RadioIdentifier.createFrom(getHeader().getMessage().getInt(BLOCK_0_SOURCE_ID)); } return mSourceId; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitVoiceServiceChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitVoiceServiceChannelGrant.java index 6a1f1cbc..42517c9c 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitVoiceServiceChannelGrant.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitVoiceServiceChannelGrant.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -28,7 +28,7 @@ import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; @@ -124,7 +124,7 @@ public class AMBTCUnitToUnitVoiceServiceChannelGrant extends AMBTCMessage implem { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); } return mSourceAddress; @@ -134,7 +134,7 @@ public class AMBTCUnitToUnitVoiceServiceChannelGrant extends AMBTCMessage implem { if(mSourceId == null && hasDataBlock(0)) { - mSourceId = APCO25Radio.createFrom(getHeader().getMessage().getInt(BLOCK_0_SOURCE_ID)); + mSourceId = APCO25RadioIdentifier.createFrom(getHeader().getMessage().getInt(BLOCK_0_SOURCE_ID)); } return mSourceId; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitVoiceServiceChannelGrantUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitVoiceServiceChannelGrantUpdate.java index 83045b92..044c62be 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitVoiceServiceChannelGrantUpdate.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitVoiceServiceChannelGrantUpdate.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -28,7 +28,7 @@ import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; @@ -124,7 +124,7 @@ public class AMBTCUnitToUnitVoiceServiceChannelGrantUpdate extends AMBTCMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); } return mSourceAddress; @@ -134,7 +134,7 @@ public class AMBTCUnitToUnitVoiceServiceChannelGrantUpdate extends AMBTCMessage { if(mSourceId == null && hasDataBlock(0)) { - mSourceId = APCO25Radio.createFrom(getHeader().getMessage().getInt(BLOCK_0_SOURCE_ID)); + mSourceId = APCO25RadioIdentifier.createFrom(getHeader().getMessage().getInt(BLOCK_0_SOURCE_ID)); } return mSourceId; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/umbtc/isp/UMBTCTelephoneInterconnectRequestExplicitDialing.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/umbtc/isp/UMBTCTelephoneInterconnectRequestExplicitDialing.java index f1924744..d8962438 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/umbtc/isp/UMBTCTelephoneInterconnectRequestExplicitDialing.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/umbtc/isp/UMBTCTelephoneInterconnectRequestExplicitDialing.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.umbtc.isp; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.message.IBitErrorProvider; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.telephone.APCO25TelephoneNumber; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence; import io.github.dsheirer.module.decode.p25.phase1.message.pdu.umbtc.UMBTCMessage; @@ -83,7 +83,7 @@ public class UMBTCTelephoneInterconnectRequestExplicitDialing extends UMBTCMessa { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/MotorolaDenyResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/MotorolaDenyResponse.java index 17de9e8b..c4a949ee 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/MotorolaDenyResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/MotorolaDenyResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.motorola.osp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.Opcode; @@ -114,7 +114,7 @@ public class MotorolaDenyResponse extends OSPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/PatchGroupVoiceChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/PatchGroupVoiceChannelGrant.java index 753705c3..1eb01e09 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/PatchGroupVoiceChannelGrant.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/PatchGroupVoiceChannelGrant.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -28,7 +28,7 @@ import io.github.dsheirer.identifier.patch.PatchGroup; import io.github.dsheirer.identifier.patch.PatchGroupIdentifier; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel; import io.github.dsheirer.module.decode.p25.identifier.patch.APCO25PatchGroup; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver; @@ -95,7 +95,7 @@ public class PatchGroupVoiceChannelGrant extends OSPMessage implements IFrequenc { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/AuthenticationQuery.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/AuthenticationQuery.java index 2ab92c99..3608d6ac 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/AuthenticationQuery.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/AuthenticationQuery.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; @@ -67,7 +67,7 @@ public class AuthenticationQuery extends ISPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -77,7 +77,7 @@ public class AuthenticationQuery extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/CallAlertRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/CallAlertRequest.java index 5bcbdc0c..3f05f479 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/CallAlertRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/CallAlertRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; @@ -67,7 +67,7 @@ public class CallAlertRequest extends ISPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -77,7 +77,7 @@ public class CallAlertRequest extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/CancelServiceRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/CancelServiceRequest.java index 45c2d4dd..9051b7e0 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/CancelServiceRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/CancelServiceRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.Opcode; @@ -106,7 +106,7 @@ public class CancelServiceRequest extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/EmergencyAlarmRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/EmergencyAlarmRequest.java index eec4ef43..262b91ea 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/EmergencyAlarmRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/EmergencyAlarmRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; @@ -78,7 +78,7 @@ public class EmergencyAlarmRequest extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/ExtendedFunctionResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/ExtendedFunctionResponse.java index 2350a074..78e5d7b3 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/ExtendedFunctionResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/ExtendedFunctionResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; import io.github.dsheirer.module.decode.p25.reference.ExtendedFunction; @@ -90,7 +90,7 @@ public class ExtendedFunctionResponse extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/FrequencyBandUpdateRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/FrequencyBandUpdateRequest.java index decfd635..0da5c651 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/FrequencyBandUpdateRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/FrequencyBandUpdateRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; @@ -85,7 +85,7 @@ public class FrequencyBandUpdateRequest extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupAffiliationQueryResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupAffiliationQueryResponse.java index 27b27228..b3711c5e 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupAffiliationQueryResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupAffiliationQueryResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25AnnouncementTalkgroup; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; @@ -92,7 +92,7 @@ public class GroupAffiliationQueryResponse extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupAffiliationRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupAffiliationRequest.java index 4bbf5176..bba717ac 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupAffiliationRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupAffiliationRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; @@ -91,7 +91,7 @@ public class GroupAffiliationRequest extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupDataServiceRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupDataServiceRequest.java index 56b5b525..ee475b99 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupDataServiceRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupDataServiceRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; @@ -94,7 +94,7 @@ public class GroupDataServiceRequest extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupVoiceServiceRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupVoiceServiceRequest.java index cd29a47b..997460cd 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupVoiceServiceRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupVoiceServiceRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; @@ -94,7 +94,7 @@ public class GroupVoiceServiceRequest extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/IndividualDataServiceRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/IndividualDataServiceRequest.java index f34a5f34..be78f63f 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/IndividualDataServiceRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/IndividualDataServiceRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions; @@ -84,7 +84,7 @@ public class IndividualDataServiceRequest extends ISPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -94,7 +94,7 @@ public class IndividualDataServiceRequest extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/LocationRegistrationRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/LocationRegistrationRequest.java index 5e40ccf3..44fda28a 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/LocationRegistrationRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/LocationRegistrationRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25Lra; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; @@ -115,7 +115,7 @@ public class LocationRegistrationRequest extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/MessageUpdateRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/MessageUpdateRequest.java index fec9bd37..103a02d2 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/MessageUpdateRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/MessageUpdateRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; @@ -84,7 +84,7 @@ public class MessageUpdateRequest extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/ProtectionParameterRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/ProtectionParameterRequest.java index 1b7f12d7..747840ff 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/ProtectionParameterRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/ProtectionParameterRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; @@ -91,7 +91,7 @@ public class ProtectionParameterRequest extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ID)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ID)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RadioUnitMonitorRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RadioUnitMonitorRequest.java index f8c98035..c6169f43 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RadioUnitMonitorRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RadioUnitMonitorRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; @@ -78,7 +78,7 @@ public class RadioUnitMonitorRequest extends ISPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -88,7 +88,7 @@ public class RadioUnitMonitorRequest extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RoamingAddressRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RoamingAddressRequest.java index 206560ff..8f1ab24d 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RoamingAddressRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RoamingAddressRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; @@ -67,7 +67,7 @@ public class RoamingAddressRequest extends ISPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -77,7 +77,7 @@ public class RoamingAddressRequest extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RoamingAddressResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RoamingAddressResponse.java index ed29e966..24f0bb93 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RoamingAddressResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RoamingAddressResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; @@ -107,7 +107,7 @@ public class RoamingAddressResponse extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ID)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ID)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPDataChannelRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPDataChannelRequest.java index 09162ec7..44d93f19 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPDataChannelRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPDataChannelRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; import io.github.dsheirer.module.decode.p25.reference.DataServiceOptions; @@ -84,7 +84,7 @@ public class SNDCPDataChannelRequest extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPDataPageResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPDataPageResponse.java index 0e25a383..7b3efe6a 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPDataPageResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPDataPageResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; import io.github.dsheirer.module.decode.p25.reference.AnswerResponse; @@ -92,7 +92,7 @@ public class SNDCPDataPageResponse extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPReconnectRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPReconnectRequest.java index b0e27a95..99f0b995 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPReconnectRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPReconnectRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; import io.github.dsheirer.module.decode.p25.reference.DataServiceOptions; @@ -91,7 +91,7 @@ public class SNDCPReconnectRequest extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusQueryRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusQueryRequest.java index 92a90d85..2386fc96 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusQueryRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusQueryRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; @@ -67,7 +67,7 @@ public class StatusQueryRequest extends ISPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -77,7 +77,7 @@ public class StatusQueryRequest extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusQueryResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusQueryResponse.java index 65d90a7d..1062bcd8 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusQueryResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusQueryResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UnitStatus; import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UserStatus; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; @@ -94,7 +94,7 @@ public class StatusQueryResponse extends ISPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -104,7 +104,7 @@ public class StatusQueryResponse extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusUpdateRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusUpdateRequest.java index 56426aee..86fba0d0 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusUpdateRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusUpdateRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UnitStatus; import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UserStatus; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; @@ -94,7 +94,7 @@ public class StatusUpdateRequest extends ISPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -104,7 +104,7 @@ public class StatusUpdateRequest extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/TelephoneInterconnectAnswerResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/TelephoneInterconnectAnswerResponse.java index eaa6debd..a02b47d8 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/TelephoneInterconnectAnswerResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/TelephoneInterconnectAnswerResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; import io.github.dsheirer.module.decode.p25.reference.AnswerResponse; @@ -92,7 +92,7 @@ public class TelephoneInterconnectAnswerResponse extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/TelephoneInterconnectPstnRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/TelephoneInterconnectPstnRequest.java index b6c13119..360dcadf 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/TelephoneInterconnectPstnRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/TelephoneInterconnectPstnRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.telephone.APCO25TelephoneNumber; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; @@ -96,7 +96,7 @@ public class TelephoneInterconnectPstnRequest extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitAcknowledgeResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitAcknowledgeResponse.java index e6cae7fe..20584b74 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitAcknowledgeResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitAcknowledgeResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.Opcode; @@ -80,7 +80,7 @@ public class UnitAcknowledgeResponse extends ISPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -90,7 +90,7 @@ public class UnitAcknowledgeResponse extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitDeRegistrationRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitDeRegistrationRequest.java index c3e47fd8..2cf01ffc 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitDeRegistrationRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitDeRegistrationRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; @@ -91,7 +91,7 @@ public class UnitDeRegistrationRequest extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ID)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ID)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitRegistrationRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitRegistrationRequest.java index 8f6796b1..4b9430ae 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitRegistrationRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitRegistrationRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; import io.github.dsheirer.module.decode.p25.reference.Capability; @@ -115,7 +115,7 @@ public class UnitRegistrationRequest extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ID)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ID)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitToUnitVoiceServiceAnswerResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitToUnitVoiceServiceAnswerResponse.java index b5270d59..7a5f8a75 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitToUnitVoiceServiceAnswerResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitToUnitVoiceServiceAnswerResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; import io.github.dsheirer.module.decode.p25.reference.AnswerResponse; @@ -94,7 +94,7 @@ public class UnitToUnitVoiceServiceAnswerResponse extends ISPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -104,7 +104,7 @@ public class UnitToUnitVoiceServiceAnswerResponse extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitToUnitVoiceServiceRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitToUnitVoiceServiceRequest.java index 2e1c2885..e8a85eb9 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitToUnitVoiceServiceRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitToUnitVoiceServiceRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions; @@ -84,7 +84,7 @@ public class UnitToUnitVoiceServiceRequest extends ISPMessage { if(mTargetId == null) { - mTargetId = APCO25Radio.createTo(getMessage().getInt(TARGET_ID)); + mTargetId = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ID)); } return mTargetId; @@ -94,7 +94,7 @@ public class UnitToUnitVoiceServiceRequest extends ISPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/AcknowledgeResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/AcknowledgeResponse.java index 21990744..814e57d0 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/AcknowledgeResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/AcknowledgeResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.Opcode; @@ -148,7 +148,7 @@ public class AcknowledgeResponse extends OSPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -165,7 +165,7 @@ public class AcknowledgeResponse extends OSPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/AuthenticationCommand.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/AuthenticationCommand.java index 5ff2a323..01bfb153 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/AuthenticationCommand.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/AuthenticationCommand.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; @@ -91,7 +91,7 @@ public class AuthenticationCommand extends OSPMessage { if(mTargetId == null) { - mTargetId = APCO25Radio.createTo(getMessage().getInt(TARGET_ID)); + mTargetId = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ID)); } return mTargetId; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/CallAlert.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/CallAlert.java index c605a264..560b6913 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/CallAlert.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/CallAlert.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; @@ -67,7 +67,7 @@ public class CallAlert extends OSPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -77,7 +77,7 @@ public class CallAlert extends OSPMessage { if(mSourceId == null) { - mSourceId = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ID)); + mSourceId = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ID)); } return mSourceId; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/DenyResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/DenyResponse.java index 5c09d3ec..a7d089e0 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/DenyResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/DenyResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.Opcode; @@ -114,7 +114,7 @@ public class DenyResponse extends OSPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/ExtendedFunctionCommand.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/ExtendedFunctionCommand.java index 09d93edf..a63c8c51 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/ExtendedFunctionCommand.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/ExtendedFunctionCommand.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; import io.github.dsheirer.module.decode.p25.reference.ExtendedFunction; @@ -90,7 +90,7 @@ public class ExtendedFunctionCommand extends OSPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupAffiliationQuery.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupAffiliationQuery.java index fc0cdda0..bcdf8931 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupAffiliationQuery.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupAffiliationQuery.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; @@ -67,7 +67,7 @@ public class GroupAffiliationQuery extends OSPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -77,7 +77,7 @@ public class GroupAffiliationQuery extends OSPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupAffiliationResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupAffiliationResponse.java index e7dfc5b9..f4cfe183 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupAffiliationResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupAffiliationResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25AnnouncementTalkgroup; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; @@ -113,7 +113,7 @@ public class GroupAffiliationResponse extends OSPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupDataChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupDataChannelGrant.java index c6cb77fb..0b888bf1 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupDataChannelGrant.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupDataChannelGrant.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.channel.IChannelDescriptor; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver; @@ -110,7 +110,7 @@ public class GroupDataChannelGrant extends OSPMessage implements IFrequencyBandR { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupVoiceChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupVoiceChannelGrant.java index 9b73285b..dac46de6 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupVoiceChannelGrant.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupVoiceChannelGrant.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.channel.IChannelDescriptor; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver; @@ -110,7 +110,7 @@ public class GroupVoiceChannelGrant extends OSPMessage implements IFrequencyBand { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/IndividualDataChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/IndividualDataChannelGrant.java index a0669958..c9c08886 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/IndividualDataChannelGrant.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/IndividualDataChannelGrant.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.channel.IChannelDescriptor; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; @@ -83,7 +83,7 @@ public class IndividualDataChannelGrant extends OSPMessage implements IFrequency { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -93,7 +93,7 @@ public class IndividualDataChannelGrant extends OSPMessage implements IFrequency { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/LocationRegistrationResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/LocationRegistrationResponse.java index d4290113..b99278c9 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/LocationRegistrationResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/LocationRegistrationResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25Rfss; import io.github.dsheirer.module.decode.p25.identifier.APCO25Site; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; @@ -119,7 +119,7 @@ public class LocationRegistrationResponse extends OSPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/MessageUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/MessageUpdate.java index cfbedd34..e2592634 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/MessageUpdate.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/MessageUpdate.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.message.APCO25ShortDataMessage; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; @@ -91,7 +91,7 @@ public class MessageUpdate extends OSPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/QueuedResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/QueuedResponse.java index 46b904d0..0389f1f6 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/QueuedResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/QueuedResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.Opcode; @@ -114,7 +114,7 @@ public class QueuedResponse extends OSPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/RadioUnitMonitorCommand.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/RadioUnitMonitorCommand.java index 9cd18431..875b5d9e 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/RadioUnitMonitorCommand.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/RadioUnitMonitorCommand.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; @@ -78,7 +78,7 @@ public class RadioUnitMonitorCommand extends OSPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -88,7 +88,7 @@ public class RadioUnitMonitorCommand extends OSPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/RoamingAddressCommand.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/RoamingAddressCommand.java index 9b8eb8b7..8d85e694 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/RoamingAddressCommand.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/RoamingAddressCommand.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage; import io.github.dsheirer.module.decode.p25.reference.StackOperation; @@ -104,7 +104,7 @@ public class RoamingAddressCommand extends ISPMessage { if(mTargetId == null) { - mTargetId = APCO25Radio.createTo(getMessage().getInt(TARGET_ID)); + mTargetId = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ID)); } return mTargetId; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/SNDCPDataChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/SNDCPDataChannelGrant.java index d7d4aa35..bd7d3d1b 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/SNDCPDataChannelGrant.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/SNDCPDataChannelGrant.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -27,7 +27,7 @@ import io.github.dsheirer.channel.IChannelDescriptor; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; @@ -86,7 +86,7 @@ public class SNDCPDataChannelGrant extends OSPMessage implements IFrequencyBandR { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/SNDCPDataPageRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/SNDCPDataPageRequest.java index 1e4da03a..556f9a45 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/SNDCPDataPageRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/SNDCPDataPageRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; import io.github.dsheirer.module.decode.p25.reference.DataServiceOptions; @@ -84,7 +84,7 @@ public class SNDCPDataPageRequest extends OSPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -94,7 +94,7 @@ public class SNDCPDataPageRequest extends OSPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/StatusQuery.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/StatusQuery.java index a1d787c9..e33321fb 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/StatusQuery.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/StatusQuery.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; @@ -67,7 +67,7 @@ public class StatusQuery extends OSPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -77,7 +77,7 @@ public class StatusQuery extends OSPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/StatusUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/StatusUpdate.java index 4ab97914..a4ccfab2 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/StatusUpdate.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/StatusUpdate.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UnitStatus; import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UserStatus; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; @@ -94,7 +94,7 @@ public class StatusUpdate extends OSPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -104,7 +104,7 @@ public class StatusUpdate extends OSPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/TelephoneInterconnectAnswerRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/TelephoneInterconnectAnswerRequest.java index 15aa903c..9ae1fe26 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/TelephoneInterconnectAnswerRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/TelephoneInterconnectAnswerRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.telephone.APCO25TelephoneNumber; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; @@ -98,7 +98,7 @@ public class TelephoneInterconnectAnswerRequest extends OSPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/TelephoneInterconnectVoiceChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/TelephoneInterconnectVoiceChannelGrant.java index c46ac3bd..0d287a4b 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/TelephoneInterconnectVoiceChannelGrant.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/TelephoneInterconnectVoiceChannelGrant.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.channel.IChannelDescriptor; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; @@ -106,7 +106,7 @@ public class TelephoneInterconnectVoiceChannelGrant extends OSPMessage implement { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitDeRegistrationAcknowledge.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitDeRegistrationAcknowledge.java index 08b0b586..7090330e 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitDeRegistrationAcknowledge.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitDeRegistrationAcknowledge.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; @@ -91,7 +91,7 @@ public class UnitDeRegistrationAcknowledge extends OSPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ID)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ID)); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitRegistrationCommand.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitRegistrationCommand.java index d7c7941d..5266c9c2 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitRegistrationCommand.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitRegistrationCommand.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; @@ -67,7 +67,7 @@ public class UnitRegistrationCommand extends OSPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -77,7 +77,7 @@ public class UnitRegistrationCommand extends OSPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitRegistrationResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitRegistrationResponse.java index 3db8c425..fbda300c 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitRegistrationResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitRegistrationResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25System; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; import io.github.dsheirer.module.decode.p25.reference.Response; @@ -95,7 +95,7 @@ public class UnitRegistrationResponse extends OSPMessage { if(mTargetUniqueId == null) { - mTargetUniqueId = APCO25Radio.createTo(getMessage().getInt(TARGET_UNIQUE_ID)); + mTargetUniqueId = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_UNIQUE_ID)); } return mTargetUniqueId; @@ -105,7 +105,7 @@ public class UnitRegistrationResponse extends OSPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitAnswerRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitAnswerRequest.java index b8a790e7..9a1b40eb 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitAnswerRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitAnswerRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions; @@ -84,7 +84,7 @@ public class UnitToUnitAnswerRequest extends OSPMessage { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -94,7 +94,7 @@ public class UnitToUnitAnswerRequest extends OSPMessage { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitVoiceChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitVoiceChannelGrant.java index 2465f3fd..df14a03b 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitVoiceChannelGrant.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitVoiceChannelGrant.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.channel.IChannelDescriptor; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; @@ -83,7 +83,7 @@ public class UnitToUnitVoiceChannelGrant extends OSPMessage implements IFrequenc { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -93,7 +93,7 @@ public class UnitToUnitVoiceChannelGrant extends OSPMessage implements IFrequenc { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitVoiceChannelGrantUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitVoiceChannelGrantUpdate.java index 7d4be833..7a396fe6 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitVoiceChannelGrantUpdate.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitVoiceChannelGrantUpdate.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.channel.IChannelDescriptor; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID; import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver; import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage; @@ -83,7 +83,7 @@ public class UnitToUnitVoiceChannelGrantUpdate extends OSPMessage implements IFr { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS)); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS)); } return mTargetAddress; @@ -93,7 +93,7 @@ public class UnitToUnitVoiceChannelGrantUpdate extends OSPMessage implements IFr { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS)); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS)); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2Decoder.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2Decoder.java index 46b890fc..549822a9 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2Decoder.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2Decoder.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -23,8 +23,8 @@ package io.github.dsheirer.module.decode.p25.phase2; import io.github.dsheirer.dsp.symbol.Dibit; import io.github.dsheirer.dsp.symbol.DibitToByteBufferAssembler; -import io.github.dsheirer.module.decode.Decoder; import io.github.dsheirer.module.decode.DecoderType; +import io.github.dsheirer.module.decode.FeedbackDecoder; import io.github.dsheirer.sample.Broadcaster; import io.github.dsheirer.sample.Listener; import io.github.dsheirer.sample.buffer.IReusableByteBufferProvider; @@ -32,20 +32,18 @@ import io.github.dsheirer.sample.buffer.IReusableComplexBufferListener; import io.github.dsheirer.sample.buffer.ReusableByteBuffer; import io.github.dsheirer.sample.buffer.ReusableComplexBuffer; import io.github.dsheirer.source.ISourceEventListener; -import io.github.dsheirer.source.ISourceEventProvider; import io.github.dsheirer.source.SourceEvent; /** * Base P25 Phase 2 Decoder */ -public abstract class P25P2Decoder extends Decoder implements ISourceEventListener, ISourceEventProvider, +public abstract class P25P2Decoder extends FeedbackDecoder implements ISourceEventListener, IReusableComplexBufferListener, Listener, IReusableByteBufferProvider { private double mSampleRate; private Broadcaster mDibitBroadcaster = new Broadcaster<>(); private DibitToByteBufferAssembler mByteBufferAssembler = new DibitToByteBufferAssembler(300); private P25P2MessageProcessor mMessageProcessor; - private Listener mSourceEventListener; private double mSymbolRate; public P25P2Decoder(double symbolRate) @@ -134,24 +132,6 @@ public abstract class P25P2Decoder extends Decoder implements ISourceEventListen mMessageProcessor = null; } - /** - * Sets the source event listener to receive source events from this decoder. - */ - @Override - public void setSourceEventListener(Listener listener) - { - mSourceEventListener = listener; - } - - /** - * Removes a registered source event listener from receiving source events from this decoder - */ - @Override - public void removeSourceEventListener() - { - mSourceEventListener = null; - } - @Override public Listener getSourceEventListener() { @@ -172,20 +152,6 @@ public abstract class P25P2Decoder extends Decoder implements ISourceEventListen */ protected abstract void process(SourceEvent sourceEvent); - /** - * Broadcasts the source event to an optional registered listener. This method should primarily be used to - * issue frequency correction requests to the channel source. - * - * @param sourceEvent to broadcast - */ - public void broadcast(SourceEvent sourceEvent) - { - if(mSourceEventListener != null) - { - mSourceEventListener.receive(sourceEvent); - } - } - /** * Listener interface to receive reusable complex buffers */ diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2DecoderHDQPSK.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2DecoderHDQPSK.java index 0b2b754a..a97b9e66 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2DecoderHDQPSK.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2DecoderHDQPSK.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -29,14 +29,17 @@ import io.github.dsheirer.dsp.gain.ComplexFeedForwardGainControl; import io.github.dsheirer.dsp.psk.DQPSKGardnerDemodulator; import io.github.dsheirer.dsp.psk.InterpolatingSampleBuffer; import io.github.dsheirer.dsp.psk.pll.CostasLoop; -import io.github.dsheirer.dsp.psk.pll.PLLGain; +import io.github.dsheirer.dsp.psk.pll.FrequencyCorrectionSyncMonitor; +import io.github.dsheirer.dsp.psk.pll.PLLBandwidth; import io.github.dsheirer.identifier.Form; import io.github.dsheirer.identifier.IdentifierUpdateListener; import io.github.dsheirer.identifier.IdentifierUpdateNotification; +import io.github.dsheirer.message.IMessage; +import io.github.dsheirer.message.SyncLossMessage; import io.github.dsheirer.module.decode.DecoderType; import io.github.dsheirer.module.decode.p25.phase2.enumeration.ScrambleParameters; -import io.github.dsheirer.protocol.Protocol; -import io.github.dsheirer.record.binary.BinaryRecorder; +import io.github.dsheirer.module.decode.p25.phase2.message.EncryptionSynchronizationSequence; +import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacMessage; import io.github.dsheirer.sample.Listener; import io.github.dsheirer.sample.buffer.ReusableComplexBuffer; import io.github.dsheirer.source.SourceEvent; @@ -46,7 +49,6 @@ import org.slf4j.LoggerFactory; import java.io.File; import java.io.IOException; -import java.nio.file.Path; import java.util.HashMap; import java.util.Map; @@ -56,8 +58,7 @@ import java.util.Map; public class P25P2DecoderHDQPSK extends P25P2Decoder implements IdentifierUpdateListener { private final static Logger mLog = LoggerFactory.getLogger(P25P2DecoderHDQPSK.class); - - protected static final float SYMBOL_TIMING_GAIN = 0.01f; + protected static final float SYMBOL_TIMING_GAIN = 0.1f; protected InterpolatingSampleBuffer mInterpolatingSampleBuffer; protected DQPSKGardnerDemodulator mQPSKDemodulator; protected CostasLoop mCostasLoop; @@ -66,6 +67,7 @@ public class P25P2DecoderHDQPSK extends P25P2Decoder implements IdentifierUpdate private Map mBasebandFilters = new HashMap<>(); private ComplexFIRFilter2 mBasebandFilter; private DecodeConfigP25Phase2 mDecodeConfigP25Phase2; + private FrequencyCorrectionSyncMonitor mFrequencyCorrectionSyncMonitor; public P25P2DecoderHDQPSK(DecodeConfigP25Phase2 decodeConfigP25Phase2) { @@ -80,7 +82,8 @@ public class P25P2DecoderHDQPSK extends P25P2Decoder implements IdentifierUpdate mBasebandFilter = new ComplexFIRFilter2(getBasebandFilter()); mCostasLoop = new CostasLoop(getSampleRate(), getSymbolRate()); - mCostasLoop.setPLLGain(PLLGain.LEVEL_8); + mCostasLoop.setPLLBandwidth(PLLBandwidth.BW_300); + mInterpolatingSampleBuffer = new InterpolatingSampleBuffer(getSamplesPerSymbol(), SYMBOL_TIMING_GAIN); mQPSKDemodulator = new DQPSKGardnerDemodulator(mCostasLoop, mInterpolatingSampleBuffer); @@ -92,6 +95,13 @@ public class P25P2DecoderHDQPSK extends P25P2Decoder implements IdentifierUpdate //The Costas Loop receives symbol-inversion correction requests when detected. //The PLL gain monitor receives sync detect/loss signals from the message framer mMessageFramer = new P25P2MessageFramer(mCostasLoop, DecoderType.P25_PHASE2.getProtocol().getBitRate()); + if(mDecodeConfigP25Phase2 != null && !mDecodeConfigP25Phase2.isAutoDetectScrambleParameters()) + { + mMessageFramer.setScrambleParameters(mDecodeConfigP25Phase2.getScrambleParameters()); + } + + mFrequencyCorrectionSyncMonitor = new FrequencyCorrectionSyncMonitor(mCostasLoop, this); + mMessageFramer.setSyncDetectListener(mFrequencyCorrectionSyncMonitor); mMessageFramer.setListener(getMessageProcessor()); mMessageFramer.setSampleRate(sampleRate); @@ -219,20 +229,58 @@ public class P25P2DecoderHDQPSK extends P25P2Decoder implements IdentifierUpdate } } + public static class MessageErrorListener implements Listener + { + private int mMessageCount = 0; + private int mBitErrorCount = 0; + + @Override + public void receive(IMessage iMessage) + { + if(!(iMessage instanceof SyncLossMessage) && !(iMessage instanceof EncryptionSynchronizationSequence)) + { + mMessageCount++; + } + + if(iMessage instanceof MacMessage) + { + mBitErrorCount += ((MacMessage)iMessage).getBitErrorCount(); + } + + mLog.debug("[" + mMessageCount + " | " + mBitErrorCount + "] " + iMessage.toString()); + } + } + public static void main(String[] args) { - String path = "/media/denny/500G1EXT4/RadioRecordings/APCO25P2/CNYICC/"; - String input = "CNYICC_Rome_CNYICC_154_250_baseband_20190322_180331_good.wav"; - String output = "CNYICC_ROME_154_250_8"; +// String path = "/media/denny/500G1EXT4/RadioRecordings/APCO25P2/CNYICC/"; +// String input = "CNYICC_Rome_CNYICC_154_250_baseband_20190322_180331_good.wav"; +// String output = "CNYICC_ROME_154_250_8"; + + String path = "/home/denny/SDRTrunk/recordings/"; + String input = "CNYICC_Site_P25P2_151.37_baseband_20200221_110306.wav"; + String output = "P25P2_test"; ScrambleParameters scrambleParameters = new ScrambleParameters(781824, 686, 677); //CNYICC DecodeConfigP25Phase2 decodeConfigP25Phase2 = new DecodeConfigP25Phase2(); decodeConfigP25Phase2.setScrambleParameters(scrambleParameters); P25P2DecoderHDQPSK decoder = new P25P2DecoderHDQPSK(decodeConfigP25Phase2); - BinaryRecorder recorder = new BinaryRecorder(Path.of(path), output, Protocol.APCO25_PHASE2); - decoder.setBufferListener(recorder.getReusableByteBufferListener()); - recorder.start(); + decoder.setMessageListener(new MessageErrorListener()); + +// decoder.setMessageListener(new Listener() +// { +// @Override +// public void receive(IMessage iMessage) +// { +// mLog.debug(iMessage.toString()); +// } +// }); + decoder.start(); + +// BinaryRecorder recorder = new BinaryRecorder(Path.of(path), output, Protocol.APCO25_PHASE2); +// decoder.setBufferListener(recorder.getReusableByteBufferListener()); +// recorder.start(); File file = new File(path + input); @@ -255,7 +303,7 @@ public class P25P2DecoderHDQPSK extends P25P2Decoder implements IdentifierUpdate running = false; } - recorder.stop(); +// recorder.stop(); } @Override diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2MessageFramer.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2MessageFramer.java index 44e53d8a..fb9a4dbb 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2MessageFramer.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2MessageFramer.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -71,7 +71,6 @@ public class P25P2MessageFramer implements Listener private int mTrailingDibitsToSuppress = 0; private double mBitRate; private long mCurrentTime = System.currentTimeMillis(); - private ISyncDetectListener mSyncDetectListener; public P25P2MessageFramer(IPhaseLockedLoop phaseLockedLoop, int bitRate) { @@ -105,11 +104,14 @@ public class P25P2MessageFramer implements Listener } /** - * Registers a sync detect listener to be notified each time a sync pattern and NID are detected. + * Registers a sync detect listener to be notified each time sync is detected or lost. + * + * Note: this actually registers the listener on the enclosed super frame detector which has access to the + * actual sync pattern detector instance. */ - public void setSyncDetectListener(ISyncDetectListener syncDetectListener) + public void setSyncDetectListener(ISyncDetectListener listener) { - mSyncDetectListener = syncDetectListener; + mSuperFrameDetector.setSyncDetectListener(listener); } /** diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2SuperFrameDetector.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2SuperFrameDetector.java index 90c628b2..532d1466 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2SuperFrameDetector.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2SuperFrameDetector.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -67,6 +67,7 @@ public class P25P2SuperFrameDetector implements Listener, ISyncDetectList private DibitDelayBuffer mFragmentBuffer = new DibitDelayBuffer(720); private int mDibitsProcessed = 0; private boolean mSynchronized = false; + private ISyncDetectListener mSyncDetectListener; public P25P2SuperFrameDetector(IPhaseLockedLoop phaseLockedLoop) { @@ -82,6 +83,14 @@ public class P25P2SuperFrameDetector implements Listener, ISyncDetectList mScramblingSequence.update(scramblingSequence); } + /** + * Sets an external sync detect listener to receive sync detect/loss notifications + */ + public void setSyncDetectListener(ISyncDetectListener listener) + { + mSyncDetectListener = listener; + } + public void setListener(Listener listener) { mMessageListener = listener; @@ -103,11 +112,22 @@ public class P25P2SuperFrameDetector implements Listener, ISyncDetectList public void syncDetected(int bitErrors) { checkFragmentSync(bitErrors); + + //Rebroadcast to an external listener + if(mSyncDetectListener != null) + { + mSyncDetectListener.syncDetected(bitErrors); + } } @Override - public void syncLost() + public void syncLost(int bitsProcessed) { + //Rebroadcast to an external listener + if(mSyncDetectListener != null) + { + mSyncDetectListener.syncLost(bitsProcessed); + } } private long getCurrentTimestamp() @@ -165,6 +185,7 @@ public class P25P2SuperFrameDetector implements Listener, ISyncDetectList CorrectedBinaryMessage message = mFragmentBuffer.getMessage(0, 720); message.setCorrectedBitCount(bitErrors); SuperFrameFragment frameFragment = new SuperFrameFragment(message, getCurrentTimestamp(), mScramblingSequence); + updateScramblingCode(frameFragment); broadcast(frameFragment); } @@ -232,7 +253,7 @@ public class P25P2SuperFrameDetector implements Listener, ISyncDetectList if(sync2BitErrorCount <= SYNCHRONIZED_SYNC_MATCH_THRESHOLD) { broadcastFragment(sync1BitErrorCount + sync2BitErrorCount); - //broadcast message + syncDetected(sync1BitErrorCount + sync2BitErrorCount); return; } else diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2SyncDetector.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2SyncDetector.java index 01e8ea52..13c391e2 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2SyncDetector.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2SyncDetector.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -29,19 +29,24 @@ import io.github.dsheirer.dsp.symbol.Dibit; import io.github.dsheirer.dsp.symbol.FrameSync; import io.github.dsheirer.dsp.symbol.ISyncDetectListener; import io.github.dsheirer.sample.Listener; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class P25P2SyncDetector implements Listener { + private final static Logger mLog = LoggerFactory.getLogger(P25P2SyncDetector.class); + /* Determines the threshold for sync pattern soft matching */ private static final int SYNC_MATCH_THRESHOLD = 4; /* Costas Loop phase lock error correction values. A phase lock error of - * 90 degrees requires a correction of 1/4 of the symbol rate (1200Hz). An + * 90 degrees requires a correction of 1/4 of the symbol rate (1500Hz). An * error of 180 degrees requires a correction of 1/2 of the symbol rate */ public static final double DEFAULT_SAMPLE_RATE = 50000.0; + public static final double DEFAULT_SYMBOL_RATE = 6000; - public static final double FREQUENCY_PHASE_CORRECTION_90_DEGREES = 1200.0; - public static final double FREQUENCY_PHASE_CORRECTION_180_DEGREES = 2400.0; + public static final double FREQUENCY_PHASE_CORRECTION_90_DEGREES = DEFAULT_SYMBOL_RATE / 4.0; + public static final double FREQUENCY_PHASE_CORRECTION_180_DEGREES = DEFAULT_SYMBOL_RATE / 2.0; private MultiSyncPatternMatcher mMatcher; private SoftSyncDetector mPrimarySyncDetector; @@ -64,15 +69,15 @@ public class P25P2SyncDetector implements Listener { //Add additional sync pattern detectors to detect when we get 90/180 degree out of phase sync pattern //detections so that we can apply correction to the phase locked loop - mInversionDetector90CW = new PLLPhaseInversionDetector(FrameSync.P25_PHASE1_ERROR_90_CW, + mInversionDetector90CW = new PLLPhaseInversionDetector(FrameSync.P25_PHASE2_ERROR_90_CW, phaseLockedLoop, DEFAULT_SAMPLE_RATE, FREQUENCY_PHASE_CORRECTION_90_DEGREES); mMatcher.add(mInversionDetector90CW); - mInversionDetector90CCW = new PLLPhaseInversionDetector(FrameSync.P25_PHASE1_ERROR_90_CCW, + mInversionDetector90CCW = new PLLPhaseInversionDetector(FrameSync.P25_PHASE2_ERROR_90_CCW, phaseLockedLoop, DEFAULT_SAMPLE_RATE, -FREQUENCY_PHASE_CORRECTION_90_DEGREES); mMatcher.add(mInversionDetector90CCW); - mInversionDetector180 = new PLLPhaseInversionDetector(FrameSync.P25_PHASE1_ERROR_180, + mInversionDetector180 = new PLLPhaseInversionDetector(FrameSync.P25_PHASE2_ERROR_180, phaseLockedLoop, DEFAULT_SAMPLE_RATE, FREQUENCY_PHASE_CORRECTION_180_DEGREES); mMatcher.add(mInversionDetector180); } @@ -84,7 +89,7 @@ public class P25P2SyncDetector implements Listener */ public int getPrimarySyncMatchErrorCount() { - return Long.bitCount(mMatcher.getCurrentValue() ^ FrameSync.P25_PHASE1_NORMAL.getSync()); + return Long.bitCount(mMatcher.getCurrentValue() ^ FrameSync.P25_PHASE2_NORMAL.getSync()); } @Override @@ -116,6 +121,7 @@ public class P25P2SyncDetector implements Listener */ public class PLLPhaseInversionDetector extends SyncDetector { + private FrameSync mFrameSync; private IPhaseLockedLoop mPhaseLockedLoop; private double mSampleRate; private double mFrequencyCorrection; @@ -135,6 +141,7 @@ public class P25P2SyncDetector implements Listener double frequencyCorrection) { super(frameSync.getSync()); + mFrameSync = frameSync; mPhaseLockedLoop = phaseLockedLoop; mFrequencyCorrection = frequencyCorrection; setSampleRate(sampleRate); @@ -144,11 +151,12 @@ public class P25P2SyncDetector implements Listener @Override public void syncDetected(int bitErrors) { + mLog.debug("PLL Phase Inversion Lock Detected: " + mFrameSync.name()); mPhaseLockedLoop.correctInversion(mPllCorrection); } @Override - public void syncLost() + public void syncLost(int bitsProcessed) { //no-op } diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/MacMessage.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/MacMessage.java index 1a9247df..0b436092 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/MacMessage.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/MacMessage.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -62,6 +62,14 @@ public class MacMessage extends P25P2Message mMacStructure = macStructure; } + /** + * Number of bit errors that were corrected + */ + public int getBitErrorCount() + { + return getMessage().getCorrectedBitCount(); + } + /** * Timeslot / Channel number for this message */ diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/AcknowledgeResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/AcknowledgeResponse.java index 5a5be3e5..e3a408bd 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/AcknowledgeResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/AcknowledgeResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacOpcode; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; @@ -125,7 +125,7 @@ public class AcknowledgeResponse extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; @@ -158,7 +158,7 @@ public class AcknowledgeResponse extends MacStructure { if(hasAdditionalInformation() && !hasExtendedAddressing() && mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/CallAlertAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/CallAlertAbbreviated.java index b50dd17c..34cf035b 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/CallAlertAbbreviated.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/CallAlertAbbreviated.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import java.util.ArrayList; @@ -74,7 +74,7 @@ public class CallAlertAbbreviated extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; @@ -87,7 +87,7 @@ public class CallAlertAbbreviated extends MacStructure { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/CallAlertExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/CallAlertExtended.java index 2aa8e30c..16a95381 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/CallAlertExtended.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/CallAlertExtended.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import java.util.ArrayList; @@ -78,7 +78,7 @@ public class CallAlertExtended extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/DenyResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/DenyResponse.java index 95052142..d039d3cd 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/DenyResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/DenyResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacOpcode; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import io.github.dsheirer.module.decode.p25.reference.DenyReason; @@ -118,7 +118,7 @@ public class DenyResponse extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/EndPushToTalk.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/EndPushToTalk.java index 171efb9e..e94d039e 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/EndPushToTalk.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/EndPushToTalk.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25Nac; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacOpcode; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; @@ -100,7 +100,7 @@ public class EndPushToTalk extends MacStructure { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/ExtendedFunctionCommand.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/ExtendedFunctionCommand.java index 2789ad03..d3578c03 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/ExtendedFunctionCommand.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/ExtendedFunctionCommand.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import io.github.dsheirer.module.decode.p25.reference.ExtendedFunction; @@ -99,7 +99,7 @@ public class ExtendedFunctionCommand extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/ExtendedFunctionCommandExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/ExtendedFunctionCommandExtended.java index b4292a2b..7114d5e1 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/ExtendedFunctionCommandExtended.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/ExtendedFunctionCommandExtended.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import io.github.dsheirer.module.decode.p25.reference.ExtendedFunction; @@ -107,7 +107,7 @@ public class ExtendedFunctionCommandExtended extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupAffiliationQueryAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupAffiliationQueryAbbreviated.java index 983da6b2..7dee8397 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupAffiliationQueryAbbreviated.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupAffiliationQueryAbbreviated.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import java.util.ArrayList; @@ -74,7 +74,7 @@ public class GroupAffiliationQueryAbbreviated extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; @@ -87,7 +87,7 @@ public class GroupAffiliationQueryAbbreviated extends MacStructure { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupAffiliationQueryExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupAffiliationQueryExtended.java index 7bb1bedf..3af82b9b 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupAffiliationQueryExtended.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupAffiliationQueryExtended.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import java.util.ArrayList; @@ -78,7 +78,7 @@ public class GroupAffiliationQueryExtended extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantAbbreviated.java index ff8c36ff..c4b8d4e5 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantAbbreviated.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantAbbreviated.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -27,7 +27,7 @@ import io.github.dsheirer.channel.IChannelDescriptor; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel; import io.github.dsheirer.module.decode.p25.identifier.channel.P25P2Channel; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; @@ -126,7 +126,7 @@ public class GroupVoiceChannelGrantAbbreviated extends MacStructure implements I { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantExtended.java index effe2764..ed820723 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantExtended.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantExtended.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -27,7 +27,7 @@ import io.github.dsheirer.channel.IChannelDescriptor; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; @@ -130,7 +130,7 @@ public class GroupVoiceChannelGrantExtended extends MacStructure implements IFre { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelUserAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelUserAbbreviated.java index 7e98fec9..3ff0f54e 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelUserAbbreviated.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelUserAbbreviated.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions; @@ -104,7 +104,7 @@ public class GroupVoiceChannelUserAbbreviated extends MacStructure { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelUserExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelUserExtended.java index d58404e9..fb94c78f 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelUserExtended.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelUserExtended.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions; @@ -113,7 +113,7 @@ public class GroupVoiceChannelUserExtended extends MacStructure { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceServiceRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceServiceRequest.java index 0bdff67a..66a003c0 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceServiceRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceServiceRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions; @@ -104,7 +104,7 @@ public class GroupVoiceServiceRequest extends MacStructure { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/IndividualPagingMessage.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/IndividualPagingMessage.java index 1d19ca4a..4cea2b75 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/IndividualPagingMessage.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/IndividualPagingMessage.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.BinaryMessage; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import java.util.ArrayList; @@ -197,7 +197,7 @@ public class IndividualPagingMessage extends MacStructure { if(mTargetAddress1 == null) { - mTargetAddress1 = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS_1, getOffset())); + mTargetAddress1 = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS_1, getOffset())); } return mTargetAddress1; @@ -210,7 +210,7 @@ public class IndividualPagingMessage extends MacStructure { if(mTargetAddress2 == null && getCount() >= 2) { - mTargetAddress2 = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS_2, getOffset())); + mTargetAddress2 = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS_2, getOffset())); } return mTargetAddress2; @@ -223,7 +223,7 @@ public class IndividualPagingMessage extends MacStructure { if(mTargetAddress3 == null && getCount() >= 3) { - mTargetAddress3 = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS_3, getOffset())); + mTargetAddress3 = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS_3, getOffset())); } return mTargetAddress3; @@ -236,7 +236,7 @@ public class IndividualPagingMessage extends MacStructure { if(mTargetAddress4 == null && getCount() >= 4) { - mTargetAddress4 = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS_4, getOffset())); + mTargetAddress4 = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS_4, getOffset())); } return mTargetAddress4; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MacRelease.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MacRelease.java index 17198c74..4bb6f5cd 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MacRelease.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MacRelease.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.APCO25Nac; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import java.util.ArrayList; @@ -96,7 +96,7 @@ public class MacRelease extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MessageUpdateAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MessageUpdateAbbreviated.java index a96db761..51ca6133 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MessageUpdateAbbreviated.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MessageUpdateAbbreviated.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.message.APCO25ShortDataMessage; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import java.util.ArrayList; @@ -92,7 +92,7 @@ public class MessageUpdateAbbreviated extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; @@ -105,7 +105,7 @@ public class MessageUpdateAbbreviated extends MacStructure { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MessageUpdateExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MessageUpdateExtended.java index 3d7df86a..4fa1e87e 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MessageUpdateExtended.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MessageUpdateExtended.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.message.APCO25ShortDataMessage; import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import java.util.ArrayList; @@ -96,7 +96,7 @@ public class MessageUpdateExtended extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/PowerControlSignalQuality.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/PowerControlSignalQuality.java index 8778f06c..434dadf1 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/PowerControlSignalQuality.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/PowerControlSignalQuality.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.enumeration.BER; import io.github.dsheirer.module.decode.p25.phase2.enumeration.RFLevel; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; @@ -76,7 +76,7 @@ public class PowerControlSignalQuality extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/PushToTalk.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/PushToTalk.java index a6b272bd..19156351 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/PushToTalk.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/PushToTalk.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -28,7 +28,7 @@ import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.identifier.encryption.EncryptionKeyIdentifier; import io.github.dsheirer.module.decode.p25.audio.Phase2EncryptionSyncParameters; import io.github.dsheirer.module.decode.p25.identifier.encryption.APCO25EncryptionKey; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacOpcode; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; @@ -137,7 +137,7 @@ public class PushToTalk extends MacStructure { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/QueuedResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/QueuedResponse.java index 9a58f90e..38fb2d47 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/QueuedResponse.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/QueuedResponse.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacOpcode; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import io.github.dsheirer.module.decode.p25.reference.QueuedResponseReason; @@ -118,7 +118,7 @@ public class QueuedResponse extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommand.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommand.java index 69728c2a..7c014f4a 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommand.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommand.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import java.util.ArrayList; @@ -108,7 +108,7 @@ public class RadioUnitMonitorCommand extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; @@ -121,7 +121,7 @@ public class RadioUnitMonitorCommand extends MacStructure { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommandEnhanced.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommandEnhanced.java index ec653112..e94c76b5 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommandEnhanced.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommandEnhanced.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import io.github.dsheirer.module.decode.p25.reference.Encryption; @@ -112,7 +112,7 @@ public class RadioUnitMonitorCommandEnhanced extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; @@ -138,7 +138,7 @@ public class RadioUnitMonitorCommandEnhanced extends MacStructure { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommandExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommandExtended.java index 85c6baa8..85effe95 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommandExtended.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommandExtended.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import java.util.ArrayList; @@ -113,7 +113,7 @@ public class RadioUnitMonitorCommandExtended extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/SNDCPDataChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/SNDCPDataChannelGrant.java index f1bb497d..fd3effb1 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/SNDCPDataChannelGrant.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/SNDCPDataChannelGrant.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -27,7 +27,7 @@ import io.github.dsheirer.channel.IChannelDescriptor; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import io.github.dsheirer.module.decode.p25.reference.DataServiceOptions; @@ -113,7 +113,7 @@ public class SNDCPDataChannelGrant extends MacStructure implements IFrequencyBan { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/SNDCPDataPageRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/SNDCPDataPageRequest.java index d0ab96ef..18233e6e 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/SNDCPDataPageRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/SNDCPDataPageRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import io.github.dsheirer.module.decode.p25.reference.DataServiceOptions; @@ -88,7 +88,7 @@ public class SNDCPDataPageRequest extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusQueryAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusQueryAbbreviated.java index 98fab0a7..f1ebf871 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusQueryAbbreviated.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusQueryAbbreviated.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import java.util.ArrayList; @@ -74,7 +74,7 @@ public class StatusQueryAbbreviated extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; @@ -87,7 +87,7 @@ public class StatusQueryAbbreviated extends MacStructure { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusQueryExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusQueryExtended.java index f4355f4e..38d90d96 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusQueryExtended.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusQueryExtended.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import java.util.ArrayList; @@ -78,7 +78,7 @@ public class StatusQueryExtended extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusUpdateAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusUpdateAbbreviated.java index 916e74b9..d7d3a796 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusUpdateAbbreviated.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusUpdateAbbreviated.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UnitStatus; import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UserStatus; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; @@ -102,7 +102,7 @@ public class StatusUpdateAbbreviated extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; @@ -115,7 +115,7 @@ public class StatusUpdateAbbreviated extends MacStructure { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusUpdateExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusUpdateExtended.java index cdd9b6b1..5dac799f 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusUpdateExtended.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusUpdateExtended.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UnitStatus; import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UserStatus; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; @@ -106,7 +106,7 @@ public class StatusUpdateExtended extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/TelephoneInterconnectAnswerRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/TelephoneInterconnectAnswerRequest.java index d01fe4ef..d2bd0d74 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/TelephoneInterconnectAnswerRequest.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/TelephoneInterconnectAnswerRequest.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.identifier.telephone.APCO25TelephoneNumber; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import io.github.dsheirer.module.decode.p25.reference.Digit; @@ -84,7 +84,7 @@ public class TelephoneInterconnectAnswerRequest extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/TelephoneInterconnectVoiceChannelUser.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/TelephoneInterconnectVoiceChannelUser.java index 591fb60f..18083ac2 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/TelephoneInterconnectVoiceChannelUser.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/TelephoneInterconnectVoiceChannelUser.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions; @@ -111,7 +111,7 @@ public class TelephoneInterconnectVoiceChannelUser extends MacStructure { if(mToOrFromAddress == null) { - mToOrFromAddress = APCO25Radio.createAny(getMessage().getInt(SOURCE_ADDRESS, getOffset())); + mToOrFromAddress = APCO25RadioIdentifier.createAny(getMessage().getInt(SOURCE_ADDRESS, getOffset())); } return mToOrFromAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitRegistrationCommandAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitRegistrationCommandAbbreviated.java index ff07e9c8..14e301aa 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitRegistrationCommandAbbreviated.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitRegistrationCommandAbbreviated.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import java.util.ArrayList; @@ -74,7 +74,7 @@ public class UnitRegistrationCommandAbbreviated extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; @@ -87,7 +87,7 @@ public class UnitRegistrationCommandAbbreviated extends MacStructure { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitAnswerRequestAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitAnswerRequestAbbreviated.java index 33b6b8b7..76fecfa8 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitAnswerRequestAbbreviated.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitAnswerRequestAbbreviated.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions; @@ -91,7 +91,7 @@ public class UnitToUnitAnswerRequestAbbreviated extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; @@ -104,7 +104,7 @@ public class UnitToUnitAnswerRequestAbbreviated extends MacStructure { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitAnswerRequestExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitAnswerRequestExtended.java index ba2b41cb..f09fca80 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitAnswerRequestExtended.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitAnswerRequestExtended.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions; @@ -95,7 +95,7 @@ public class UnitToUnitAnswerRequestExtended extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantAbbreviated.java index f12419f7..111a7dce 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantAbbreviated.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantAbbreviated.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -27,7 +27,7 @@ import io.github.dsheirer.channel.IChannelDescriptor; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel; import io.github.dsheirer.module.decode.p25.identifier.channel.P25P2Channel; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; @@ -96,7 +96,7 @@ public class UnitToUnitVoiceChannelGrantAbbreviated extends MacStructure impleme { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; @@ -109,7 +109,7 @@ public class UnitToUnitVoiceChannelGrantAbbreviated extends MacStructure impleme { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantExtended.java index 5d21bafa..4fd5090c 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantExtended.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantExtended.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -28,7 +28,7 @@ import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel; import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; @@ -101,7 +101,7 @@ public class UnitToUnitVoiceChannelGrantExtended extends MacStructure implements { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantUpdateAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantUpdateAbbreviated.java index b305a73d..df6f3d2b 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantUpdateAbbreviated.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantUpdateAbbreviated.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.channel.IChannelDescriptor; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; @@ -95,7 +95,7 @@ public class UnitToUnitVoiceChannelGrantUpdateAbbreviated extends MacStructure i { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; @@ -108,7 +108,7 @@ public class UnitToUnitVoiceChannelGrantUpdateAbbreviated extends MacStructure i { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantUpdateExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantUpdateExtended.java index c87359a0..a8d7b246 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantUpdateExtended.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantUpdateExtended.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -29,7 +29,7 @@ import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel; import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel; import io.github.dsheirer.module.decode.p25.identifier.channel.P25P2ExplicitChannel; import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; @@ -102,7 +102,7 @@ public class UnitToUnitVoiceChannelGrantUpdateExtended extends MacStructure impl { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelUserAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelUserAbbreviated.java index 05b66e5c..85cf784c 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelUserAbbreviated.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelUserAbbreviated.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions; @@ -91,7 +91,7 @@ public class UnitToUnitVoiceChannelUserAbbreviated extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; @@ -104,7 +104,7 @@ public class UnitToUnitVoiceChannelUserAbbreviated extends MacStructure { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelUserExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelUserExtended.java index ccfcdcd1..b968671b 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelUserExtended.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelUserExtended.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure; import io.github.dsheirer.bits.CorrectedBinaryMessage; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier; -import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio; +import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25RadioIdentifier; import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure; import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions; @@ -99,7 +99,7 @@ public class UnitToUnitVoiceChannelUserExtended extends MacStructure { if(mTargetAddress == null) { - mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); + mTargetAddress = APCO25RadioIdentifier.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset())); } return mTargetAddress; @@ -112,7 +112,7 @@ public class UnitToUnitVoiceChannelUserExtended extends MacStructure { if(mSourceAddress == null) { - mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); + mSourceAddress = APCO25RadioIdentifier.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset())); } return mSourceAddress; diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/timeslot/ScramblingSequence.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/timeslot/ScramblingSequence.java index 73d9adee..c5f0b272 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/timeslot/ScramblingSequence.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/timeslot/ScramblingSequence.java @@ -1,7 +1,7 @@ /* * * * ****************************************************************************** - * * Copyright (C) 2014-2019 Dennis Sheirer + * * Copyright (C) 2014-2020 Dennis Sheirer * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by @@ -57,7 +57,10 @@ public class ScramblingSequence */ public void update(ScrambleParameters parameters) { - update(parameters.getWACN(), parameters.getSystem(), parameters.getNAC()); + if(parameters != null) + { + update(parameters.getWACN(), parameters.getSystem(), parameters.getNAC()); + } } /** diff --git a/src/main/java/io/github/dsheirer/source/tuner/recording/RecordingTunerController.java b/src/main/java/io/github/dsheirer/source/tuner/recording/RecordingTunerController.java index 89089e1b..3528a4a4 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/recording/RecordingTunerController.java +++ b/src/main/java/io/github/dsheirer/source/tuner/recording/RecordingTunerController.java @@ -185,7 +185,7 @@ public class RecordingTunerController extends TunerController @Override public void setFrequency(long frequency) throws SourceException { - mLog.debug("Set frequency [" + frequency + "] request ignored"); +// mLog.debug("Set frequency [" + frequency + "] request ignored"); } /**