mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-13 00:57:31 -05:00
IQ recording file playback partial checkin.
NOTE: only the gui components and settings handling have been implemented. Actual recording playback is not yet implemented. Partial checkin of initial P25 decoder development. NOTE: P25 decoder is not yet functional.
This commit is contained in:
66
src/dsp/fsk/C4FMDecoder.java
Normal file
66
src/dsp/fsk/C4FMDecoder.java
Normal file
@@ -0,0 +1,66 @@
|
||||
package dsp.fsk;
|
||||
|
||||
import instrument.Instrumentable;
|
||||
import instrument.tap.Tap;
|
||||
import instrument.tap.stream.FloatTap;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import sample.Listener;
|
||||
|
||||
public class C4FMDecoder implements Listener<Float>, Instrumentable
|
||||
{
|
||||
private final String TAP_C4FM_INPUT = "C4FM Input";
|
||||
private ArrayList<Tap> mTaps;
|
||||
private FloatTap mInputTap;
|
||||
|
||||
public C4FMDecoder()
|
||||
{
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tap> getTaps()
|
||||
{
|
||||
if( mTaps == null )
|
||||
{
|
||||
mTaps = new ArrayList<Tap>();
|
||||
|
||||
FloatTap floatTap = new FloatTap( TAP_C4FM_INPUT, 0, 1.0f );
|
||||
mTaps.add( floatTap );
|
||||
}
|
||||
|
||||
return mTaps;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addTap( Tap tap )
|
||||
{
|
||||
switch( tap.getName() )
|
||||
{
|
||||
case TAP_C4FM_INPUT:
|
||||
mInputTap = (FloatTap)tap;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeTap( Tap tap )
|
||||
{
|
||||
switch( tap.getName() )
|
||||
{
|
||||
case TAP_C4FM_INPUT:
|
||||
mInputTap = null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void receive( Float t )
|
||||
{
|
||||
if( mInputTap != null )
|
||||
{
|
||||
mInputTap.receive( t );
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user