mirror of
https://github.com/SDRSharpR/SDRSharper.git
synced 2025-12-06 04:12:02 +01:00
483 lines
17 KiB
C#
483 lines
17 KiB
C#
|
|
using SDRSharp.Radio;
|
||
|
|
using System;
|
||
|
|
using System.ComponentModel;
|
||
|
|
using System.Drawing;
|
||
|
|
using System.Globalization;
|
||
|
|
using System.Windows.Forms;
|
||
|
|
|
||
|
|
namespace SDRSharp.RTLSDR
|
||
|
|
{
|
||
|
|
public class RtlSdrControllerDialog : Form
|
||
|
|
{
|
||
|
|
private readonly RtlSdrIO _owner;
|
||
|
|
|
||
|
|
private bool _initialized;
|
||
|
|
|
||
|
|
private IContainer components;
|
||
|
|
|
||
|
|
private Timer refreshTimer;
|
||
|
|
|
||
|
|
private Button closeButton;
|
||
|
|
|
||
|
|
private ComboBox deviceComboBox;
|
||
|
|
|
||
|
|
private Label label1;
|
||
|
|
|
||
|
|
private TrackBar tunerGainTrackBar;
|
||
|
|
|
||
|
|
private Label label2;
|
||
|
|
|
||
|
|
private Label label3;
|
||
|
|
|
||
|
|
private ComboBox samplerateComboBox;
|
||
|
|
|
||
|
|
private CheckBox tunerAgcCheckBox;
|
||
|
|
|
||
|
|
private Label gainLabel;
|
||
|
|
|
||
|
|
private NumericUpDown frequencyCorrectionNumericUpDown;
|
||
|
|
|
||
|
|
private Label label4;
|
||
|
|
|
||
|
|
private Label tunerTypeLabel;
|
||
|
|
|
||
|
|
private CheckBox rtlAgcCheckBox;
|
||
|
|
|
||
|
|
private Label label5;
|
||
|
|
|
||
|
|
private ComboBox samplingModeComboBox;
|
||
|
|
|
||
|
|
private CheckBox offsetTuningCheckBox;
|
||
|
|
|
||
|
|
public RtlSdrControllerDialog(RtlSdrIO owner)
|
||
|
|
{
|
||
|
|
this.InitializeComponent();
|
||
|
|
this._owner = owner;
|
||
|
|
DeviceDisplay[] activeDevices = DeviceDisplay.GetActiveDevices();
|
||
|
|
this.deviceComboBox.Items.Clear();
|
||
|
|
this.deviceComboBox.Items.AddRange(activeDevices);
|
||
|
|
this.frequencyCorrectionNumericUpDown.Value = Utils.GetIntSetting("RTLFrequencyCorrection", 0);
|
||
|
|
this.samplerateComboBox.SelectedIndex = Utils.GetIntSetting("RTLSampleRate", 3);
|
||
|
|
this.samplingModeComboBox.SelectedIndex = Utils.GetIntSetting("RTLSamplingMode", 0);
|
||
|
|
this.offsetTuningCheckBox.Checked = Utils.GetBooleanSetting("RTLOffsetTuning");
|
||
|
|
this.rtlAgcCheckBox.Checked = Utils.GetBooleanSetting("RTLChipAgc");
|
||
|
|
this.tunerAgcCheckBox.Checked = Utils.GetBooleanSetting("RTLTunerAgc");
|
||
|
|
this.tunerGainTrackBar.Value = Utils.GetIntSetting("RTLTunerGain", 0);
|
||
|
|
this.tunerAgcCheckBox.Enabled = (this.samplingModeComboBox.SelectedIndex == 0);
|
||
|
|
this.gainLabel.Visible = (this.tunerAgcCheckBox.Enabled && !this.tunerAgcCheckBox.Checked);
|
||
|
|
this.tunerGainTrackBar.Enabled = (this.tunerAgcCheckBox.Enabled && !this.tunerAgcCheckBox.Checked);
|
||
|
|
this.offsetTuningCheckBox.Enabled = (this.samplingModeComboBox.SelectedIndex == 0);
|
||
|
|
this._initialized = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
private void closeButton_Click(object sender, EventArgs e)
|
||
|
|
{
|
||
|
|
base.Close();
|
||
|
|
}
|
||
|
|
|
||
|
|
private void RtlSdrControllerDialog_FormClosing(object sender, FormClosingEventArgs e)
|
||
|
|
{
|
||
|
|
e.Cancel = true;
|
||
|
|
base.Hide();
|
||
|
|
}
|
||
|
|
|
||
|
|
private void RtlSdrControllerDialog_VisibleChanged(object sender, EventArgs e)
|
||
|
|
{
|
||
|
|
this.refreshTimer.Enabled = base.Visible;
|
||
|
|
if (base.Visible)
|
||
|
|
{
|
||
|
|
this.samplerateComboBox.Enabled = !this._owner.Device.IsStreaming;
|
||
|
|
this.deviceComboBox.Enabled = !this._owner.Device.IsStreaming;
|
||
|
|
this.samplingModeComboBox.Enabled = !this._owner.Device.IsStreaming;
|
||
|
|
if (!this._owner.Device.IsStreaming)
|
||
|
|
{
|
||
|
|
DeviceDisplay[] activeDevices = DeviceDisplay.GetActiveDevices();
|
||
|
|
this.deviceComboBox.Items.Clear();
|
||
|
|
this.deviceComboBox.Items.AddRange(activeDevices);
|
||
|
|
int num = 0;
|
||
|
|
while (true)
|
||
|
|
{
|
||
|
|
if (num < activeDevices.Length)
|
||
|
|
{
|
||
|
|
if (activeDevices[num].Index != ((DeviceDisplay)this.deviceComboBox.Items[num]).Index)
|
||
|
|
{
|
||
|
|
num++;
|
||
|
|
continue;
|
||
|
|
}
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
this._initialized = false;
|
||
|
|
this.deviceComboBox.SelectedIndex = num;
|
||
|
|
this._initialized = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
private void refreshTimer_Tick(object sender, EventArgs e)
|
||
|
|
{
|
||
|
|
this.samplerateComboBox.Enabled = !this._owner.Device.IsStreaming;
|
||
|
|
this.deviceComboBox.Enabled = !this._owner.Device.IsStreaming;
|
||
|
|
this.samplingModeComboBox.Enabled = !this._owner.Device.IsStreaming;
|
||
|
|
}
|
||
|
|
|
||
|
|
private void deviceComboBox_SelectedIndexChanged(object sender, EventArgs e)
|
||
|
|
{
|
||
|
|
if (this._initialized)
|
||
|
|
{
|
||
|
|
DeviceDisplay deviceDisplay = (DeviceDisplay)this.deviceComboBox.SelectedItem;
|
||
|
|
if (deviceDisplay != null)
|
||
|
|
{
|
||
|
|
try
|
||
|
|
{
|
||
|
|
this._owner.SelectDevice(deviceDisplay.Index);
|
||
|
|
}
|
||
|
|
catch (Exception ex)
|
||
|
|
{
|
||
|
|
this.deviceComboBox.SelectedIndex = -1;
|
||
|
|
MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
private void tunerGainTrackBar_Scroll(object sender, EventArgs e)
|
||
|
|
{
|
||
|
|
if (this._initialized)
|
||
|
|
{
|
||
|
|
int num = this._owner.Device.SupportedGains[this.tunerGainTrackBar.Value];
|
||
|
|
this._owner.Device.Gain = num;
|
||
|
|
this.gainLabel.Text = (double)num / 10.0 + " dB";
|
||
|
|
Utils.SaveSetting("RTLTunerGain", this.tunerGainTrackBar.Value);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
private void samplerateComboBox_SelectedIndexChanged(object sender, EventArgs e)
|
||
|
|
{
|
||
|
|
if (this._initialized)
|
||
|
|
{
|
||
|
|
string s = this.samplerateComboBox.Items[this.samplerateComboBox.SelectedIndex].ToString().Split(' ')[0];
|
||
|
|
double num = double.Parse(s, CultureInfo.InvariantCulture);
|
||
|
|
this._owner.Device.Samplerate = (uint)(num * 1000000.0);
|
||
|
|
Utils.SaveSetting("RTLSampleRate", this.samplerateComboBox.SelectedIndex);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
private void tunerAgcCheckBox_CheckedChanged(object sender, EventArgs e)
|
||
|
|
{
|
||
|
|
if (this._initialized)
|
||
|
|
{
|
||
|
|
this.tunerGainTrackBar.Enabled = (this.tunerAgcCheckBox.Enabled && !this.tunerAgcCheckBox.Checked);
|
||
|
|
this._owner.Device.UseTunerAGC = this.tunerAgcCheckBox.Checked;
|
||
|
|
this.gainLabel.Visible = (this.tunerAgcCheckBox.Enabled && !this.tunerAgcCheckBox.Checked);
|
||
|
|
if (!this.tunerAgcCheckBox.Checked)
|
||
|
|
{
|
||
|
|
this.tunerGainTrackBar_Scroll(null, null);
|
||
|
|
}
|
||
|
|
Utils.SaveSetting("RTLTunerAgc", this.tunerAgcCheckBox.Checked);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
private void frequencyCorrectionNumericUpDown_ValueChanged(object sender, EventArgs e)
|
||
|
|
{
|
||
|
|
if (this._initialized)
|
||
|
|
{
|
||
|
|
this._owner.Device.FrequencyCorrection = (int)this.frequencyCorrectionNumericUpDown.Value;
|
||
|
|
Utils.SaveSetting("RTLFrequencyCorrection", this.frequencyCorrectionNumericUpDown.Value.ToString());
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
private void rtlAgcCheckBox_CheckedChanged(object sender, EventArgs e)
|
||
|
|
{
|
||
|
|
if (this._initialized)
|
||
|
|
{
|
||
|
|
this._owner.Device.UseRtlAGC = this.rtlAgcCheckBox.Checked;
|
||
|
|
Utils.SaveSetting("RTLChipAgc", this.rtlAgcCheckBox.Checked);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
private void samplingModeComboBox_SelectedIndexChanged(object sender, EventArgs e)
|
||
|
|
{
|
||
|
|
if (this._initialized)
|
||
|
|
{
|
||
|
|
this.tunerAgcCheckBox.Enabled = (this.samplingModeComboBox.SelectedIndex == 0);
|
||
|
|
this.gainLabel.Visible = (this.tunerAgcCheckBox.Enabled && !this.tunerAgcCheckBox.Checked);
|
||
|
|
this.tunerGainTrackBar.Enabled = (this.tunerAgcCheckBox.Enabled && !this.tunerAgcCheckBox.Checked);
|
||
|
|
this.offsetTuningCheckBox.Enabled = (this.samplingModeComboBox.SelectedIndex == 0);
|
||
|
|
if (this.samplingModeComboBox.SelectedIndex == 0)
|
||
|
|
{
|
||
|
|
this.offsetTuningCheckBox_CheckedChanged(null, null);
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
this._owner.Device.UseOffsetTuning = false;
|
||
|
|
}
|
||
|
|
this._owner.Device.SamplingMode = (SamplingMode)this.samplingModeComboBox.SelectedIndex;
|
||
|
|
Utils.SaveSetting("RTLSamplingMode", this.samplingModeComboBox.SelectedIndex);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
private void offsetTuningCheckBox_CheckedChanged(object sender, EventArgs e)
|
||
|
|
{
|
||
|
|
if (this._initialized)
|
||
|
|
{
|
||
|
|
this._owner.Device.UseOffsetTuning = this.offsetTuningCheckBox.Checked;
|
||
|
|
Utils.SaveSetting("RTLOffsetTuning", this.offsetTuningCheckBox.Checked);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
public void ConfigureGUI()
|
||
|
|
{
|
||
|
|
this.tunerTypeLabel.Text = this._owner.Device.TunerType.ToString();
|
||
|
|
this.tunerGainTrackBar.Maximum = this._owner.Device.SupportedGains.Length - 1;
|
||
|
|
this.offsetTuningCheckBox.Enabled = this._owner.Device.SupportsOffsetTuning;
|
||
|
|
int num = 0;
|
||
|
|
while (true)
|
||
|
|
{
|
||
|
|
if (num < this.deviceComboBox.Items.Count)
|
||
|
|
{
|
||
|
|
DeviceDisplay deviceDisplay = (DeviceDisplay)this.deviceComboBox.Items[num];
|
||
|
|
if (deviceDisplay.Index != this._owner.Device.Index)
|
||
|
|
{
|
||
|
|
num++;
|
||
|
|
continue;
|
||
|
|
}
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
this.deviceComboBox.SelectedIndex = num;
|
||
|
|
}
|
||
|
|
|
||
|
|
public void ConfigureDevice()
|
||
|
|
{
|
||
|
|
this.samplerateComboBox_SelectedIndexChanged(null, null);
|
||
|
|
this.samplingModeComboBox_SelectedIndexChanged(null, null);
|
||
|
|
this.offsetTuningCheckBox_CheckedChanged(null, null);
|
||
|
|
this.frequencyCorrectionNumericUpDown_ValueChanged(null, null);
|
||
|
|
this.rtlAgcCheckBox_CheckedChanged(null, null);
|
||
|
|
this.tunerAgcCheckBox_CheckedChanged(null, null);
|
||
|
|
if (!this.tunerAgcCheckBox.Checked)
|
||
|
|
{
|
||
|
|
this.tunerGainTrackBar_Scroll(null, null);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
protected override void Dispose(bool disposing)
|
||
|
|
{
|
||
|
|
if (disposing && this.components != null)
|
||
|
|
{
|
||
|
|
this.components.Dispose();
|
||
|
|
}
|
||
|
|
base.Dispose(disposing);
|
||
|
|
}
|
||
|
|
|
||
|
|
private void InitializeComponent()
|
||
|
|
{
|
||
|
|
this.components = new Container();
|
||
|
|
this.refreshTimer = new Timer(this.components);
|
||
|
|
this.closeButton = new Button();
|
||
|
|
this.deviceComboBox = new ComboBox();
|
||
|
|
this.label1 = new Label();
|
||
|
|
this.tunerGainTrackBar = new TrackBar();
|
||
|
|
this.label2 = new Label();
|
||
|
|
this.label3 = new Label();
|
||
|
|
this.samplerateComboBox = new ComboBox();
|
||
|
|
this.tunerAgcCheckBox = new CheckBox();
|
||
|
|
this.gainLabel = new Label();
|
||
|
|
this.frequencyCorrectionNumericUpDown = new NumericUpDown();
|
||
|
|
this.label4 = new Label();
|
||
|
|
this.tunerTypeLabel = new Label();
|
||
|
|
this.rtlAgcCheckBox = new CheckBox();
|
||
|
|
this.label5 = new Label();
|
||
|
|
this.samplingModeComboBox = new ComboBox();
|
||
|
|
this.offsetTuningCheckBox = new CheckBox();
|
||
|
|
((ISupportInitialize)this.tunerGainTrackBar).BeginInit();
|
||
|
|
((ISupportInitialize)this.frequencyCorrectionNumericUpDown).BeginInit();
|
||
|
|
base.SuspendLayout();
|
||
|
|
this.refreshTimer.Interval = 1000;
|
||
|
|
this.refreshTimer.Tick += this.refreshTimer_Tick;
|
||
|
|
this.closeButton.DialogResult = DialogResult.Cancel;
|
||
|
|
this.closeButton.Location = new Point(184, 306);
|
||
|
|
this.closeButton.Name = "closeButton";
|
||
|
|
this.closeButton.Size = new Size(75, 23);
|
||
|
|
this.closeButton.TabIndex = 8;
|
||
|
|
this.closeButton.Text = "Close";
|
||
|
|
this.closeButton.UseVisualStyleBackColor = true;
|
||
|
|
this.closeButton.Click += this.closeButton_Click;
|
||
|
|
this.deviceComboBox.DropDownStyle = ComboBoxStyle.DropDownList;
|
||
|
|
this.deviceComboBox.FormattingEnabled = true;
|
||
|
|
this.deviceComboBox.Location = new Point(12, 26);
|
||
|
|
this.deviceComboBox.Name = "deviceComboBox";
|
||
|
|
this.deviceComboBox.Size = new Size(247, 21);
|
||
|
|
this.deviceComboBox.TabIndex = 0;
|
||
|
|
this.deviceComboBox.SelectedIndexChanged += this.deviceComboBox_SelectedIndexChanged;
|
||
|
|
this.label1.AutoSize = true;
|
||
|
|
this.label1.Location = new Point(12, 9);
|
||
|
|
this.label1.Name = "label1";
|
||
|
|
this.label1.Size = new Size(41, 13);
|
||
|
|
this.label1.TabIndex = 20;
|
||
|
|
this.label1.Text = "Device";
|
||
|
|
this.tunerGainTrackBar.Enabled = false;
|
||
|
|
this.tunerGainTrackBar.Location = new Point(3, 229);
|
||
|
|
this.tunerGainTrackBar.Maximum = 10000;
|
||
|
|
this.tunerGainTrackBar.Name = "tunerGainTrackBar";
|
||
|
|
this.tunerGainTrackBar.Size = new Size(267, 45);
|
||
|
|
this.tunerGainTrackBar.TabIndex = 6;
|
||
|
|
this.tunerGainTrackBar.Scroll += this.tunerGainTrackBar_Scroll;
|
||
|
|
this.label2.AutoSize = true;
|
||
|
|
this.label2.Location = new Point(12, 213);
|
||
|
|
this.label2.Name = "label2";
|
||
|
|
this.label2.Size = new Size(46, 13);
|
||
|
|
this.label2.TabIndex = 22;
|
||
|
|
this.label2.Text = "RF Gain";
|
||
|
|
this.label3.AutoSize = true;
|
||
|
|
this.label3.Location = new Point(12, 53);
|
||
|
|
this.label3.Name = "label3";
|
||
|
|
this.label3.Size = new Size(68, 13);
|
||
|
|
this.label3.TabIndex = 24;
|
||
|
|
this.label3.Text = "Sample Rate";
|
||
|
|
this.samplerateComboBox.DropDownStyle = ComboBoxStyle.DropDownList;
|
||
|
|
this.samplerateComboBox.FormattingEnabled = true;
|
||
|
|
this.samplerateComboBox.Items.AddRange(new object[10]
|
||
|
|
{
|
||
|
|
"3.2 MSPS",
|
||
|
|
"2.8 MSPS",
|
||
|
|
"2.4 MSPS",
|
||
|
|
"2.048 MSPS",
|
||
|
|
"1.92 MSPS",
|
||
|
|
"1.8 MSPS",
|
||
|
|
"1.4 MSPS",
|
||
|
|
"1.024 MSPS",
|
||
|
|
"0.900001 MSPS",
|
||
|
|
"0.25 MSPS"
|
||
|
|
});
|
||
|
|
this.samplerateComboBox.Location = new Point(12, 70);
|
||
|
|
this.samplerateComboBox.Name = "samplerateComboBox";
|
||
|
|
this.samplerateComboBox.Size = new Size(247, 21);
|
||
|
|
this.samplerateComboBox.TabIndex = 1;
|
||
|
|
this.samplerateComboBox.SelectedIndexChanged += this.samplerateComboBox_SelectedIndexChanged;
|
||
|
|
this.tunerAgcCheckBox.AutoSize = true;
|
||
|
|
this.tunerAgcCheckBox.Checked = true;
|
||
|
|
this.tunerAgcCheckBox.CheckState = CheckState.Checked;
|
||
|
|
this.tunerAgcCheckBox.Location = new Point(12, 193);
|
||
|
|
this.tunerAgcCheckBox.Name = "tunerAgcCheckBox";
|
||
|
|
this.tunerAgcCheckBox.Size = new Size(79, 17);
|
||
|
|
this.tunerAgcCheckBox.TabIndex = 5;
|
||
|
|
this.tunerAgcCheckBox.Text = "Tuner AGC";
|
||
|
|
this.tunerAgcCheckBox.UseVisualStyleBackColor = true;
|
||
|
|
this.tunerAgcCheckBox.CheckedChanged += this.tunerAgcCheckBox_CheckedChanged;
|
||
|
|
this.gainLabel.Location = new Point(191, 213);
|
||
|
|
this.gainLabel.Name = "gainLabel";
|
||
|
|
this.gainLabel.Size = new Size(68, 13);
|
||
|
|
this.gainLabel.TabIndex = 26;
|
||
|
|
this.gainLabel.Text = "1000dB";
|
||
|
|
this.gainLabel.TextAlign = ContentAlignment.MiddleRight;
|
||
|
|
this.gainLabel.Visible = false;
|
||
|
|
this.frequencyCorrectionNumericUpDown.Location = new Point(169, 275);
|
||
|
|
this.frequencyCorrectionNumericUpDown.Maximum = new decimal(new int[4]
|
||
|
|
{
|
||
|
|
1000,
|
||
|
|
0,
|
||
|
|
0,
|
||
|
|
0
|
||
|
|
});
|
||
|
|
this.frequencyCorrectionNumericUpDown.Minimum = new decimal(new int[4]
|
||
|
|
{
|
||
|
|
1000,
|
||
|
|
0,
|
||
|
|
0,
|
||
|
|
-2147483648
|
||
|
|
});
|
||
|
|
this.frequencyCorrectionNumericUpDown.Name = "frequencyCorrectionNumericUpDown";
|
||
|
|
this.frequencyCorrectionNumericUpDown.Size = new Size(90, 20);
|
||
|
|
this.frequencyCorrectionNumericUpDown.TabIndex = 7;
|
||
|
|
this.frequencyCorrectionNumericUpDown.TextAlign = HorizontalAlignment.Right;
|
||
|
|
this.frequencyCorrectionNumericUpDown.ValueChanged += this.frequencyCorrectionNumericUpDown_ValueChanged;
|
||
|
|
this.label4.AutoSize = true;
|
||
|
|
this.label4.Location = new Point(12, 277);
|
||
|
|
this.label4.Name = "label4";
|
||
|
|
this.label4.Size = new Size(136, 13);
|
||
|
|
this.label4.TabIndex = 28;
|
||
|
|
this.label4.Text = "Frequency correction (ppm)";
|
||
|
|
this.tunerTypeLabel.Location = new Point(166, 9);
|
||
|
|
this.tunerTypeLabel.Name = "tunerTypeLabel";
|
||
|
|
this.tunerTypeLabel.Size = new Size(93, 13);
|
||
|
|
this.tunerTypeLabel.TabIndex = 29;
|
||
|
|
this.tunerTypeLabel.Text = "E4000";
|
||
|
|
this.tunerTypeLabel.TextAlign = ContentAlignment.MiddleRight;
|
||
|
|
this.rtlAgcCheckBox.AutoSize = true;
|
||
|
|
this.rtlAgcCheckBox.Location = new Point(12, 170);
|
||
|
|
this.rtlAgcCheckBox.Name = "rtlAgcCheckBox";
|
||
|
|
this.rtlAgcCheckBox.Size = new Size(72, 17);
|
||
|
|
this.rtlAgcCheckBox.TabIndex = 4;
|
||
|
|
this.rtlAgcCheckBox.Text = "RTL AGC";
|
||
|
|
this.rtlAgcCheckBox.UseVisualStyleBackColor = true;
|
||
|
|
this.rtlAgcCheckBox.CheckedChanged += this.rtlAgcCheckBox_CheckedChanged;
|
||
|
|
this.label5.AutoSize = true;
|
||
|
|
this.label5.Location = new Point(12, 97);
|
||
|
|
this.label5.Name = "label5";
|
||
|
|
this.label5.Size = new Size(80, 13);
|
||
|
|
this.label5.TabIndex = 31;
|
||
|
|
this.label5.Text = "Sampling Mode";
|
||
|
|
this.samplingModeComboBox.DropDownStyle = ComboBoxStyle.DropDownList;
|
||
|
|
this.samplingModeComboBox.FormattingEnabled = true;
|
||
|
|
this.samplingModeComboBox.Items.AddRange(new object[3]
|
||
|
|
{
|
||
|
|
"Quadrature sampling",
|
||
|
|
"Direct sampling (I branch)",
|
||
|
|
"Direct sampling (Q branch)"
|
||
|
|
});
|
||
|
|
this.samplingModeComboBox.Location = new Point(12, 114);
|
||
|
|
this.samplingModeComboBox.Name = "samplingModeComboBox";
|
||
|
|
this.samplingModeComboBox.Size = new Size(247, 21);
|
||
|
|
this.samplingModeComboBox.TabIndex = 2;
|
||
|
|
this.samplingModeComboBox.SelectedIndexChanged += this.samplingModeComboBox_SelectedIndexChanged;
|
||
|
|
this.offsetTuningCheckBox.AutoSize = true;
|
||
|
|
this.offsetTuningCheckBox.Location = new Point(12, 147);
|
||
|
|
this.offsetTuningCheckBox.Name = "offsetTuningCheckBox";
|
||
|
|
this.offsetTuningCheckBox.Size = new Size(90, 17);
|
||
|
|
this.offsetTuningCheckBox.TabIndex = 3;
|
||
|
|
this.offsetTuningCheckBox.Text = "Offset Tuning";
|
||
|
|
this.offsetTuningCheckBox.UseVisualStyleBackColor = true;
|
||
|
|
this.offsetTuningCheckBox.CheckedChanged += this.offsetTuningCheckBox_CheckedChanged;
|
||
|
|
base.AutoScaleDimensions = new SizeF(6f, 13f);
|
||
|
|
base.AutoScaleMode = AutoScaleMode.Font;
|
||
|
|
base.CancelButton = this.closeButton;
|
||
|
|
base.ClientSize = new Size(271, 342);
|
||
|
|
base.Controls.Add(this.offsetTuningCheckBox);
|
||
|
|
base.Controls.Add(this.label5);
|
||
|
|
base.Controls.Add(this.samplingModeComboBox);
|
||
|
|
base.Controls.Add(this.rtlAgcCheckBox);
|
||
|
|
base.Controls.Add(this.tunerTypeLabel);
|
||
|
|
base.Controls.Add(this.label4);
|
||
|
|
base.Controls.Add(this.frequencyCorrectionNumericUpDown);
|
||
|
|
base.Controls.Add(this.gainLabel);
|
||
|
|
base.Controls.Add(this.tunerAgcCheckBox);
|
||
|
|
base.Controls.Add(this.label3);
|
||
|
|
base.Controls.Add(this.samplerateComboBox);
|
||
|
|
base.Controls.Add(this.label2);
|
||
|
|
base.Controls.Add(this.tunerGainTrackBar);
|
||
|
|
base.Controls.Add(this.label1);
|
||
|
|
base.Controls.Add(this.deviceComboBox);
|
||
|
|
base.Controls.Add(this.closeButton);
|
||
|
|
base.FormBorderStyle = FormBorderStyle.FixedDialog;
|
||
|
|
base.MaximizeBox = false;
|
||
|
|
base.MinimizeBox = false;
|
||
|
|
base.Name = "RtlSdrControllerDialog";
|
||
|
|
base.ShowIcon = false;
|
||
|
|
base.ShowInTaskbar = false;
|
||
|
|
base.StartPosition = FormStartPosition.CenterParent;
|
||
|
|
this.Text = "RTL-SDR Controller";
|
||
|
|
base.TopMost = true;
|
||
|
|
base.FormClosing += this.RtlSdrControllerDialog_FormClosing;
|
||
|
|
base.VisibleChanged += this.RtlSdrControllerDialog_VisibleChanged;
|
||
|
|
((ISupportInitialize)this.tunerGainTrackBar).EndInit();
|
||
|
|
((ISupportInitialize)this.frequencyCorrectionNumericUpDown).EndInit();
|
||
|
|
base.ResumeLayout(false);
|
||
|
|
base.PerformLayout();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|