mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-11-03 21:20:31 -05:00 
			
		
		
		
	Scope GUI: amplitude and offset reset buttons. Fixes and updated documentation
This commit is contained in:
		
							parent
							
								
									f886f7d400
								
							
						
					
					
						commit
						2eb8abeb00
					
				
							
								
								
									
										
											BIN
										
									
								
								doc/img/ChAnalyzerNG_plugin_ampOffset.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								doc/img/ChAnalyzerNG_plugin_ampOffset.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 5.2 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								doc/img/ChAnalyzerNG_plugin_ampOffset.xcf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								doc/img/ChAnalyzerNG_plugin_ampOffset.xcf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								doc/img/ChAnalyzerNG_plugin_ampScale.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								doc/img/ChAnalyzerNG_plugin_ampScale.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 5.9 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								doc/img/ChAnalyzerNG_plugin_ampScale.xcf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								doc/img/ChAnalyzerNG_plugin_ampScale.xcf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@ -312,31 +312,74 @@ This is for future use when more than one incoming complex signals can be applie
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<h3>6. Amplitude adjustment</h3>
 | 
					<h3>6. Amplitude adjustment</h3>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This slider lets you adjust the amplitude scale. The full scale value appears on the left of the slider. The unit depends on the projection.
 | 
					The amplitude range (vertical scale) can be set to any value from 1e-10 to 9.999e+10. Values are entered as mantissa (6.3 and 6.4) and exponent (6.5) values.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					I/Q signal range is +/-1 however values larger than 1 are accomodated for the general usage of the scope in other plugins.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					When displayed signal can be negative (+/- scale) the range is -range to +range. When displayed signal is positive (ex: magnitudes) the range is 0 to 2×range.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<h4>6.1. Amplitude scale reset</h4>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Push this button to reset amplitude scale to 1.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<h4>6.2. Mantissa display</h4>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The amplitude range is M×10<sup>E</sup>. This displays the M value.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<h4>6.3 Mantissa fine control</h4>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This slider sets the decimal digits of the mantissa from .000 to .999
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<h4>6.4 Mantissa coarse control</h4>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This dial button sets the integer part of the mantissa from 1 to 9.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<h4>6.5 Exponent control</h4>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This slider sets the exponent from -10 to +10. The value is displayed at the left of the slider in exponent notation.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<h4>6.6 Unit multiplier on vertical scale</h4>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This displays the unit multiplier for values on the vertical scale of the display.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - **p**: pico (×10<sup>-12</sup>)
 | 
				
			||||||
 | 
					  - **n**: nano (×10<sup>-9</sup>)
 | 
				
			||||||
 | 
					  - **μ**: micro (×10<sup>-6</sup>)
 | 
				
			||||||
 | 
					  - **m**: milli (×10<sup>-3</sup>)
 | 
				
			||||||
 | 
					  - **-**: none (×1)
 | 
				
			||||||
 | 
					  - **k**: kilo (×10<sup>3</sup>)
 | 
				
			||||||
 | 
					  - **M**: mega (×10<sup>6</sup>)
 | 
				
			||||||
 | 
					  - **G**: giga (×10<sup>9</sup>)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<h3>7. Offset adjustment</h3>
 | 
					<h3>7. Offset adjustment</h3>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This pair of sliders let you offset the trace vertically. The offset value from reference appears on the left of the slider. The reference is either:
 | 
					The amplitude range can be offset by any value from -5×10<sup>-10</sup> to 5×10<sup>10</sup>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - central zero value for Real, Imag, Phi and dPhi projections
 | 
					I/Q signal range is +/-1 however values larger than 1 are accomodated for the general usage of the scope in other plugins.
 | 
				
			||||||
  - bottom zero value for MagLin projection
 | 
					 | 
				
			||||||
  - bottom -200 dB value for MagDB projection
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
The top slider is a coarse adjustment. Each step moves the trace by an amount that depends on the projection type:
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - Real, Imag: 0.01
 | 
					<h4>7.1. Amplitude offset reset</h4>
 | 
				
			||||||
  - Mag: 0.005
 | 
					 | 
				
			||||||
  - MagSq: 0.005
 | 
					 | 
				
			||||||
  - MagDB: 1 dB
 | 
					 | 
				
			||||||
  - Phi, dPhi: 0.01
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
The bottom slider is a fine adjustment. Each step moves the trace by an amount that depends on the projection type:
 | 
					Push this button to reset amplitude offset to 0.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - Real, Imag: 50.0E-6
 | 
					<h4>7.2. Mantissa display</h4>
 | 
				
			||||||
  - Mag: 25.0sE-6
 | 
					
 | 
				
			||||||
  - MagSq: 25.0sE-6
 | 
					The amplitude offset is M×10<sup>E</sup>. This displays the M value.
 | 
				
			||||||
  - MagDB: 0.01 dB
 | 
					
 | 
				
			||||||
  - Phi, dPhi: 50.0E-6
 | 
					<h4>7.3 Mantissa fine control</h4>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This slider sets the decimal digits of the mantissa from .000 to 0.999 and jump to next unit (so 5.000 can be reached)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<h4>7.4 Mantissa coarse control</h4>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This dial button sets the integer part of the mantissa from -5 to 4.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<h4>7.5 Exponent control</h4>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This slider sets the exponent from -10 to +10. The value is displayed at the left of the slider in exponent notation.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<h3>8. Trace delay adjustment</h3>
 | 
					<h3>8. Trace delay adjustment</h3>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -854,6 +854,16 @@ void GLScopeGUI::on_traceMode_currentIndexChanged(int index)
 | 
				
			|||||||
    changeCurrentTrace();
 | 
					    changeCurrentTrace();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void GLScopeGUI::on_ampReset_clicked(bool checked)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    (void) checked;
 | 
				
			||||||
 | 
					    ui->amp->setValue(0);
 | 
				
			||||||
 | 
					    ui->ampCoarse->setValue(1);
 | 
				
			||||||
 | 
					    ui->ampExp->setValue(0);
 | 
				
			||||||
 | 
					    setAmpScaleDisplay();
 | 
				
			||||||
 | 
					    changeCurrentTrace();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void GLScopeGUI::on_amp_valueChanged(int value)
 | 
					void GLScopeGUI::on_amp_valueChanged(int value)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    (void) value;
 | 
					    (void) value;
 | 
				
			||||||
@ -875,6 +885,16 @@ void GLScopeGUI::on_ampExp_valueChanged(int value)
 | 
				
			|||||||
    changeCurrentTrace();
 | 
					    changeCurrentTrace();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void GLScopeGUI::on_ofsReset_clicked(bool checked)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    (void) checked;
 | 
				
			||||||
 | 
					    ui->ofsFine->setValue(0);
 | 
				
			||||||
 | 
					    ui->ofsCoarse->setValue(0);
 | 
				
			||||||
 | 
					    ui->ofsExp->setValue(0);
 | 
				
			||||||
 | 
					    setAmpOfsDisplay();
 | 
				
			||||||
 | 
					    changeCurrentTrace();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void GLScopeGUI::on_ofsCoarse_valueChanged(int value)
 | 
					void GLScopeGUI::on_ofsCoarse_valueChanged(int value)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    (void) value;
 | 
					    (void) value;
 | 
				
			||||||
@ -1526,12 +1546,12 @@ void GLScopeGUI::setTraceUI(const GLScopeSettings::TraceData& traceData)
 | 
				
			|||||||
    ui->ampExp->setValue(ampExp);
 | 
					    ui->ampExp->setValue(ampExp);
 | 
				
			||||||
    setAmpScaleDisplay();
 | 
					    setAmpScaleDisplay();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    double ofsValue = traceData.m_amp;
 | 
					    double ofsValue = traceData.m_ofs;
 | 
				
			||||||
    int ofsExp;
 | 
					    int ofsExp;
 | 
				
			||||||
    double ofsMant = CalcDb::frexp10(ofsValue, &ofsExp) * 10.0;
 | 
					    double ofsMant = CalcDb::frexp10(ofsValue, &ofsExp) * 10.0;
 | 
				
			||||||
    int ofsCoarse = (int) ofsMant;
 | 
					    int ofsCoarse = (int) ofsMant;
 | 
				
			||||||
    int ofsFine = round((ofsMant - ofsCoarse) * 1000.0);
 | 
					    int ofsFine = round((ofsMant - ofsCoarse) * 1000.0);
 | 
				
			||||||
    ofsExp -= 1;
 | 
					    ofsExp -= ofsMant == 0 ? 0 : 1;
 | 
				
			||||||
    ui->ofsFine->setValue(ofsFine);
 | 
					    ui->ofsFine->setValue(ofsFine);
 | 
				
			||||||
    ui->ofsCoarse->setValue(ofsCoarse);
 | 
					    ui->ofsCoarse->setValue(ofsCoarse);
 | 
				
			||||||
    ui->ofsExp->setValue(ofsExp);
 | 
					    ui->ofsExp->setValue(ofsExp);
 | 
				
			||||||
 | 
				
			|||||||
@ -219,9 +219,11 @@ private slots:
 | 
				
			|||||||
    void on_traceDown_clicked(bool checked);
 | 
					    void on_traceDown_clicked(bool checked);
 | 
				
			||||||
    void on_traceStream_currentIndexChanged(int index);
 | 
					    void on_traceStream_currentIndexChanged(int index);
 | 
				
			||||||
    void on_traceMode_currentIndexChanged(int index);
 | 
					    void on_traceMode_currentIndexChanged(int index);
 | 
				
			||||||
 | 
					    void on_ampReset_clicked(bool checked);
 | 
				
			||||||
    void on_amp_valueChanged(int value);
 | 
					    void on_amp_valueChanged(int value);
 | 
				
			||||||
    void on_ampCoarse_valueChanged(int value);
 | 
					    void on_ampCoarse_valueChanged(int value);
 | 
				
			||||||
    void on_ampExp_valueChanged(int value);
 | 
					    void on_ampExp_valueChanged(int value);
 | 
				
			||||||
 | 
					    void on_ofsReset_clicked(bool checked);
 | 
				
			||||||
    void on_ofsCoarse_valueChanged(int value);
 | 
					    void on_ofsCoarse_valueChanged(int value);
 | 
				
			||||||
    void on_ofsFine_valueChanged(int value);
 | 
					    void on_ofsFine_valueChanged(int value);
 | 
				
			||||||
    void on_ofsExp_valueChanged(int value);
 | 
					    void on_ofsExp_valueChanged(int value);
 | 
				
			||||||
 | 
				
			|||||||
@ -825,12 +825,18 @@ kS/s</string>
 | 
				
			|||||||
      </widget>
 | 
					      </widget>
 | 
				
			||||||
     </item>
 | 
					     </item>
 | 
				
			||||||
     <item>
 | 
					     <item>
 | 
				
			||||||
      <widget class="QLabel" name="ampLabel">
 | 
					      <widget class="QPushButton" name="ampReset">
 | 
				
			||||||
 | 
					       <property name="maximumSize">
 | 
				
			||||||
 | 
					        <size>
 | 
				
			||||||
 | 
					         <width>22</width>
 | 
				
			||||||
 | 
					         <height>22</height>
 | 
				
			||||||
 | 
					        </size>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
       <property name="toolTip">
 | 
					       <property name="toolTip">
 | 
				
			||||||
        <string>Vertical range</string>
 | 
					        <string>Vertical range reset</string>
 | 
				
			||||||
       </property>
 | 
					       </property>
 | 
				
			||||||
       <property name="text">
 | 
					       <property name="text">
 | 
				
			||||||
        <string>A:</string>
 | 
					        <string>A</string>
 | 
				
			||||||
       </property>
 | 
					       </property>
 | 
				
			||||||
      </widget>
 | 
					      </widget>
 | 
				
			||||||
     </item>
 | 
					     </item>
 | 
				
			||||||
@ -952,7 +958,7 @@ kS/s</string>
 | 
				
			|||||||
            </size>
 | 
					            </size>
 | 
				
			||||||
           </property>
 | 
					           </property>
 | 
				
			||||||
           <property name="toolTip">
 | 
					           <property name="toolTip">
 | 
				
			||||||
            <string>Vertical range value</string>
 | 
					            <string>Unit multiplier on vertical scale</string>
 | 
				
			||||||
           </property>
 | 
					           </property>
 | 
				
			||||||
           <property name="text">
 | 
					           <property name="text">
 | 
				
			||||||
            <string>-</string>
 | 
					            <string>-</string>
 | 
				
			||||||
@ -974,12 +980,18 @@ kS/s</string>
 | 
				
			|||||||
      </widget>
 | 
					      </widget>
 | 
				
			||||||
     </item>
 | 
					     </item>
 | 
				
			||||||
     <item>
 | 
					     <item>
 | 
				
			||||||
      <widget class="QLabel" name="ofsLabel">
 | 
					      <widget class="QPushButton" name="ofsReset">
 | 
				
			||||||
 | 
					       <property name="maximumSize">
 | 
				
			||||||
 | 
					        <size>
 | 
				
			||||||
 | 
					         <width>22</width>
 | 
				
			||||||
 | 
					         <height>22</height>
 | 
				
			||||||
 | 
					        </size>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
       <property name="toolTip">
 | 
					       <property name="toolTip">
 | 
				
			||||||
        <string>Vertical offset</string>
 | 
					        <string>Vertical offset reset</string>
 | 
				
			||||||
       </property>
 | 
					       </property>
 | 
				
			||||||
       <property name="text">
 | 
					       <property name="text">
 | 
				
			||||||
        <string>O:</string>
 | 
					        <string>O</string>
 | 
				
			||||||
       </property>
 | 
					       </property>
 | 
				
			||||||
      </widget>
 | 
					      </widget>
 | 
				
			||||||
     </item>
 | 
					     </item>
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user