From d15ff407bd6dbdce6520e4a8c37db5d6e05fad01 Mon Sep 17 00:00:00 2001 From: "dennis.sheirer" Date: Sun, 21 Dec 2014 23:05:47 +0000 Subject: [PATCH] P25 channel state updates. --- src/controller/state/ChannelState.java | 6 ++++++ src/decode/p25/P25ChannelState.java | 18 ++++++++---------- .../osp/control/GroupAffiliationQuery.java | 4 ++-- src/dsp/fsk/C4FMSymbolFilter.java | 14 +++++++------- 4 files changed, 23 insertions(+), 19 deletions(-) diff --git a/src/controller/state/ChannelState.java b/src/controller/state/ChannelState.java index 0bf97e1b..23f4dac5 100644 --- a/src/controller/state/ChannelState.java +++ b/src/controller/state/ChannelState.java @@ -302,8 +302,14 @@ public abstract class ChannelState implements Listener switch( state ) { + case CONTROL: + setSquelchState( SquelchState.SQUELCH ); + break; case CALL: setSquelchState( SquelchState.UNSQUELCH ); + mTimerService.stopResetTimer(); + mTimerService.startFadeTimer(); + break; case DATA: mTimerService.stopResetTimer(); mTimerService.startFadeTimer(); diff --git a/src/decode/p25/P25ChannelState.java b/src/decode/p25/P25ChannelState.java index 48e6392e..1fdc8ac0 100644 --- a/src/decode/p25/P25ChannelState.java +++ b/src/decode/p25/P25ChannelState.java @@ -484,7 +484,7 @@ public class P25ChannelState extends ChannelState .details( "AFFILIATION:" + gar.getResponse().name() + " FOR " + gar.getAffiliationScope() + " GROUP:" + gar.getGroupAddress() + - " GROUP ANNOUNCEMENT:" + + " ANNOUNCEMENT GROUP:" + gar.getAnnouncementGroupAddress() ) .to( gar.getTargetAddress() ) .build() ); @@ -628,7 +628,7 @@ public class P25ChannelState extends ChannelState .details( "AFFILIATION:" + gar.getResponse().name() + " FOR GROUP:" + gar.getGroupWACN() + "-" + gar.getGroupSystemID() + "-" + - gar.getGroupID() + " GROUP ANNOUNCEMENT:" + + gar.getGroupID() + " ANNOUNCEMENT GROUP:" + gar.getAnnouncementGroupID() ) .from( gar.getSourceWACN() + "-" + gar.getSourceSystemID() + "-" + @@ -1222,14 +1222,18 @@ public class P25ChannelState extends ChannelState case SNDCP_DATA_CHANNEL_GRANT: SNDCPDataChannelGrant sdcg = (SNDCPDataChannelGrant)message; - mCallEventModel.add( + CallEvent event = new P25CallEvent.Builder( CallEventType.DATA_CALL ) .aliasList( mAliasList ) .channel( sdcg.getTransmitChannel() ) .details( "SNDCP DATA NSAPI:" + sdcg.getNSAPI() ) .frequency( sdcg.getDownlinkFrequency() ) .to( sdcg.getTargetAddress() ) - .build() ); + .build(); + + mCallEventModel.add( event ); + + addCall( event ); break; case TELEPHONE_INTERCONNECT_VOICE_CHANNEL_GRANT: TelephoneInterconnectVoiceChannelGrant tivcg = @@ -1445,12 +1449,6 @@ public class P25ChannelState extends ChannelState } } - @Override - public void setSquelchState( SquelchState state ) - { - //do nothing ... we want the squelch state always unsquelched (for now) - } - @Override public String getActivitySummary() { diff --git a/src/decode/p25/message/tsbk/osp/control/GroupAffiliationQuery.java b/src/decode/p25/message/tsbk/osp/control/GroupAffiliationQuery.java index 6047b4de..41490477 100644 --- a/src/decode/p25/message/tsbk/osp/control/GroupAffiliationQuery.java +++ b/src/decode/p25/message/tsbk/osp/control/GroupAffiliationQuery.java @@ -8,9 +8,9 @@ import decode.p25.reference.Opcode; public class GroupAffiliationQuery extends TSBKMessage { - public static final int[] SOURCE_ADDRESS = { 96,97,98,99,100,101,102,103, + public static final int[] TARGET_ADDRESS = { 96,97,98,99,100,101,102,103, 104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119 }; - public static final int[] TARGET_ADDRESS = { 120,121,122,123,124,125,126, + public static final int[] SOURCE_ADDRESS = { 120,121,122,123,124,125,126, 127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143 }; public GroupAffiliationQuery( BitSetBuffer message, diff --git a/src/dsp/fsk/C4FMSymbolFilter.java b/src/dsp/fsk/C4FMSymbolFilter.java index ec9af0b4..cea6f4c3 100644 --- a/src/dsp/fsk/C4FMSymbolFilter.java +++ b/src/dsp/fsk/C4FMSymbolFilter.java @@ -311,13 +311,13 @@ public class C4FMSymbolFilter implements RealSampleListener, mFineFrequencyCorrection += ( symbolError * K_FINE_FREQUENCY ); - /* send frequency correction */ - if( Math.abs( mCoarseFrequencyCorrection ) > COARSE_FREQUENCY_DEADBAND ) - { - mLog.debug( "Frequency Correction [" + - ( mCoarseFrequencyCorrection > 0 ? "-" : "+" ) + - mCoarseFrequencyCorrection + "]" ); - } +// /* send frequency correction */ +// if( Math.abs( mCoarseFrequencyCorrection ) > COARSE_FREQUENCY_DEADBAND ) +// { +// mLog.debug( "Frequency Correction [" + +// ( mCoarseFrequencyCorrection > 0 ? "-" : "+" ) + +// mCoarseFrequencyCorrection + "]" ); +// } if( mSymbolSpreadTap != null ) {