kopia lustrzana https://github.com/f4exb/sdrangel
				
				
				
			Scope GUI updates.
Save/restore state of freerun button, trigger stream index and trigger pre index. Increase number of channels from 4 to 8.pull/1671/head
							rodzic
							
								
									485986acec
								
							
						
					
					
						commit
						72971a3dba
					
				| 
						 | 
				
			
			@ -66,6 +66,7 @@ void GLScopeSettings::resetToDefaults()
 | 
			
		|||
    m_timeOfs = 0;
 | 
			
		||||
    m_traceLenMult = 1;
 | 
			
		||||
    m_trigPre = 0;
 | 
			
		||||
    m_freerun = true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
QByteArray GLScopeSettings::serialize() const
 | 
			
		||||
| 
						 | 
				
			
			@ -79,6 +80,7 @@ QByteArray GLScopeSettings::serialize() const
 | 
			
		|||
    s.writeS32(4, m_time);
 | 
			
		||||
    // s.writeS32(5, m_timeOfs);
 | 
			
		||||
    s.writeS32(6, m_traceLenMult);
 | 
			
		||||
    s.writeBool(7, m_freerun);
 | 
			
		||||
 | 
			
		||||
    std::vector<TraceData>::const_iterator traceDataIt = m_tracesData.begin();
 | 
			
		||||
    unsigned int i = 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -148,6 +150,7 @@ bool GLScopeSettings::deserialize(const QByteArray& data)
 | 
			
		|||
        d.readS32(4, &m_time, 1);
 | 
			
		||||
        // d.readS32(5, &m_timeOfs, 0);
 | 
			
		||||
        d.readS32(6, &m_traceLenMult, 1);
 | 
			
		||||
        d.readBool(7, &m_freerun, true);
 | 
			
		||||
        d.readS32(201, &m_trigPre, 0);
 | 
			
		||||
 | 
			
		||||
        uint32_t nbTracesSaved;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -162,6 +162,7 @@ public:
 | 
			
		|||
    int m_timeOfs;
 | 
			
		||||
    int m_traceLenMult;
 | 
			
		||||
    int m_trigPre;
 | 
			
		||||
    bool m_freerun;
 | 
			
		||||
    std::vector<TraceData> m_tracesData;
 | 
			
		||||
    std::vector<TriggerData> m_triggersData;
 | 
			
		||||
    static const double AMPS[27];
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -809,7 +809,7 @@ void GLScopeGUI::on_memorySave_clicked(bool checked)
 | 
			
		|||
{
 | 
			
		||||
    (void) checked;
 | 
			
		||||
    QString fileName = QFileDialog::getSaveFileName(this,
 | 
			
		||||
        tr("Open trace memory file"), ".", tr("Trace memory files (*.trcm)"), 0, QFileDialog::DontUseNativeDialog);
 | 
			
		||||
        tr("Create trace memory file"), ".", tr("Trace memory files (*.trcm)"), 0, QFileDialog::DontUseNativeDialog);
 | 
			
		||||
 | 
			
		||||
    if (fileName != "")
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			@ -1008,6 +1008,8 @@ void GLScopeGUI::on_freerun_toggled(bool checked)
 | 
			
		|||
        (uint32_t) (m_glScope->getTraceSize() * (ui->trigPre->value()/100.0f)),
 | 
			
		||||
        ui->freerun->isChecked()
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    m_settings.m_freerun = checked;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void GLScopeGUI::setTraceIndexDisplay()
 | 
			
		||||
| 
						 | 
				
			
			@ -1367,6 +1369,7 @@ void GLScopeGUI::fillTraceData(GLScopeSettings::TraceData& traceData)
 | 
			
		|||
 | 
			
		||||
void GLScopeGUI::fillTriggerData(GLScopeSettings::TriggerData& triggerData)
 | 
			
		||||
{
 | 
			
		||||
    triggerData.m_streamIndex = ui->trigStream->currentIndex();
 | 
			
		||||
    triggerData.m_projectionType = (Projector::ProjectionType) ui->trigMode->currentIndex();
 | 
			
		||||
    triggerData.m_inputIndex = 0;
 | 
			
		||||
    triggerData.m_triggerLevel = (ui->trigLevelCoarse->value() / 100.0) + (ui->trigLevelFine->value() / 50000.0);
 | 
			
		||||
| 
						 | 
				
			
			@ -1428,6 +1431,7 @@ void GLScopeGUI::setTriggerUI(const GLScopeSettings::TriggerData& triggerData)
 | 
			
		|||
{
 | 
			
		||||
    TrigUIBlocker trigUIBlocker(ui);
 | 
			
		||||
 | 
			
		||||
    ui->trigStream->setCurrentIndex(triggerData.m_streamIndex);
 | 
			
		||||
    ui->trigMode->setCurrentIndex((int) triggerData.m_projectionType);
 | 
			
		||||
    ui->trigCount->setValue(triggerData.m_triggerRepeat);
 | 
			
		||||
    setTrigCountDisplay();
 | 
			
		||||
| 
						 | 
				
			
			@ -1507,6 +1511,9 @@ void GLScopeGUI::displaySettings()
 | 
			
		|||
    ui->timeOfs->setValue(m_settings.m_timeOfs);
 | 
			
		||||
    setTimeOfsDisplay();
 | 
			
		||||
    ui->traceLen->setValue(m_settings.m_traceLenMult);
 | 
			
		||||
    setPreTrigger(100.0f * m_settings.m_trigPre / m_glScope->getTraceSize());
 | 
			
		||||
    ui->freerun->setChecked(m_settings.m_freerun);
 | 
			
		||||
    changeCurrentTrigger(); // Ensure consistency with GUI
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool GLScopeGUI::handleMessage(Message* message)
 | 
			
		||||
| 
						 | 
				
			
			@ -1518,6 +1525,7 @@ bool GLScopeGUI::handleMessage(Message* message)
 | 
			
		|||
GLScopeGUI::TrigUIBlocker::TrigUIBlocker(Ui::GLScopeGUI *ui) :
 | 
			
		||||
        m_ui(ui)
 | 
			
		||||
{
 | 
			
		||||
    m_oldStateTrigStream      = ui->trigStream->blockSignals(true);
 | 
			
		||||
    m_oldStateTrigMode        = ui->trigMode->blockSignals(true);
 | 
			
		||||
    m_oldStateTrigCount       = ui->trigCount->blockSignals(true);
 | 
			
		||||
    m_oldStateTrigPos         = ui->trigPos->blockSignals(true);
 | 
			
		||||
| 
						 | 
				
			
			@ -1537,6 +1545,7 @@ GLScopeGUI::TrigUIBlocker::~TrigUIBlocker()
 | 
			
		|||
 | 
			
		||||
void GLScopeGUI::TrigUIBlocker::unBlock()
 | 
			
		||||
{
 | 
			
		||||
    m_ui->trigStream->blockSignals(m_oldStateTrigStream);
 | 
			
		||||
    m_ui->trigMode->blockSignals(m_oldStateTrigMode);
 | 
			
		||||
    m_ui->trigCount->blockSignals(m_oldStateTrigCount);
 | 
			
		||||
    m_ui->trigPos->blockSignals(m_oldStateTrigPos);
 | 
			
		||||
| 
						 | 
				
			
			@ -1746,7 +1755,7 @@ void GLScopeGUI::changeTrace(int traceIndex, const GLScopeSettings::TraceData& t
 | 
			
		|||
 | 
			
		||||
void GLScopeGUI::addTrace(const GLScopeSettings::TraceData& traceData)
 | 
			
		||||
{
 | 
			
		||||
    if (ui->trace->maximum() < 3)
 | 
			
		||||
    if (ui->trace->maximum() < 7) // Limit number of channels to 8. Is it necessary?
 | 
			
		||||
    {
 | 
			
		||||
        if (ui->trace->value() == 0)
 | 
			
		||||
        {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -89,6 +89,7 @@ private:
 | 
			
		|||
 | 
			
		||||
    private:
 | 
			
		||||
        Ui::GLScopeGUI *m_ui;
 | 
			
		||||
        bool m_oldStateTrigStream;
 | 
			
		||||
        bool m_oldStateTrigMode;
 | 
			
		||||
        bool m_oldStateTrigCount;
 | 
			
		||||
        bool m_oldStateTrigPos;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue