diff --git a/src/decode/ltrnet/LTRNetMessageProcessor.java b/src/decode/ltrnet/LTRNetMessageProcessor.java index feb751b2..5377eff9 100644 --- a/src/decode/ltrnet/LTRNetMessageProcessor.java +++ b/src/decode/ltrnet/LTRNetMessageProcessor.java @@ -30,10 +30,17 @@ import bits.BitSetBuffer; public class LTRNetMessageProcessor implements Listener { private Broadcaster mBroadcaster = new Broadcaster(); - private HashMap mReceiveAuxMessages = + + private HashMap mReceiveHighAuxMessages = new HashMap(); - private HashMap mTransmitAuxMessages = + private HashMap mReceiveLowAuxMessages = new HashMap(); + + private HashMap mTransmitHighAuxMessages = + new HashMap(); + private HashMap mTransmitLowAuxMessages = + new HashMap(); + private LTRNetISWMessage mESNHighMessage; private LTRNetISWMessage mESNLowMessage; @@ -60,23 +67,34 @@ public class LTRNetMessageProcessor implements Listener { if( message.getMessageType() == MessageType.FQ_TXHI ) { - message.setAuxiliaryMessage( - mTransmitAuxMessages.get( message.getHomeRepeater() ) ); + mTransmitHighAuxMessages.put( message.getHomeRepeater(), + (LTRNetOSWMessage)message ); + + message.setAuxiliaryMessage( mTransmitLowAuxMessages.get( + message.getHomeRepeater() ) ); } else if( message.getMessageType() == MessageType.FQ_TXLO ) { - mTransmitAuxMessages.put( message.getHomeRepeater(), + mTransmitLowAuxMessages.put( message.getHomeRepeater(), (LTRNetOSWMessage)message ); + + message.setAuxiliaryMessage( mTransmitHighAuxMessages.get( + message.getHomeRepeater() ) ); } else if( message.getMessageType() == MessageType.FQ_RXHI ) { - message.setAuxiliaryMessage( - mReceiveAuxMessages.get( message.getHomeRepeater() ) ); + mReceiveHighAuxMessages.put( message.getHomeRepeater(), + (LTRNetOSWMessage)message ); + + message.setAuxiliaryMessage( mReceiveLowAuxMessages.get( + message.getHomeRepeater() ) ); } else if( message.getMessageType() == MessageType.FQ_RXLO ) { - mReceiveAuxMessages.put( message.getHomeRepeater(), + mReceiveLowAuxMessages.put( message.getHomeRepeater(), (LTRNetOSWMessage)message ); + message.setAuxiliaryMessage( mReceiveHighAuxMessages.get( + message.getHomeRepeater() ) ); } } } diff --git a/src/decode/ltrnet/LTRNetOSWMessage.java b/src/decode/ltrnet/LTRNetOSWMessage.java index 20a88d3d..6b392ed5 100644 --- a/src/decode/ltrnet/LTRNetOSWMessage.java +++ b/src/decode/ltrnet/LTRNetOSWMessage.java @@ -153,10 +153,10 @@ public class LTRNetOSWMessage extends LTRNetMessage sb.append( "CHAN RX LOW LCN:" ); sb.append( format( getHomeRepeater(), 2 ) ); sb.append( " = " ); - double rxfreqhi = getFrequency(); - if( rxfreqhi != sDOUBLE_NULL_VALUE ) + double rxFreqLo = getFrequency(); + if( rxFreqLo != sDOUBLE_NULL_VALUE ) { - sb.append( mDecimalFormatter.format( rxfreqhi ) ); + sb.append( mDecimalFormatter.format( rxFreqLo ) ); } else { @@ -167,7 +167,17 @@ public class LTRNetOSWMessage extends LTRNetMessage case FQ_RXHI: sb.append( "CHAN RX HIGH LCN:" ); sb.append( format( getHomeRepeater(), 2 ) ); - sb.append( " MSG 1 OF 2" ); + sb.append( " = " ); + double rxfreqhi = getFrequency(); + if( rxfreqhi != sDOUBLE_NULL_VALUE ) + { + sb.append( mDecimalFormatter.format( rxfreqhi ) ); + } + else + { + sb.append( "000.00000" ); + } + sb.append( " MHz" ); break; case FQ_TXHI: sb.append( "CHAN TX LOW LCN:" ); @@ -187,7 +197,17 @@ public class LTRNetOSWMessage extends LTRNetMessage case FQ_TXLO: sb.append( "CHAN TX HIGH LCN:" ); sb.append( format( getHomeRepeater(), 2 ) ); - sb.append( " MSG 1 OF 2" ); + sb.append( " = " ); + double txFreqLo = getFrequency(); + if( txFreqLo != sDOUBLE_NULL_VALUE ) + { + sb.append( mDecimalFormatter.format( txFreqLo ) ); + } + else + { + sb.append( "000.00000" ); + } + sb.append( " MHz" ); break; case ID_SITE: int siteId = getSiteID(); @@ -396,8 +416,21 @@ public class LTRNetOSWMessage extends LTRNetMessage if( mAuxMessage != null ) { - int high = getHighChannelUnits(); - int low = mAuxMessage.getLowChannelUnits(); + int high; + int low; + + MessageType type = getMessageType(); + + if( type == MessageType.FQ_RXHI || type == MessageType.FQ_TXHI ) + { + high = getHighChannelUnits(); + low = mAuxMessage.getLowChannelUnits(); + } + else + { + high = mAuxMessage.getHighChannelUnits(); + low = getLowChannelUnits(); + } if( high != sINT_NULL_VALUE && low != sINT_NULL_VALUE ) {