Updates PlaylistManager to use faster jackson XML serialization.

Removes native xml.bind serialization for improved compatibility with
 Java 9.

 Global optimize imports on the entire project.
This commit is contained in:
Denny
2017-12-21 07:18:26 -05:00
parent 47cc194415
commit ee6aeafa84
303 changed files with 3457 additions and 4687 deletions

View File

@@ -1,74 +1,78 @@
/*******************************************************************************
* SDR Trunk
* Copyright (C) 2014 Dennis Sheirer
*
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>
******************************************************************************/
package io.github.dsheirer.source.config;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.github.dsheirer.source.SourceType;
import io.github.dsheirer.source.mixer.MixerChannel;
import javax.xml.bind.annotation.XmlAttribute;
@JsonSubTypes.Type(value = SourceConfigMixer.class, name = "sourceConfigMixer")
public class SourceConfigMixer extends SourceConfiguration
{
protected String mMixer;
protected MixerChannel mChannel = MixerChannel.LEFT; //default
public SourceConfigMixer()
protected String mMixer;
protected MixerChannel mChannel = MixerChannel.LEFT; //default
public SourceConfigMixer()
{
super( SourceType.MIXER );
super(SourceType.MIXER);
}
@Override
@JsonIgnore
@Override
public String getDescription()
{
return getName();
return getName();
}
public String getName()
{
StringBuilder sb = new StringBuilder();
sb.append( "Mixer: " );
sb.append( mMixer );
sb.append( "-" );
sb.append( mChannel.toString() );
return sb.toString();
}
@XmlAttribute( name= "mixer" )
public String getMixer()
{
return mMixer;
}
public void setMixer( String mixer )
{
mMixer = mixer;
}
@JsonIgnore
public String getName()
{
StringBuilder sb = new StringBuilder();
@XmlAttribute( name = "channel")
public MixerChannel getChannel()
{
return mChannel;
}
public void setChannel( MixerChannel channel )
{
mChannel = channel;
}
sb.append("Mixer: ");
sb.append(mMixer);
sb.append("-");
sb.append(mChannel.toString());
return sb.toString();
}
@JacksonXmlProperty(isAttribute = true, localName = "mixer")
public String getMixer()
{
return mMixer;
}
public void setMixer(String mixer)
{
mMixer = mixer;
}
@JacksonXmlProperty(isAttribute = true, localName = "channel")
public MixerChannel getChannel()
{
return mChannel;
}
public void setChannel(MixerChannel channel)
{
mChannel = channel;
}
}

View File

@@ -1,34 +1,38 @@
/*******************************************************************************
* SDR Trunk
* Copyright (C) 2014 Dennis Sheirer
*
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>
******************************************************************************/
package io.github.dsheirer.source.config;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import io.github.dsheirer.source.SourceType;
@JsonSubTypes.Type(value = SourceConfigNone.class, name = "sourceConfigNone")
public class SourceConfigNone extends SourceConfiguration
{
public SourceConfigNone()
public SourceConfigNone()
{
super( SourceType.NONE );
super(SourceType.NONE);
}
@Override
@JsonIgnore
@Override
public String getDescription()
{
return "No Source";
return "No Source";
}
}

View File

@@ -17,12 +17,11 @@
******************************************************************************/
package io.github.dsheirer.source.config;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.github.dsheirer.source.SourceType;
import io.github.dsheirer.source.tuner.TunerChannel;
import io.github.dsheirer.source.tuner.TunerChannel.Type;
import javax.xml.bind.annotation.XmlAttribute;
public class SourceConfigRecording extends SourceConfiguration
{
private String mRecordingAlias;
@@ -32,8 +31,8 @@ public class SourceConfigRecording extends SourceConfiguration
{
super( SourceType.RECORDING );
}
@XmlAttribute( name = "recording_alias" )
@JacksonXmlProperty(isAttribute=true,localName= "recording_alias" )
public String getRecordingAlias()
{
return mRecordingAlias;
@@ -44,7 +43,7 @@ public class SourceConfigRecording extends SourceConfiguration
mRecordingAlias = alias;
}
@XmlAttribute( name = "frequency" )
@JacksonXmlProperty(isAttribute=true,localName= "frequency" )
public long getFrequency()
{
return mFrequency;

View File

@@ -1,68 +1,73 @@
/*******************************************************************************
* SDR Trunk
* Copyright (C) 2014-2016 Dennis Sheirer
*
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>
******************************************************************************/
package io.github.dsheirer.source.config;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.github.dsheirer.source.SourceType;
import io.github.dsheirer.source.tuner.TunerChannel;
import io.github.dsheirer.source.tuner.TunerChannel.Type;
import javax.xml.bind.annotation.XmlAttribute;
import java.text.DecimalFormat;
@JsonSubTypes.Type(value = SourceConfigTuner.class, name = "sourceConfigTuner")
public class SourceConfigTuner extends SourceConfiguration
{
private static DecimalFormat sFORMAT = new DecimalFormat( "0.00000" );
private static DecimalFormat sFORMAT = new DecimalFormat("0.00000");
private long mFrequency = 0;
private int mBandwidth = 12500;
public SourceConfigTuner()
private long mFrequency = 0;
private int mBandwidth = 12500;
public SourceConfigTuner()
{
super( SourceType.TUNER );
super(SourceType.TUNER);
}
public SourceConfigTuner( TunerChannel tunerChannel )
{
this();
mFrequency = tunerChannel.getFrequency();
mBandwidth = tunerChannel.getBandwidth();
}
@XmlAttribute( name = "frequency" )
public long getFrequency()
{
return mFrequency;
}
public void setFrequency( long frequency )
{
mFrequency = frequency;
}
@Override
public SourceConfigTuner(TunerChannel tunerChannel)
{
this();
mFrequency = tunerChannel.getFrequency();
mBandwidth = tunerChannel.getBandwidth();
}
@JacksonXmlProperty(isAttribute = true, localName = "frequency")
public long getFrequency()
{
return mFrequency;
}
public void setFrequency(long frequency)
{
mFrequency = frequency;
}
@JsonIgnore
@Override
public String getDescription()
{
return sFORMAT.format( (double)mFrequency / 1000000.0d ) + " MHz";
return sFORMAT.format((double)mFrequency / 1000000.0d) + " MHz";
}
@JsonIgnore
public TunerChannel getTunerChannel()
{
return new TunerChannel(Type.LOCKED, mFrequency, mBandwidth);
}
public TunerChannel getTunerChannel()
{
return new TunerChannel( Type.LOCKED, mFrequency, mBandwidth );
}
}

View File

@@ -1,59 +1,74 @@
/*******************************************************************************
* SDR Trunk
* Copyright (C) 2014 Dennis Sheirer
*
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>
******************************************************************************/
package io.github.dsheirer.source.config;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import io.github.dsheirer.controller.config.Configuration;
import io.github.dsheirer.source.SourceType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSeeAlso;
@XmlSeeAlso( { SourceConfigMixer.class, SourceConfigNone.class,
SourceConfigTuner.class } )
@XmlRootElement( name = "source_configuration" )
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
@JsonSubTypes({
@JsonSubTypes.Type(value = SourceConfigMixer.class, name = "sourceConfigMixer"),
@JsonSubTypes.Type(value = SourceConfigNone.class, name = "sourceConfigNone"),
@JsonSubTypes.Type(value = SourceConfigRecording.class, name = "sourceConfigRecording"),
@JsonSubTypes.Type(value = SourceConfigTuner.class, name = "sourceConfigTuner"),
})
@JacksonXmlRootElement(localName = "source_configuration")
public class SourceConfiguration extends Configuration
{
protected SourceType mSourceType;
protected SourceType mSourceType;
public SourceConfiguration()
{
this( SourceType.NONE );
}
public SourceConfiguration( SourceType source )
{
mSourceType = source;
}
public SourceConfiguration()
{
this(SourceType.NONE);
}
@XmlAttribute( name = "source_type" )
public SourceType getSourceType()
{
return mSourceType;
}
public void setSourceType( SourceType source )
{
mSourceType = source;
}
public String getDescription()
{
return "No Source";
}
public SourceConfiguration(SourceType source)
{
mSourceType = source;
}
@JacksonXmlProperty(isAttribute = true, localName = "source_type")
public SourceType getSourceType()
{
return mSourceType;
}
public void setSourceType(SourceType source)
{
mSourceType = source;
}
@JacksonXmlProperty(isAttribute = true, localName = "type", namespace = "http://www.w3.org/2001/XMLSchema-instance")
private String getType()
{
return null;
}
private void setType(String type)
{
}
public String getDescription()
{
return "No Source";
}
}

View File

@@ -18,6 +18,7 @@
package io.github.dsheirer.source.mixer;
import io.github.dsheirer.channel.heartbeat.Heartbeat;
import io.github.dsheirer.dsp.gain.AutomaticGainControl;
import io.github.dsheirer.sample.Listener;
import io.github.dsheirer.sample.adapter.ISampleAdapter;
import io.github.dsheirer.sample.real.RealBuffer;
@@ -26,7 +27,6 @@ import io.github.dsheirer.source.SourceException;
import io.github.dsheirer.source.tuner.frequency.FrequencyChangeEvent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import io.github.dsheirer.dsp.gain.AutomaticGainControl;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioSystem;

View File

@@ -1,86 +1,87 @@
package io.github.dsheirer.source.recording;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlTransient;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.io.File;
@JsonSubTypes.Type(value = RecordingConfiguration.class, name = "recordingConfiguration")
public class RecordingConfiguration
{
private File mRecording;
private String mFilePath;
private String mAlias;
private long mCenterFrequency;
public RecordingConfiguration()
{
mAlias = "New Recording";
}
public RecordingConfiguration( String filePath,
String alias,
long centerFrequency )
{
mFilePath = filePath;
mAlias = alias;
mCenterFrequency = centerFrequency;
private File mRecording;
private String mFilePath;
private String mAlias;
private long mCenterFrequency;
updateFile();
}
private void updateFile()
{
if( mFilePath != null )
{
try
{
mRecording = new File( mFilePath );
}
catch( Exception e )
{
throw new IllegalArgumentException( "There was an error while "
+ "accessing the recording source [" + mFilePath + "]", e );
}
}
}
public RecordingConfiguration()
{
mAlias = "New Recording";
}
@XmlTransient
public File getRecording()
{
return mRecording;
}
public RecordingConfiguration(String filePath, String alias, long centerFrequency)
{
mFilePath = filePath;
mAlias = alias;
mCenterFrequency = centerFrequency;
@XmlAttribute( name = "file_path" )
public String getFilePath()
{
return mFilePath;
}
public void setFilePath( String filePath )
{
mFilePath = filePath;
updateFile();
}
updateFile();
}
@XmlAttribute( name = "alias")
public String getAlias()
{
return mAlias;
}
public void setAlias( String alias )
{
mAlias = alias;
}
private void updateFile()
{
if(mFilePath != null)
{
try
{
mRecording = new File(mFilePath);
}
catch(Exception e)
{
throw new IllegalArgumentException("There was an error while "
+ "accessing the recording source [" + mFilePath + "]", e);
}
}
}
@XmlAttribute( name = "center_frequency" )
public long getCenterFrequency()
{
return mCenterFrequency;
}
public void setCenterFrequency( long frequency )
{
mCenterFrequency = frequency;
}
@JsonIgnore
public File getRecording()
{
return mRecording;
}
@JacksonXmlProperty(isAttribute = true, localName = "file_path")
public String getFilePath()
{
return mFilePath;
}
public void setFilePath(String filePath)
{
mFilePath = filePath;
updateFile();
}
@JacksonXmlProperty(isAttribute = true, localName = "alias")
public String getAlias()
{
return mAlias;
}
public void setAlias(String alias)
{
mAlias = alias;
}
@JacksonXmlProperty(isAttribute = true, localName = "center_frequency")
public long getCenterFrequency()
{
return mCenterFrequency;
}
public void setCenterFrequency(long frequency)
{
mCenterFrequency = frequency;
}
}

View File

@@ -19,6 +19,10 @@
package io.github.dsheirer.source.tuner;
import io.github.dsheirer.channel.heartbeat.Heartbeat;
import io.github.dsheirer.dsp.filter.FilterFactory;
import io.github.dsheirer.dsp.filter.Window.WindowType;
import io.github.dsheirer.dsp.filter.cic.ComplexPrimeCICDecimate;
import io.github.dsheirer.dsp.mixer.Oscillator;
import io.github.dsheirer.sample.Buffer;
import io.github.dsheirer.sample.Listener;
import io.github.dsheirer.sample.OverflowableTransferQueue;
@@ -34,10 +38,6 @@ import io.github.dsheirer.source.tuner.frequency.IFrequencyChangeProcessor;
import io.github.dsheirer.source.tuner.frequency.IFrequencyChangeProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import io.github.dsheirer.dsp.filter.FilterFactory;
import io.github.dsheirer.dsp.filter.Window.WindowType;
import io.github.dsheirer.dsp.filter.cic.ComplexPrimeCICDecimate;
import io.github.dsheirer.dsp.mixer.Oscillator;
import java.util.ArrayList;
import java.util.List;

View File

@@ -18,9 +18,9 @@
******************************************************************************/
package io.github.dsheirer.source.tuner.airspy;
import io.github.dsheirer.sample.adapter.ISampleAdapter;
import io.github.dsheirer.dsp.filter.dc.DCRemovalFilter_RB;
import io.github.dsheirer.dsp.filter.hilbert.HilbertTransform;
import io.github.dsheirer.sample.adapter.ISampleAdapter;
public class AirspySampleAdapter implements ISampleAdapter
{

View File

@@ -17,12 +17,13 @@
******************************************************************************/
package io.github.dsheirer.source.tuner.airspy;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.github.dsheirer.source.tuner.TunerType;
import io.github.dsheirer.source.tuner.airspy.AirspyTunerController.Gain;
import io.github.dsheirer.source.tuner.configuration.TunerConfiguration;
import javax.xml.bind.annotation.XmlAttribute;
@JsonSubTypes.Type(value = AirspyTunerConfiguration.class, name = "airspyTunerConfiguration")
public class AirspyTunerConfiguration extends TunerConfiguration
{
private int mSampleRate = AirspyTunerController.DEFAULT_SAMPLE_RATE.getRate();
@@ -53,7 +54,7 @@ public class AirspyTunerConfiguration extends TunerConfiguration
return TunerType.AIRSPY_R820T;
}
@XmlAttribute( name = "sample_rate" )
@JacksonXmlProperty(isAttribute = true, localName = "sample_rate")
public int getSampleRate()
{
return mSampleRate;
@@ -63,8 +64,8 @@ public class AirspyTunerConfiguration extends TunerConfiguration
{
mSampleRate = sampleRate;
}
@XmlAttribute( name = "gain" )
@JacksonXmlProperty(isAttribute = true, localName = "gain")
public Gain getGain()
{
return mGain;
@@ -74,8 +75,8 @@ public class AirspyTunerConfiguration extends TunerConfiguration
{
mGain = gain;
}
@XmlAttribute( name = "if_gain" )
@JacksonXmlProperty(isAttribute = true, localName = "if_gain")
public int getIFGain()
{
return mIFGain;
@@ -85,8 +86,8 @@ public class AirspyTunerConfiguration extends TunerConfiguration
{
mIFGain = gain;
}
@XmlAttribute( name = "mixer_gain" )
@JacksonXmlProperty(isAttribute = true, localName = "mixer_gain")
public int getMixerGain()
{
return mMixerGain;
@@ -97,7 +98,7 @@ public class AirspyTunerConfiguration extends TunerConfiguration
mMixerGain = gain;
}
@XmlAttribute( name = "lna_gain" )
@JacksonXmlProperty(isAttribute = true, localName = "lna_gain")
public int getLNAGain()
{
return mLNAGain;
@@ -108,7 +109,7 @@ public class AirspyTunerConfiguration extends TunerConfiguration
mLNAGain = gain;
}
@XmlAttribute( name = "mixer_agc" )
@JacksonXmlProperty(isAttribute = true, localName = "mixer_agc")
public boolean isMixerAGC()
{
return mMixerAGC;
@@ -119,7 +120,7 @@ public class AirspyTunerConfiguration extends TunerConfiguration
mMixerAGC = enabled;
}
@XmlAttribute( name = "lna_agc" )
@JacksonXmlProperty(isAttribute = true, localName = "lna_agc")
public boolean isLNAAGC()
{
return mLNAAGC;
@@ -130,7 +131,7 @@ public class AirspyTunerConfiguration extends TunerConfiguration
mLNAAGC = enabled;
}
@XmlAttribute( name = "frequency_correction" )
@JacksonXmlProperty(isAttribute = true, localName = "frequency_correction")
public double getFrequencyCorrection()
{
return mFrequencyCorrection;

View File

@@ -1,103 +1,105 @@
/*******************************************************************************
* SDR Trunk
* Copyright (C) 2014 Dennis Sheirer
*
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>
******************************************************************************/
package io.github.dsheirer.source.tuner.configuration;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import io.github.dsheirer.source.tuner.TunerType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;
/**
* Abstract class to hold a named configuration for a specific type of tuner
*/
@XmlType( name = "tuner_configuration" )
@JacksonXmlRootElement(localName = "tuner_configuration")
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "xsi:type")
public abstract class TunerConfiguration
{
protected String mName;
protected String mUniqueID;
protected boolean mAssigned;
protected long mFrequency;
protected String mName;
protected String mUniqueID;
protected boolean mAssigned;
protected long mFrequency;
/**
* Default constructor to support JAXB
*/
public TunerConfiguration()
{
}
/**
* Normal constructor
*/
public TunerConfiguration( String uniqueID, String name )
{
mUniqueID = uniqueID;
mName = name;
}
public String toString()
{
return mName;
}
/**
* Default constructor to support JAXB
*/
public TunerConfiguration()
{
}
@XmlAttribute( name = "name" )
public String getName()
{
return mName;
}
public void setName( String name )
{
mName = name;
}
/**
* Normal constructor
*/
public TunerConfiguration(String uniqueID, String name)
{
mUniqueID = uniqueID;
mName = name;
}
@XmlAttribute( name = "unique_id" )
public String getUniqueID()
{
return mUniqueID;
}
public void setUniqueID( String id )
{
mUniqueID = id;;
}
@XmlAttribute( name = "assigned" )
public boolean isAssigned()
{
return mAssigned;
}
public void setAssigned( boolean assigned )
{
mAssigned = assigned;
}
@XmlAttribute( name = "frequency" )
public long getFrequency()
{
return mFrequency;
}
public void setFrequency( long frequency )
{
mFrequency = frequency;
}
@XmlAttribute( name = "tuner_type" )
public abstract TunerType getTunerType();
public String toString()
{
return mName;
}
@JacksonXmlProperty(isAttribute = true, localName = "name")
public String getName()
{
return mName;
}
public void setName(String name)
{
mName = name;
}
@JacksonXmlProperty(isAttribute = true, localName = "unique_id")
public String getUniqueID()
{
return mUniqueID;
}
public void setUniqueID(String id)
{
mUniqueID = id;
;
}
@JacksonXmlProperty(isAttribute = true, localName = "assigned")
public boolean isAssigned()
{
return mAssigned;
}
public void setAssigned(boolean assigned)
{
mAssigned = assigned;
}
@JacksonXmlProperty(isAttribute = true, localName = "frequency")
public long getFrequency()
{
return mFrequency;
}
public void setFrequency(long frequency)
{
mFrequency = frequency;
}
@JacksonXmlProperty(isAttribute = true, localName = "tuner_type")
public abstract TunerType getTunerType();
}

View File

@@ -1,145 +1,146 @@
/*******************************************************************************
* SDR Trunk
* Copyright (C) 2014 Dennis Sheirer
*
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>
******************************************************************************/
package io.github.dsheirer.source.tuner.fcd.proV1;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.github.dsheirer.source.tuner.TunerType;
import io.github.dsheirer.source.tuner.configuration.TunerConfiguration;
import io.github.dsheirer.source.tuner.fcd.proV1.FCD1TunerController.LNAEnhance;
import io.github.dsheirer.source.tuner.fcd.proV1.FCD1TunerController.LNAGain;
import io.github.dsheirer.source.tuner.fcd.proV1.FCD1TunerController.MixerGain;
import javax.xml.bind.annotation.XmlAttribute;
@JsonSubTypes.Type(value = FCD1TunerConfiguration.class, name = "fcd1TunerConfiguration")
public class FCD1TunerConfiguration extends TunerConfiguration
{
private double mFrequencyCorrection = 22.0d;
private double mInphaseDCCorrection = 0.0d;
private double mQuadratureDCCorrection = 0.0d;
private double mPhaseCorrection = 0.0d;
private double mGainCorrection = 0.0d;
private LNAGain mLNAGain = LNAGain.LNA_GAIN_PLUS_20_0;
private LNAEnhance mLNAEnhance = LNAEnhance.LNA_ENHANCE_OFF;
private MixerGain mMixerGain = MixerGain.MIXER_GAIN_PLUS_12_0;
private double mFrequencyCorrection = 22.0d;
private double mInphaseDCCorrection = 0.0d;
private double mQuadratureDCCorrection = 0.0d;
private double mPhaseCorrection = 0.0d;
private double mGainCorrection = 0.0d;
/**
* Default constructor for JAXB
*/
public FCD1TunerConfiguration()
{
}
public FCD1TunerConfiguration( String uniqueID, String name )
{
super( uniqueID, name );
}
@Override
public TunerType getTunerType()
private LNAGain mLNAGain = LNAGain.LNA_GAIN_PLUS_20_0;
private LNAEnhance mLNAEnhance = LNAEnhance.LNA_ENHANCE_OFF;
private MixerGain mMixerGain = MixerGain.MIXER_GAIN_PLUS_12_0;
/**
* Default constructor for JAXB
*/
public FCD1TunerConfiguration()
{
return TunerType.FUNCUBE_DONGLE_PRO;
}
@XmlAttribute( name = "lna_gain" )
public LNAGain getLNAGain()
{
return mLNAGain;
}
public void setLNAGain( LNAGain gain )
{
mLNAGain = gain;
}
public LNAEnhance getLNAEnhance()
{
return mLNAEnhance;
}
@XmlAttribute( name = "lna_enhance" )
public void setLNAEnhance( LNAEnhance enhance )
{
mLNAEnhance = enhance;
}
@XmlAttribute( name = "mixer_gain" )
public MixerGain getMixerGain()
{
return mMixerGain;
}
public void setMixerGain( MixerGain gain )
{
mMixerGain = gain;
}
@XmlAttribute( name = "frequency_correction" )
public double getFrequencyCorrection()
{
return mFrequencyCorrection;
}
public void setFrequencyCorrection( double value )
{
mFrequencyCorrection = value;
}
public FCD1TunerConfiguration(String uniqueID, String name)
{
super(uniqueID, name);
}
@XmlAttribute( name = "inphase_dc_correction" )
public double getInphaseDCCorrection()
{
return mInphaseDCCorrection;
}
@Override
public TunerType getTunerType()
{
return TunerType.FUNCUBE_DONGLE_PRO;
}
public void setInphaseDCCorrection( double value )
{
mInphaseDCCorrection = value;
}
@JacksonXmlProperty(isAttribute = true, localName = "lna_gain")
public LNAGain getLNAGain()
{
return mLNAGain;
}
@XmlAttribute( name = "quadrature_dc_correction" )
public double getQuadratureDCCorrection()
{
return mQuadratureDCCorrection;
}
public void setLNAGain(LNAGain gain)
{
mLNAGain = gain;
}
public void setQuadratureDCCorrection( double value )
{
mQuadratureDCCorrection = value;
}
public LNAEnhance getLNAEnhance()
{
return mLNAEnhance;
}
@XmlAttribute( name = "phase_correction" )
public double getPhaseCorrection()
{
return mPhaseCorrection;
}
@JacksonXmlProperty(isAttribute = true, localName = "lna_enhance")
public void setLNAEnhance(LNAEnhance enhance)
{
mLNAEnhance = enhance;
}
public void setPhaseCorrection( double value )
{
mPhaseCorrection = value;
}
@JacksonXmlProperty(isAttribute = true, localName = "mixer_gain")
public MixerGain getMixerGain()
{
return mMixerGain;
}
@XmlAttribute( name = "gain_correction" )
public double getGainCorrection()
{
return mGainCorrection;
}
public void setMixerGain(MixerGain gain)
{
mMixerGain = gain;
}
public void setGainCorrection( double value )
{
mGainCorrection = value;
}
@JacksonXmlProperty(isAttribute = true, localName = "frequency_correction")
public double getFrequencyCorrection()
{
return mFrequencyCorrection;
}
public void setFrequencyCorrection(double value)
{
mFrequencyCorrection = value;
}
@JacksonXmlProperty(isAttribute = true, localName = "inphase_dc_correction")
public double getInphaseDCCorrection()
{
return mInphaseDCCorrection;
}
public void setInphaseDCCorrection(double value)
{
mInphaseDCCorrection = value;
}
@JacksonXmlProperty(isAttribute = true, localName = "quadrature_dc_correction")
public double getQuadratureDCCorrection()
{
return mQuadratureDCCorrection;
}
public void setQuadratureDCCorrection(double value)
{
mQuadratureDCCorrection = value;
}
@JacksonXmlProperty(isAttribute = true, localName = "phase_correction")
public double getPhaseCorrection()
{
return mPhaseCorrection;
}
public void setPhaseCorrection(double value)
{
mPhaseCorrection = value;
}
@JacksonXmlProperty(isAttribute = true, localName = "gain_correction")
public double getGainCorrection()
{
return mGainCorrection;
}
public void setGainCorrection(double value)
{
mGainCorrection = value;
}
}

View File

@@ -1,81 +1,82 @@
/*******************************************************************************
* SDR Trunk
* Copyright (C) 2014 Dennis Sheirer
*
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>
******************************************************************************/
package io.github.dsheirer.source.tuner.fcd.proplusV2;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.github.dsheirer.source.tuner.TunerType;
import io.github.dsheirer.source.tuner.configuration.TunerConfiguration;
import javax.xml.bind.annotation.XmlAttribute;
@JsonSubTypes.Type(value = FCD2TunerConfiguration.class, name = "fcd2TunerConfiguration")
public class FCD2TunerConfiguration extends TunerConfiguration
{
private boolean mGainLNA = true;
private boolean mGainMixer = true;
private double mFrequencyCorrection = -2.2d;
private boolean mGainLNA = true;
private boolean mGainMixer = true;
private double mFrequencyCorrection = -2.2d;
/**
* Default constructor for JAXB
*/
public FCD2TunerConfiguration()
{
}
public FCD2TunerConfiguration( String uniqueID, String name )
{
super( uniqueID, name );
}
@Override
public TunerType getTunerType()
/**
* Default constructor for JAXB
*/
public FCD2TunerConfiguration()
{
return TunerType.FUNCUBE_DONGLE_PRO_PLUS;
}
@XmlAttribute( name = "lna_gain" )
public boolean getGainLNA()
{
return mGainLNA;
}
public void setGainLNA( boolean gain )
{
mGainLNA = gain;
}
@XmlAttribute( name = "mixer_gain" )
public boolean getGainMixer()
{
return mGainMixer;
}
public void setGainMixer( boolean gain )
{
mGainMixer = gain;
}
@XmlAttribute( name = "frequency_correction" )
public double getFrequencyCorrection()
{
return mFrequencyCorrection;
}
public void setFrequencyCorrection( double value )
{
mFrequencyCorrection = value;
}
public FCD2TunerConfiguration(String uniqueID, String name)
{
super(uniqueID, name);
}
@Override
public TunerType getTunerType()
{
return TunerType.FUNCUBE_DONGLE_PRO_PLUS;
}
@JacksonXmlProperty(isAttribute = true, localName = "lna_gain")
public boolean getGainLNA()
{
return mGainLNA;
}
public void setGainLNA(boolean gain)
{
mGainLNA = gain;
}
@JacksonXmlProperty(isAttribute = true, localName = "mixer_gain")
public boolean getGainMixer()
{
return mGainMixer;
}
public void setGainMixer(boolean gain)
{
mGainMixer = gain;
}
@JacksonXmlProperty(isAttribute = true, localName = "frequency_correction")
public double getFrequencyCorrection()
{
return mFrequencyCorrection;
}
public void setFrequencyCorrection(double value)
{
mFrequencyCorrection = value;
}
}

View File

@@ -17,10 +17,10 @@ package io.github.dsheirer.source.tuner.frequency;
* along with this program. If not, see <http://www.gnu.org/licenses/>
******************************************************************************/
import io.github.dsheirer.module.Module;
import io.github.dsheirer.sample.Listener;
import io.github.dsheirer.sample.real.RealBuffer;
import io.github.dsheirer.source.tuner.frequency.FrequencyChangeEvent.Event;
import io.github.dsheirer.module.Module;
import java.util.concurrent.ScheduledExecutorService;

View File

@@ -1,109 +1,110 @@
/*******************************************************************************
* SDR Trunk
* Copyright (C) 2014 Dennis Sheirer
*
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>
******************************************************************************/
package io.github.dsheirer.source.tuner.hackrf;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.github.dsheirer.source.tuner.TunerType;
import io.github.dsheirer.source.tuner.configuration.TunerConfiguration;
import io.github.dsheirer.source.tuner.hackrf.HackRFTunerController.HackRFLNAGain;
import io.github.dsheirer.source.tuner.hackrf.HackRFTunerController.HackRFSampleRate;
import io.github.dsheirer.source.tuner.hackrf.HackRFTunerController.HackRFVGAGain;
import javax.xml.bind.annotation.XmlAttribute;
@JsonSubTypes.Type(value = HackRFTunerConfiguration.class, name = "hackRFTunerConfiguration")
public class HackRFTunerConfiguration extends TunerConfiguration
{
private HackRFSampleRate mSampleRate = HackRFSampleRate.RATE2_016MHZ;
private HackRFLNAGain mLNAGain = HackRFLNAGain.GAIN_16;
private HackRFVGAGain mVGAGain = HackRFVGAGain.GAIN_10;
private boolean mAmplifierEnabled = true;
private double mFrequencyCorrection = 0.0d;
private HackRFSampleRate mSampleRate = HackRFSampleRate.RATE2_016MHZ;
private HackRFLNAGain mLNAGain = HackRFLNAGain.GAIN_16;
private HackRFVGAGain mVGAGain = HackRFVGAGain.GAIN_10;
private boolean mAmplifierEnabled = true;
private double mFrequencyCorrection = 0.0d;
/**
* Default constructor for JAXB
*/
public HackRFTunerConfiguration()
{
}
public HackRFTunerConfiguration( String uniqueID, String name )
{
super( uniqueID, name );
}
@Override
public TunerType getTunerType()
/**
* Default constructor for JAXB
*/
public HackRFTunerConfiguration()
{
return TunerType.HACKRF;
}
@XmlAttribute( name = "amplifier_enabled" )
public boolean getAmplifierEnabled()
{
return mAmplifierEnabled;
}
public void setAmplifierEnabled( boolean enabled )
{
mAmplifierEnabled = enabled;
}
@XmlAttribute( name = "lna_gain" )
public HackRFLNAGain getLNAGain()
{
return mLNAGain;
}
public HackRFTunerConfiguration(String uniqueID, String name)
{
super(uniqueID, name);
}
public void setLNAGain( HackRFLNAGain lnaGain )
{
mLNAGain = lnaGain;
}
@Override
public TunerType getTunerType()
{
return TunerType.HACKRF;
}
@XmlAttribute( name = "vga_gain" )
public HackRFVGAGain getVGAGain()
{
return mVGAGain;
}
@JacksonXmlProperty(isAttribute = true, localName = "amplifier_enabled")
public boolean getAmplifierEnabled()
{
return mAmplifierEnabled;
}
public void setVGAGain( HackRFVGAGain vgaGain )
{
mVGAGain = vgaGain;
}
public void setAmplifierEnabled(boolean enabled)
{
mAmplifierEnabled = enabled;
}
@XmlAttribute( name = "frequency_correction" )
public double getFrequencyCorrection()
{
return mFrequencyCorrection;
}
public void setFrequencyCorrection( double value )
{
mFrequencyCorrection = value;
}
@JacksonXmlProperty(isAttribute = true, localName = "lna_gain")
public HackRFLNAGain getLNAGain()
{
return mLNAGain;
}
@XmlAttribute( name = "sample_rate" )
public HackRFSampleRate getSampleRate()
{
return mSampleRate;
}
public void setLNAGain(HackRFLNAGain lnaGain)
{
mLNAGain = lnaGain;
}
public void setSampleRate( HackRFSampleRate sampleRate )
{
mSampleRate = sampleRate;
}
@JacksonXmlProperty(isAttribute = true, localName = "vga_gain")
public HackRFVGAGain getVGAGain()
{
return mVGAGain;
}
public void setVGAGain(HackRFVGAGain vgaGain)
{
mVGAGain = vgaGain;
}
@JacksonXmlProperty(isAttribute = true, localName = "frequency_correction")
public double getFrequencyCorrection()
{
return mFrequencyCorrection;
}
public void setFrequencyCorrection(double value)
{
mFrequencyCorrection = value;
}
@JacksonXmlProperty(isAttribute = true, localName = "sample_rate")
public HackRFSampleRate getSampleRate()
{
return mSampleRate;
}
public void setSampleRate(HackRFSampleRate sampleRate)
{
mSampleRate = sampleRate;
}
}

View File

@@ -1,23 +1,26 @@
/*******************************************************************************
* SDR Trunk
* Copyright (C) 2014 Dennis Sheirer
*
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>
******************************************************************************/
package io.github.dsheirer.source.tuner.rtl.e4k;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.github.dsheirer.source.tuner.TunerType;
import io.github.dsheirer.source.tuner.airspy.AirspyTunerConfiguration;
import io.github.dsheirer.source.tuner.configuration.TunerConfiguration;
import io.github.dsheirer.source.tuner.rtl.RTL2832TunerController;
import io.github.dsheirer.source.tuner.rtl.e4k.E4KTunerController.E4KEnhanceGain;
@@ -25,99 +28,98 @@ import io.github.dsheirer.source.tuner.rtl.e4k.E4KTunerController.E4KGain;
import io.github.dsheirer.source.tuner.rtl.e4k.E4KTunerController.E4KLNAGain;
import io.github.dsheirer.source.tuner.rtl.e4k.E4KTunerController.E4KMixerGain;
import javax.xml.bind.annotation.XmlAttribute;
@JsonSubTypes.Type(value = AirspyTunerConfiguration.class, name = "e4KTunerConfiguration")
public class E4KTunerConfiguration extends TunerConfiguration
{
private E4KGain mMasterGain = E4KGain.MANUAL;
private E4KMixerGain mMixerGain = E4KMixerGain.GAIN_4;
private E4KLNAGain mLNAGain = E4KLNAGain.GAIN_PLUS_200;
private E4KEnhanceGain mEnhanceGain = E4KEnhanceGain.GAIN_3;
private double mFrequencyCorrection = 0.0d;
private RTL2832TunerController.SampleRate mSampleRate = RTL2832TunerController.SampleRate.RATE_2_400MHZ;
private E4KGain mMasterGain = E4KGain.MANUAL;
private E4KMixerGain mMixerGain = E4KMixerGain.GAIN_4;
private E4KLNAGain mLNAGain = E4KLNAGain.GAIN_PLUS_200;
private E4KEnhanceGain mEnhanceGain = E4KEnhanceGain.GAIN_3;
private double mFrequencyCorrection = 0.0d;
private RTL2832TunerController.SampleRate mSampleRate = RTL2832TunerController.SampleRate.RATE_2_400MHZ;
/**
* Default constructor for JAXB
*/
public E4KTunerConfiguration()
{
}
public E4KTunerConfiguration( String uniqueID, String name )
{
super( uniqueID, name );
}
@Override
public TunerType getTunerType()
/**
* Default constructor for JAXB
*/
public E4KTunerConfiguration()
{
return TunerType.ELONICS_E4000;
}
@XmlAttribute( name="master_gain" )
public E4KGain getMasterGain()
{
return mMasterGain;
}
public E4KTunerConfiguration(String uniqueID, String name)
{
super(uniqueID, name);
}
public void setMasterGain( E4KGain gain )
{
mMasterGain = gain;
}
@Override
public TunerType getTunerType()
{
return TunerType.ELONICS_E4000;
}
@XmlAttribute( name="mixer_gain" )
public E4KMixerGain getMixerGain()
{
return mMixerGain;
}
@JacksonXmlProperty(isAttribute = true, localName = "master_gain")
public E4KGain getMasterGain()
{
return mMasterGain;
}
public void setMixerGain( E4KMixerGain mixerGain )
{
mMixerGain = mixerGain;
}
public void setMasterGain(E4KGain gain)
{
mMasterGain = gain;
}
@XmlAttribute( name="lna_gain" )
public E4KLNAGain getLNAGain()
{
return mLNAGain;
}
@JacksonXmlProperty(isAttribute = true, localName = "mixer_gain")
public E4KMixerGain getMixerGain()
{
return mMixerGain;
}
public void setLNAGain( E4KLNAGain lnaGain )
{
mLNAGain = lnaGain;
}
public void setMixerGain(E4KMixerGain mixerGain)
{
mMixerGain = mixerGain;
}
@XmlAttribute( name="enhance_gain" )
public E4KEnhanceGain getEnhanceGain()
{
return mEnhanceGain;
}
@JacksonXmlProperty(isAttribute = true, localName = "lna_gain")
public E4KLNAGain getLNAGain()
{
return mLNAGain;
}
public void setEnhanceGain( E4KEnhanceGain enhanceGain )
{
mEnhanceGain = enhanceGain;
}
public void setLNAGain(E4KLNAGain lnaGain)
{
mLNAGain = lnaGain;
}
@XmlAttribute( name="frequency_correction" )
public double getFrequencyCorrection()
{
return mFrequencyCorrection;
}
public void setFrequencyCorrection( double value )
{
mFrequencyCorrection = value;
}
@JacksonXmlProperty(isAttribute = true, localName = "enhance_gain")
public E4KEnhanceGain getEnhanceGain()
{
return mEnhanceGain;
}
@XmlAttribute( name="sample_rate" )
public RTL2832TunerController.SampleRate getSampleRate()
{
return mSampleRate;
}
public void setEnhanceGain(E4KEnhanceGain enhanceGain)
{
mEnhanceGain = enhanceGain;
}
public void setSampleRate( RTL2832TunerController.SampleRate sampleRate )
{
mSampleRate = sampleRate;
}
@JacksonXmlProperty(isAttribute = true, localName = "frequency_correction")
public double getFrequencyCorrection()
{
return mFrequencyCorrection;
}
public void setFrequencyCorrection(double value)
{
mFrequencyCorrection = value;
}
@JacksonXmlProperty(isAttribute = true, localName = "sample_rate")
public RTL2832TunerController.SampleRate getSampleRate()
{
return mSampleRate;
}
public void setSampleRate(RTL2832TunerController.SampleRate sampleRate)
{
mSampleRate = sampleRate;
}
}

View File

@@ -1,118 +1,119 @@
/*******************************************************************************
* SDR Trunk
* Copyright (C) 2014 Dennis Sheirer
*
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>
******************************************************************************/
package io.github.dsheirer.source.tuner.rtl.r820t;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import io.github.dsheirer.source.tuner.TunerType;
import io.github.dsheirer.source.tuner.configuration.TunerConfiguration;
import io.github.dsheirer.source.tuner.rtl.RTL2832TunerController;
import javax.xml.bind.annotation.XmlAttribute;
@JsonSubTypes.Type(value = R820TTunerConfiguration.class, name = "r820TTunerConfiguration")
public class R820TTunerConfiguration extends TunerConfiguration
{
private R820TTunerController.R820TGain mMasterGain = R820TTunerController.R820TGain.GAIN_327;
private R820TTunerController.R820TMixerGain mMixerGain = R820TTunerController.R820TMixerGain.GAIN_105;
private R820TTunerController.R820TLNAGain mLNAGain = R820TTunerController.R820TLNAGain.GAIN_222;
private R820TTunerController.R820TVGAGain mVGAGain = R820TTunerController.R820TVGAGain.GAIN_210;
private double mFrequencyCorrection = 0.0d;
private RTL2832TunerController.SampleRate mSampleRate = RTL2832TunerController.SampleRate.RATE_2_400MHZ;
private R820TTunerController.R820TGain mMasterGain = R820TTunerController.R820TGain.GAIN_327;
private R820TTunerController.R820TMixerGain mMixerGain = R820TTunerController.R820TMixerGain.GAIN_105;
private R820TTunerController.R820TLNAGain mLNAGain = R820TTunerController.R820TLNAGain.GAIN_222;
private R820TTunerController.R820TVGAGain mVGAGain = R820TTunerController.R820TVGAGain.GAIN_210;
private double mFrequencyCorrection = 0.0d;
private RTL2832TunerController.SampleRate mSampleRate = RTL2832TunerController.SampleRate.RATE_2_400MHZ;
/**
* Default constructor for JAXB
*/
public R820TTunerConfiguration()
{
}
public R820TTunerConfiguration( String uniqueID, String name )
{
super( uniqueID, name );
}
@Override
public TunerType getTunerType()
/**
* Default constructor for JAXB
*/
public R820TTunerConfiguration()
{
return TunerType.RAFAELMICRO_R820T;
}
@XmlAttribute( name = "master_gain" )
public R820TTunerController.R820TGain getMasterGain()
{
return mMasterGain;
}
public R820TTunerConfiguration(String uniqueID, String name)
{
super(uniqueID, name);
}
public void setMasterGain( R820TTunerController.R820TGain gain )
{
mMasterGain = gain;
}
@Override
public TunerType getTunerType()
{
return TunerType.RAFAELMICRO_R820T;
}
@XmlAttribute( name = "mixer_gain" )
public R820TTunerController.R820TMixerGain getMixerGain()
{
return mMixerGain;
}
@JacksonXmlProperty(isAttribute = true, localName = "master_gain")
public R820TTunerController.R820TGain getMasterGain()
{
return mMasterGain;
}
public void setMixerGain( R820TTunerController.R820TMixerGain mixerGain )
{
mMixerGain = mixerGain;
}
public void setMasterGain(R820TTunerController.R820TGain gain)
{
mMasterGain = gain;
}
@XmlAttribute( name = "lna_gain" )
public R820TTunerController.R820TLNAGain getLNAGain()
{
return mLNAGain;
}
@JacksonXmlProperty(isAttribute = true, localName = "mixer_gain")
public R820TTunerController.R820TMixerGain getMixerGain()
{
return mMixerGain;
}
public void setLNAGain( R820TTunerController.R820TLNAGain lnaGain )
{
mLNAGain = lnaGain;
}
public void setMixerGain(R820TTunerController.R820TMixerGain mixerGain)
{
mMixerGain = mixerGain;
}
@XmlAttribute( name = "vga_gain" )
public R820TTunerController.R820TVGAGain getVGAGain()
{
return mVGAGain;
}
@JacksonXmlProperty(isAttribute = true, localName = "lna_gain")
public R820TTunerController.R820TLNAGain getLNAGain()
{
return mLNAGain;
}
public void setVGAGain( R820TTunerController.R820TVGAGain vgaGain )
{
mVGAGain = vgaGain;
}
public void setLNAGain(R820TTunerController.R820TLNAGain lnaGain)
{
mLNAGain = lnaGain;
}
@XmlAttribute( name = "frequency_correction" )
public double getFrequencyCorrection()
{
return mFrequencyCorrection;
}
public void setFrequencyCorrection( double value )
{
mFrequencyCorrection = value;
}
@JacksonXmlProperty(isAttribute = true, localName = "vga_gain")
public R820TTunerController.R820TVGAGain getVGAGain()
{
return mVGAGain;
}
@XmlAttribute( name = "sample_rate" )
public RTL2832TunerController.SampleRate getSampleRate()
{
return mSampleRate;
}
public void setVGAGain(R820TTunerController.R820TVGAGain vgaGain)
{
mVGAGain = vgaGain;
}
public void setSampleRate( RTL2832TunerController.SampleRate sampleRate )
{
mSampleRate = sampleRate;
}
@JacksonXmlProperty(isAttribute = true, localName = "frequency_correction")
public double getFrequencyCorrection()
{
return mFrequencyCorrection;
}
public void setFrequencyCorrection(double value)
{
mFrequencyCorrection = value;
}
@JacksonXmlProperty(isAttribute = true, localName = "sample_rate")
public RTL2832TunerController.SampleRate getSampleRate()
{
return mSampleRate;
}
public void setSampleRate(RTL2832TunerController.SampleRate sampleRate)
{
mSampleRate = sampleRate;
}
}