mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 08:37:25 -05:00
wip #34 - removed some wrapper methods from tuner since the tuner
controller is now exposed (frequency, sample rate, channel count, etc)
This commit is contained in:
@@ -99,12 +99,6 @@ public abstract class Tuner implements ITunerChannelProvider
|
||||
mName = name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Applies the settings from a saved tuner configuration setting object
|
||||
*/
|
||||
public abstract void apply( TunerConfiguration config )
|
||||
throws SourceException;
|
||||
|
||||
/**
|
||||
* Unique identifier for this tuner, used to lookup a tuner configuration
|
||||
* from the settings manager.
|
||||
@@ -135,23 +129,11 @@ public abstract class Tuner implements ITunerChannelProvider
|
||||
return mName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sample rate of complex data coming from the Tuner
|
||||
* @return
|
||||
*/
|
||||
public abstract int getSampleRate();
|
||||
|
||||
/**
|
||||
* Sample size in bits
|
||||
*/
|
||||
public abstract double getSampleSize();
|
||||
|
||||
/**
|
||||
* Tuner Local Oscillator Frequency
|
||||
* @return - frequency in Hertz
|
||||
*/
|
||||
public abstract long getFrequency() throws SourceException;
|
||||
|
||||
/**
|
||||
* Returns a tuner frequency channel source, tuned to the correct frequency
|
||||
*
|
||||
@@ -166,11 +148,6 @@ public abstract class Tuner implements ITunerChannelProvider
|
||||
public abstract TunerChannelSource getChannel( TunerChannel channel )
|
||||
throws RejectedExecutionException, SourceException;
|
||||
|
||||
/**
|
||||
* Count of currently sourced channels (TunerChannel).
|
||||
*/
|
||||
public abstract int getChannelCount();
|
||||
|
||||
/**
|
||||
* Releases the tuned channel resources
|
||||
*
|
||||
|
||||
@@ -97,16 +97,18 @@ public class TunerChannelSource extends ComplexSource
|
||||
|
||||
mTunerChannel = tunerChannel;
|
||||
|
||||
mTunerFrequency = mTuner.getFrequency();
|
||||
mTunerFrequency = mTuner.getTunerController().getFrequency();
|
||||
|
||||
/* Setup the frequency translator to the current source frequency */
|
||||
long frequencyOffset = mTunerFrequency - mTunerChannel.getFrequency();
|
||||
|
||||
mMixer = new Oscillator( frequencyOffset, mTuner.getSampleRate() );
|
||||
mMixer = new Oscillator( frequencyOffset,
|
||||
mTuner.getTunerController().getSampleRate() );
|
||||
|
||||
/* Fire a sample rate change event to setup the decimation chain */
|
||||
frequencyChanged( new FrequencyChangeEvent(
|
||||
Event.NOTIFICATION_SAMPLE_RATE_CHANGE, mTuner.getSampleRate() ) );
|
||||
Event.NOTIFICATION_SAMPLE_RATE_CHANGE,
|
||||
mTuner.getTunerController().getSampleRate() ) );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -119,6 +119,11 @@ public abstract class TunerController implements Tunable, IFrequencyChangeProces
|
||||
{
|
||||
return mFrequencyController.getFrequency();
|
||||
}
|
||||
|
||||
public int getSampleRate()
|
||||
{
|
||||
return mFrequencyController.getBandwidth();
|
||||
}
|
||||
|
||||
public double getFrequencyCorrection()
|
||||
{
|
||||
|
||||
@@ -133,14 +133,8 @@ public class TunerEditor extends Editor<Tuner>
|
||||
tuner.getTunerController().addListener( mFrequencyControl );
|
||||
|
||||
//Set the displayed frequency without adjusting the tuner's frequency
|
||||
try
|
||||
{
|
||||
mFrequencyControl.setFrequency( tuner.getFrequency(), false );
|
||||
}
|
||||
catch( SourceException e )
|
||||
{
|
||||
mLog.debug( "Couldn't get frequency from tuner: " + tuner.getUniqueID() );
|
||||
}
|
||||
mFrequencyControl.setFrequency(
|
||||
tuner.getTunerController().getFrequency(), false );
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -96,7 +96,7 @@ public class TunerModel extends AbstractTableModel implements Listener<TunerEven
|
||||
|
||||
try
|
||||
{
|
||||
tuner.apply( config );
|
||||
tuner.getTunerController().apply( config );
|
||||
|
||||
mTuners.add( tuner );
|
||||
|
||||
@@ -222,13 +222,13 @@ public class TunerModel extends AbstractTableModel implements Listener<TunerEven
|
||||
case TUNER_TYPE:
|
||||
return tuner.getTunerType().getLabel();
|
||||
case SAMPLE_RATE:
|
||||
int sampleRate = tuner.getSampleRate();
|
||||
int sampleRate = tuner.getTunerController().getSampleRate();
|
||||
|
||||
return mSampleRateFormat.format( sampleRate / 1E6D ) + MHZ;
|
||||
case FREQUENCY:
|
||||
try
|
||||
{
|
||||
long frequency = tuner.getFrequency();
|
||||
long frequency = tuner.getTunerController().getFrequency();
|
||||
|
||||
return mFrequencyFormat.format( frequency / 1E6D ) + MHZ;
|
||||
}
|
||||
@@ -237,7 +237,7 @@ public class TunerModel extends AbstractTableModel implements Listener<TunerEven
|
||||
return 0;
|
||||
}
|
||||
case CHANNEL_COUNT:
|
||||
return tuner.getChannelCount();
|
||||
return tuner.getTunerController().getChannelCount();
|
||||
case SPECTRAL_DISPLAY_MAIN:
|
||||
return "Main";
|
||||
case SPECTRAL_DISPLAY_NEW:
|
||||
|
||||
@@ -48,12 +48,6 @@ public class AirspyTuner extends Tuner
|
||||
return (AirspyTunerController)getTunerController();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply( TunerConfiguration config ) throws SourceException
|
||||
{
|
||||
getController().apply( config );
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUniqueID()
|
||||
{
|
||||
@@ -81,35 +75,12 @@ public class AirspyTuner extends Tuner
|
||||
return TunerType.AIRSPY_R820T;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSampleRate()
|
||||
{
|
||||
int rate = 0;
|
||||
|
||||
try
|
||||
{
|
||||
rate = getController().getCurrentSampleRate();
|
||||
}
|
||||
catch ( SourceException e )
|
||||
{
|
||||
mLog.error( "Error while getting sample rate from controller", e );
|
||||
}
|
||||
|
||||
return rate;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getSampleSize()
|
||||
{
|
||||
return 13.0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getFrequency() throws SourceException
|
||||
{
|
||||
return getController().getFrequency();
|
||||
}
|
||||
|
||||
@Override
|
||||
public TunerChannelSource getChannel( TunerChannel channel )
|
||||
throws RejectedExecutionException, SourceException
|
||||
@@ -131,14 +102,6 @@ public class AirspyTuner extends Tuner
|
||||
return source;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public int getChannelCount()
|
||||
{
|
||||
return getController().getChannelCount();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void releaseChannel( TunerChannelSource source )
|
||||
{
|
||||
|
||||
@@ -427,7 +427,7 @@ public class AirspyTunerController extends TunerController
|
||||
/**
|
||||
* Airspy sample rate object that matches the current sample rate setting.
|
||||
*/
|
||||
public AirspySampleRate getSampleRate()
|
||||
public AirspySampleRate getAirspySampleRate()
|
||||
{
|
||||
return getSampleRate( mSampleRate );
|
||||
}
|
||||
|
||||
@@ -68,30 +68,12 @@ public class B100Tuner extends Tuner
|
||||
return TunerType.ETTUS_WBX;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply( TunerConfiguration config ) throws SourceException
|
||||
{
|
||||
mLog.error( "B100 Tuner - can't apply tuner configuration" );
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSampleRate()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getSampleSize()
|
||||
{
|
||||
return 16.0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getFrequency() throws SourceException
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TunerChannelSource getChannel( TunerChannel channel )
|
||||
throws RejectedExecutionException, SourceException
|
||||
@@ -100,13 +82,6 @@ public class B100Tuner extends Tuner
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getChannelCount()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void releaseChannel( TunerChannelSource source )
|
||||
{
|
||||
|
||||
@@ -73,30 +73,12 @@ public class FCDTuner extends MixerTuner
|
||||
return getController().getUSBAddress();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply( TunerConfiguration config )throws SourceException
|
||||
{
|
||||
getController().apply( config );
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSampleRate()
|
||||
{
|
||||
return (int)mMixerTunerType.getAudioFormat().getSampleRate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getSampleSize()
|
||||
{
|
||||
return 16.0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getFrequency() throws SourceException
|
||||
{
|
||||
return getController().getFrequency();
|
||||
}
|
||||
|
||||
@Override
|
||||
public TunerChannelSource getChannel( TunerChannel tunerChannel )
|
||||
throws RejectedExecutionException, SourceException
|
||||
@@ -111,12 +93,6 @@ public class FCDTuner extends MixerTuner
|
||||
return source;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getChannelCount()
|
||||
{
|
||||
return getController().getChannelCount();
|
||||
}
|
||||
|
||||
/**
|
||||
* Releases the tuned channel so that the tuner controller can tune to
|
||||
* other frequencies as needed.
|
||||
|
||||
@@ -70,6 +70,7 @@ public abstract class FCDTunerController extends TunerController
|
||||
*/
|
||||
public FCDTunerController( Device device,
|
||||
DeviceDescriptor descriptor,
|
||||
int sampleRate,
|
||||
int minTunableFrequency,
|
||||
int maxTunableFrequency )
|
||||
{
|
||||
@@ -77,7 +78,7 @@ public abstract class FCDTunerController extends TunerController
|
||||
maxTunableFrequency,
|
||||
DC_SPIKE_AVOID_BUFFER,
|
||||
USABLE_BANDWIDTH_PERCENT );
|
||||
|
||||
mFrequencyController.setSampleRate( sampleRate );
|
||||
mDevice = device;
|
||||
mDeviceDescriptor = descriptor;
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ import org.usb4java.DeviceDescriptor;
|
||||
|
||||
import settings.SettingsManager;
|
||||
import source.SourceException;
|
||||
import source.tuner.MixerTunerType;
|
||||
import source.tuner.TunerClass;
|
||||
import source.tuner.TunerType;
|
||||
import source.tuner.configuration.TunerConfiguration;
|
||||
@@ -60,7 +61,8 @@ public class FCD1TunerController extends FCDTunerController
|
||||
public FCD1TunerController( Device device, DeviceDescriptor descriptor )
|
||||
{
|
||||
super( device,
|
||||
descriptor,
|
||||
descriptor,
|
||||
(int)MixerTunerType.FUNCUBE_DONGLE_PRO.getAudioFormat().getSampleRate(),
|
||||
sMINIMUM_TUNABLE_FREQUENCY,
|
||||
sMAXIMUM_TUNABLE_FREQUENCY );
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ import org.usb4java.DeviceDescriptor;
|
||||
|
||||
import settings.SettingsManager;
|
||||
import source.SourceException;
|
||||
import source.tuner.MixerTunerType;
|
||||
import source.tuner.TunerClass;
|
||||
import source.tuner.TunerType;
|
||||
import source.tuner.configuration.TunerConfiguration;
|
||||
@@ -52,6 +53,7 @@ public class FCD2TunerController extends FCDTunerController
|
||||
{
|
||||
super( device,
|
||||
descriptor,
|
||||
(int)MixerTunerType.FUNCUBE_DONGLE_PRO_PLUS.getAudioFormat().getSampleRate(),
|
||||
sMINIMUM_TUNABLE_FREQUENCY,
|
||||
sMAXIMUM_TUNABLE_FREQUENCY );
|
||||
}
|
||||
|
||||
@@ -65,30 +65,12 @@ public class HackRFTuner extends Tuner
|
||||
return TunerType.HACKRF;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply( TunerConfiguration config ) throws SourceException
|
||||
{
|
||||
getController().apply( config );
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSampleRate()
|
||||
{
|
||||
return getController().getSampleRate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getSampleSize()
|
||||
{
|
||||
return 11.0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getFrequency() throws SourceException
|
||||
{
|
||||
return getController().getFrequency();
|
||||
}
|
||||
|
||||
@Override
|
||||
public TunerChannelSource getChannel( TunerChannel channel )
|
||||
throws RejectedExecutionException, SourceException
|
||||
@@ -103,12 +85,6 @@ public class HackRFTuner extends Tuner
|
||||
return source;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getChannelCount()
|
||||
{
|
||||
return getController().getChannelCount();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void releaseChannel( TunerChannelSource source )
|
||||
{
|
||||
|
||||
@@ -81,27 +81,6 @@ public class RTL2832Tuner extends Tuner
|
||||
return getController().getTunerType();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply( TunerConfiguration config ) throws SourceException
|
||||
{
|
||||
getController().apply( config );
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSampleRate()
|
||||
{
|
||||
try
|
||||
{
|
||||
return getController().getCurrentSampleRate();
|
||||
}
|
||||
catch( SourceException e )
|
||||
{
|
||||
mLog.error( "RTL2832 Tuner - couldn't get sample rate", e );
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
public void setSampleRate( SampleRate sampleRate ) throws SourceException
|
||||
{
|
||||
try
|
||||
@@ -123,12 +102,6 @@ public class RTL2832Tuner extends Tuner
|
||||
return 11.0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getFrequency() throws SourceException
|
||||
{
|
||||
return getController().getFrequency();
|
||||
}
|
||||
|
||||
public void setFrequency( int frequency ) throws SourceException
|
||||
{
|
||||
getController().setFrequency( frequency );
|
||||
@@ -158,12 +131,6 @@ public class RTL2832Tuner extends Tuner
|
||||
return source;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getChannelCount()
|
||||
{
|
||||
return getController().getChannelCount();
|
||||
}
|
||||
|
||||
/**
|
||||
* Releases the tuned channel so that the tuner controller can tune to
|
||||
* other frequencies as needed.
|
||||
|
||||
@@ -976,7 +976,7 @@ public abstract class RTL2832TunerController extends TunerController
|
||||
return mSampleRate.getRate();
|
||||
}
|
||||
|
||||
public int getSampleRate() throws SourceException
|
||||
public int getSampleRateFromTuner() throws SourceException
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
@@ -447,19 +447,13 @@ public class SpectralDisplayPanel extends JPanel
|
||||
|
||||
//Fire frequency and sample rate change events so that the spectrum
|
||||
//and overlay panels can synchronize
|
||||
try
|
||||
{
|
||||
frequencyChanged( new FrequencyChangeEvent(
|
||||
Event.NOTIFICATION_FREQUENCY_CHANGE, mTuner.getFrequency() ) );
|
||||
|
||||
frequencyChanged( new FrequencyChangeEvent(
|
||||
Event.NOTIFICATION_SAMPLE_RATE_CHANGE, mTuner.getSampleRate() ) );
|
||||
}
|
||||
catch ( SourceException e )
|
||||
{
|
||||
mLog.info( "DFTProcessor - exception during new tuner setup - "
|
||||
+ "couldn't get frequency from the tuner", e );
|
||||
}
|
||||
frequencyChanged( new FrequencyChangeEvent(
|
||||
Event.NOTIFICATION_FREQUENCY_CHANGE,
|
||||
mTuner.getTunerController().getFrequency() ) );
|
||||
|
||||
frequencyChanged( new FrequencyChangeEvent(
|
||||
Event.NOTIFICATION_SAMPLE_RATE_CHANGE,
|
||||
mTuner.getTunerController().getSampleRate() ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user