kopia lustrzana https://github.com/f4exb/sdrangel
				
				
				
			PlutoSDR input: refactored GUI
							rodzic
							
								
									1ac34678da
								
							
						
					
					
						commit
						b957c35493
					
				| 
						 | 
				
			
			@ -17,6 +17,7 @@
 | 
			
		|||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
#include "device/devicesourceapi.h"
 | 
			
		||||
#include "plutosdrinput.h"
 | 
			
		||||
#include "ui_plutosdrinputgui.h"
 | 
			
		||||
#include "plutosdrinputgui.h"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -24,8 +25,40 @@ PlutoSDRInputGui::PlutoSDRInputGui(DeviceSourceAPI *deviceAPI, QWidget* parent)
 | 
			
		|||
    QWidget(parent),
 | 
			
		||||
    ui(new Ui::PlutoSDRInputGUI),
 | 
			
		||||
    m_deviceAPI(deviceAPI),
 | 
			
		||||
    m_settings()
 | 
			
		||||
    m_settings(),
 | 
			
		||||
    m_forceSettings(true),
 | 
			
		||||
    m_sampleSource(NULL),
 | 
			
		||||
    m_sampleRate(0),
 | 
			
		||||
    m_deviceCenterFrequency(0),
 | 
			
		||||
    m_lastEngineState((DSPDeviceSourceEngine::State)-1)
 | 
			
		||||
{
 | 
			
		||||
    m_sampleSource = new PlutoSDRInput(m_deviceAPI);
 | 
			
		||||
    m_deviceAPI->setSource(m_sampleSource);
 | 
			
		||||
 | 
			
		||||
    float minF, maxF, stepF;
 | 
			
		||||
    // TODO: call device core to get values
 | 
			
		||||
    minF = 100000;
 | 
			
		||||
    maxF = 4000000;
 | 
			
		||||
    stepF = 1000;
 | 
			
		||||
 | 
			
		||||
    ui->setupUi(this);
 | 
			
		||||
    ui->centerFrequency->setColorMapper(ColorMapper(ColorMapper::GrayGold));
 | 
			
		||||
    ui->centerFrequency->setValueRange(7, 325000U, 3800000U);
 | 
			
		||||
 | 
			
		||||
    ui->sampleRate->setColorMapper(ColorMapper(ColorMapper::GrayGreenYellow));
 | 
			
		||||
    ui->sampleRate->setValueRange(8, (uint32_t) minF, (uint32_t) maxF);
 | 
			
		||||
 | 
			
		||||
    ui->lpf->setColorMapper(ColorMapper(ColorMapper::GrayYellow));
 | 
			
		||||
    ui->lpf->setValueRange(6, (minF/1000)+1, maxF/1000);
 | 
			
		||||
 | 
			
		||||
    ui->lpFIR->setColorMapper(ColorMapper(ColorMapper::GrayYellow));
 | 
			
		||||
    ui->lpFIR->setValueRange(5, 1U, 56000U);
 | 
			
		||||
 | 
			
		||||
    connect(&m_updateTimer, SIGNAL(timeout()), this, SLOT(updateHardware()));
 | 
			
		||||
    connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
 | 
			
		||||
    m_statusTimer.start(500);
 | 
			
		||||
 | 
			
		||||
    connect(m_deviceAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
PlutoSDRInputGui::~PlutoSDRInputGui()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,13 +17,16 @@
 | 
			
		|||
#ifndef PLUGINS_SAMPLESOURCE_PLUTOSDRINPUT_PLUTOSDRINPUTGUI_H_
 | 
			
		||||
#define PLUGINS_SAMPLESOURCE_PLUTOSDRINPUT_PLUTOSDRINPUTGUI_H_
 | 
			
		||||
 | 
			
		||||
#include <plugin/plugininstanceui.h>
 | 
			
		||||
#include <QObject>
 | 
			
		||||
#include <QWidget>
 | 
			
		||||
#include <QTimer>
 | 
			
		||||
 | 
			
		||||
#include <plugin/plugininstanceui.h>
 | 
			
		||||
 | 
			
		||||
#include "plutosdrinputsettings.h"
 | 
			
		||||
 | 
			
		||||
class DeviceSourceAPI;
 | 
			
		||||
class DeviceSampleSource;
 | 
			
		||||
 | 
			
		||||
namespace Ui {
 | 
			
		||||
    class PlutoSDRInputGUI;
 | 
			
		||||
| 
						 | 
				
			
			@ -50,6 +53,13 @@ private:
 | 
			
		|||
    Ui::PlutoSDRInputGUI* ui;
 | 
			
		||||
    DeviceSourceAPI* m_deviceAPI;
 | 
			
		||||
    PlutoSDRInputSettings m_settings;
 | 
			
		||||
    bool m_forceSettings;
 | 
			
		||||
    QTimer m_updateTimer;
 | 
			
		||||
    QTimer m_statusTimer;
 | 
			
		||||
    DeviceSampleSource* m_sampleSource;
 | 
			
		||||
    int m_sampleRate;
 | 
			
		||||
    quint64 m_deviceCenterFrequency; //!< Center frequency in device
 | 
			
		||||
    int m_lastEngineState;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif /* PLUGINS_SAMPLESOURCE_PLUTOSDRINPUT_PLUTOSDRINPUTGUI_H_ */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -297,7 +297,7 @@
 | 
			
		|||
    </widget>
 | 
			
		||||
   </item>
 | 
			
		||||
   <item>
 | 
			
		||||
    <layout class="QHBoxLayout" name="ncoSampleRateLayout">
 | 
			
		||||
    <layout class="QHBoxLayout" name="decimationLayout">
 | 
			
		||||
     <property name="topMargin">
 | 
			
		||||
      <number>2</number>
 | 
			
		||||
     </property>
 | 
			
		||||
| 
						 | 
				
			
			@ -399,14 +399,14 @@
 | 
			
		|||
      </widget>
 | 
			
		||||
     </item>
 | 
			
		||||
     <item>
 | 
			
		||||
      <widget class="QLabel" name="label">
 | 
			
		||||
      <widget class="QLabel" name="fcPosLabel">
 | 
			
		||||
       <property name="text">
 | 
			
		||||
        <string>Fc</string>
 | 
			
		||||
       </property>
 | 
			
		||||
      </widget>
 | 
			
		||||
     </item>
 | 
			
		||||
     <item>
 | 
			
		||||
      <widget class="QComboBox" name="comboBox">
 | 
			
		||||
      <widget class="QComboBox" name="fcPos">
 | 
			
		||||
       <property name="maximumSize">
 | 
			
		||||
        <size>
 | 
			
		||||
         <width>55</width>
 | 
			
		||||
| 
						 | 
				
			
			@ -446,6 +446,10 @@
 | 
			
		|||
       </property>
 | 
			
		||||
      </spacer>
 | 
			
		||||
     </item>
 | 
			
		||||
    </layout>
 | 
			
		||||
   </item>
 | 
			
		||||
   <item>
 | 
			
		||||
    <layout class="QHBoxLayout" name="sampleRateLayout">
 | 
			
		||||
     <item>
 | 
			
		||||
      <widget class="QLabel" name="samplerateLabel">
 | 
			
		||||
       <property name="sizePolicy">
 | 
			
		||||
| 
						 | 
				
			
			@ -496,23 +500,19 @@
 | 
			
		|||
       </property>
 | 
			
		||||
      </widget>
 | 
			
		||||
     </item>
 | 
			
		||||
    </layout>
 | 
			
		||||
   </item>
 | 
			
		||||
   <item>
 | 
			
		||||
    <widget class="Line" name="line_freq">
 | 
			
		||||
     <property name="orientation">
 | 
			
		||||
      <enum>Qt::Horizontal</enum>
 | 
			
		||||
     </property>
 | 
			
		||||
    </widget>
 | 
			
		||||
   </item>
 | 
			
		||||
   <item>
 | 
			
		||||
    <layout class="QHBoxLayout" name="lpfLayout">
 | 
			
		||||
     <property name="topMargin">
 | 
			
		||||
      <number>2</number>
 | 
			
		||||
     </property>
 | 
			
		||||
     <property name="bottomMargin">
 | 
			
		||||
      <number>2</number>
 | 
			
		||||
     </property>
 | 
			
		||||
     <item>
 | 
			
		||||
      <spacer name="horizontalSpacer">
 | 
			
		||||
       <property name="orientation">
 | 
			
		||||
        <enum>Qt::Horizontal</enum>
 | 
			
		||||
       </property>
 | 
			
		||||
       <property name="sizeHint" stdset="0">
 | 
			
		||||
        <size>
 | 
			
		||||
         <width>40</width>
 | 
			
		||||
         <height>20</height>
 | 
			
		||||
        </size>
 | 
			
		||||
       </property>
 | 
			
		||||
      </spacer>
 | 
			
		||||
     </item>
 | 
			
		||||
     <item>
 | 
			
		||||
      <widget class="QLabel" name="lpfLabel">
 | 
			
		||||
       <property name="text">
 | 
			
		||||
| 
						 | 
				
			
			@ -548,6 +548,7 @@
 | 
			
		|||
       <property name="toolTip">
 | 
			
		||||
        <string>Analog lowpass filer bandwidth (kHz)</string>
 | 
			
		||||
       </property>
 | 
			
		||||
       <zorder>lpfUnits</zorder>
 | 
			
		||||
      </widget>
 | 
			
		||||
     </item>
 | 
			
		||||
     <item>
 | 
			
		||||
| 
						 | 
				
			
			@ -557,6 +558,23 @@
 | 
			
		|||
       </property>
 | 
			
		||||
      </widget>
 | 
			
		||||
     </item>
 | 
			
		||||
    </layout>
 | 
			
		||||
   </item>
 | 
			
		||||
   <item>
 | 
			
		||||
    <widget class="Line" name="line_freq">
 | 
			
		||||
     <property name="orientation">
 | 
			
		||||
      <enum>Qt::Horizontal</enum>
 | 
			
		||||
     </property>
 | 
			
		||||
    </widget>
 | 
			
		||||
   </item>
 | 
			
		||||
   <item>
 | 
			
		||||
    <layout class="QHBoxLayout" name="firLayout">
 | 
			
		||||
     <property name="topMargin">
 | 
			
		||||
      <number>2</number>
 | 
			
		||||
     </property>
 | 
			
		||||
     <property name="bottomMargin">
 | 
			
		||||
      <number>2</number>
 | 
			
		||||
     </property>
 | 
			
		||||
     <item>
 | 
			
		||||
      <widget class="ButtonSwitch" name="lpFIREnable">
 | 
			
		||||
       <property name="toolTip">
 | 
			
		||||
| 
						 | 
				
			
			@ -596,7 +614,7 @@
 | 
			
		|||
      </widget>
 | 
			
		||||
     </item>
 | 
			
		||||
     <item>
 | 
			
		||||
      <widget class="QLabel" name="lpFIRUnits">
 | 
			
		||||
      <widget class="QLabel" name="lpfUnits_2">
 | 
			
		||||
       <property name="text">
 | 
			
		||||
        <string>kHz</string>
 | 
			
		||||
       </property>
 | 
			
		||||
| 
						 | 
				
			
			@ -663,6 +681,19 @@
 | 
			
		|||
       </item>
 | 
			
		||||
      </widget>
 | 
			
		||||
     </item>
 | 
			
		||||
     <item>
 | 
			
		||||
      <spacer name="horizontalSpacer_2">
 | 
			
		||||
       <property name="orientation">
 | 
			
		||||
        <enum>Qt::Horizontal</enum>
 | 
			
		||||
       </property>
 | 
			
		||||
       <property name="sizeHint" stdset="0">
 | 
			
		||||
        <size>
 | 
			
		||||
         <width>40</width>
 | 
			
		||||
         <height>20</height>
 | 
			
		||||
        </size>
 | 
			
		||||
       </property>
 | 
			
		||||
      </spacer>
 | 
			
		||||
     </item>
 | 
			
		||||
    </layout>
 | 
			
		||||
   </item>
 | 
			
		||||
   <item>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue