From 26d3c12eda4313becb8599303d8c838f09a20951 Mon Sep 17 00:00:00 2001 From: "dennis.sheirer" Date: Tue, 6 May 2014 13:19:24 +0000 Subject: [PATCH] Added instrumentation to the LTR-Net decoder. --- src/decode/DecoderType.java | 1 + src/decode/ltrnet/LTRNetDecoder.java | 35 ++++++++++++++++++++++++- src/instrument/gui/WaveSourceFrame.java | 5 ++++ 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/src/decode/DecoderType.java b/src/decode/DecoderType.java index e57e5efc..98179803 100644 --- a/src/decode/DecoderType.java +++ b/src/decode/DecoderType.java @@ -65,6 +65,7 @@ public enum DecoderType public static EnumSet getInstrumentableDecoders() { return EnumSet.of( DecoderType.FLEETSYNC2, + DecoderType.LTR_NET, DecoderType.MDC1200, DecoderType.MPT1327, DecoderType.PASSPORT ); diff --git a/src/decode/ltrnet/LTRNetDecoder.java b/src/decode/ltrnet/LTRNetDecoder.java index d11a3571..39d185b4 100644 --- a/src/decode/ltrnet/LTRNetDecoder.java +++ b/src/decode/ltrnet/LTRNetDecoder.java @@ -17,6 +17,12 @@ ******************************************************************************/ package decode.ltrnet; +import instrument.Instrumentable; +import instrument.tap.Tap; + +import java.util.ArrayList; +import java.util.List; + import message.MessageDirection; import source.Source.SampleType; import alias.AliasList; @@ -28,7 +34,7 @@ import dsp.filter.DCRemovalFilter2; import dsp.fsk.LTRFSKDecoder; import dsp.nbfm.FilteringNBFMDemodulator; -public class LTRNetDecoder extends Decoder +public class LTRNetDecoder extends Decoder implements Instrumentable { /** * This value determines how quickly the DC remove filter responds to @@ -43,6 +49,8 @@ public class LTRNetDecoder extends Decoder private MessageFramer mLTRMessageFramer; private LTRNetMessageProcessor mLTRMessageProcessor; + private List mAvailableTaps; + public LTRNetDecoder( SampleType sampleType, AliasList aliasList, MessageDirection direction ) @@ -115,4 +123,29 @@ public class LTRNetDecoder extends Decoder { return DecoderType.LTR_NET; } + + @Override + public List getTaps() + { + if( mAvailableTaps == null ) + { + mAvailableTaps = new ArrayList(); + + mAvailableTaps.addAll( mLTRFSKDecoder.getTaps() ); + } + + return mAvailableTaps; + } + + @Override + public void addTap( Tap tap ) + { + mLTRFSKDecoder.addTap( tap ); + } + + @Override + public void removeTap( Tap tap ) + { + mLTRFSKDecoder.removeTap( tap ); + } } diff --git a/src/instrument/gui/WaveSourceFrame.java b/src/instrument/gui/WaveSourceFrame.java index 2fc22f3e..aec3b7b9 100644 --- a/src/instrument/gui/WaveSourceFrame.java +++ b/src/instrument/gui/WaveSourceFrame.java @@ -35,6 +35,7 @@ import javax.swing.JPanel; import javax.swing.JTextField; import log.Log; +import message.MessageDirection; import net.miginfocom.swing.MigLayout; import source.Source.SampleType; import source.wave.WaveSource; @@ -42,6 +43,7 @@ import source.wave.WaveSource.PositionListener; import decode.Decoder; import decode.DecoderType; import decode.fleetsync2.Fleetsync2Decoder; +import decode.ltrnet.LTRNetDecoder; import decode.mdc1200.MDCDecoder; import decode.mpt1327.MPT1327Decoder; import decode.passport.PassportDecoder; @@ -133,6 +135,9 @@ public class WaveSourceFrame extends JInternalFrame implements PositionListener case FLEETSYNC2: decoder = new Fleetsync2Decoder( null ); break; + case LTR_NET: + decoder = new LTRNetDecoder( SampleType.FLOAT, null, MessageDirection.OSW ); + break; case MDC1200: decoder = new MDCDecoder( null ); break;