mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-10-02 01:36:38 -04:00
New scope: deserialize triggers
This commit is contained in:
parent
f9ba5696c5
commit
946d1cf68a
@ -176,12 +176,16 @@ QByteArray GLScopeNGGUI::serialize() const
|
|||||||
{
|
{
|
||||||
const ScopeVisNG::TriggerData& triggerData = m_scopeVis->getTriggerData(i);
|
const ScopeVisNG::TriggerData& triggerData = m_scopeVis->getTriggerData(i);
|
||||||
s.writeS32(210 + 16*i, (int) triggerData.m_projectionType);
|
s.writeS32(210 + 16*i, (int) triggerData.m_projectionType);
|
||||||
s.writeBool(211 + 16*i, triggerData.m_triggerPositiveEdge);
|
s.writeS32(211 + 16*i, triggerData.m_triggerRepeat);
|
||||||
s.writeBool(212 + 16*i, triggerData.m_triggerBothEdges);
|
s.writeBool(212 + 16*i, triggerData.m_triggerPositiveEdge);
|
||||||
s.writeBool(213 + 16*i, triggerData.m_triggerLevelCoarse);
|
s.writeBool(213 + 16*i, triggerData.m_triggerBothEdges);
|
||||||
s.writeBool(214 + 16*i, triggerData.m_triggerLevelFine);
|
s.writeS32(214 + 16*i, triggerData.m_triggerLevelCoarse);
|
||||||
s.writeBool(215 + 16*i, triggerData.m_triggerDelayCoarse);
|
s.writeS32(215 + 16*i, triggerData.m_triggerLevelFine);
|
||||||
s.writeBool(216 + 16*i, triggerData.m_triggerDelayFine);
|
s.writeS32(216 + 16*i, triggerData.m_triggerDelayCoarse);
|
||||||
|
s.writeS32(217 + 16*i, triggerData.m_triggerDelayFine);
|
||||||
|
s.writeFloat(218 + 16*i, triggerData.m_triggerColorR);
|
||||||
|
s.writeFloat(219 + 16*i, triggerData.m_triggerColorG);
|
||||||
|
s.writeFloat(220 + 16*i, triggerData.m_triggerColorB);
|
||||||
}
|
}
|
||||||
|
|
||||||
return s.final();
|
return s.final();
|
||||||
@ -200,8 +204,10 @@ bool GLScopeNGGUI::deserialize(const QByteArray& data)
|
|||||||
if(d.getVersion() == 1)
|
if(d.getVersion() == 1)
|
||||||
{
|
{
|
||||||
TraceUIBlocker traceUIBlocker(ui);
|
TraceUIBlocker traceUIBlocker(ui);
|
||||||
|
TrigUIBlocker trigUIBlocker(ui);
|
||||||
int intValue;
|
int intValue;
|
||||||
uint32_t uintValue;
|
uint32_t uintValue;
|
||||||
|
bool boolValue;
|
||||||
|
|
||||||
ui->onlyX->setEnabled(false);
|
ui->onlyX->setEnabled(false);
|
||||||
ui->onlyY->setEnabled(false);
|
ui->onlyY->setEnabled(false);
|
||||||
@ -318,6 +324,74 @@ bool GLScopeNGGUI::deserialize(const QByteArray& data)
|
|||||||
ui->verticalXY->setEnabled(nbTracesSaved > 1);
|
ui->verticalXY->setEnabled(nbTracesSaved > 1);
|
||||||
ui->polar->setEnabled(nbTracesSaved > 1);
|
ui->polar->setEnabled(nbTracesSaved > 1);
|
||||||
|
|
||||||
|
// trigger stuff
|
||||||
|
|
||||||
|
uint32_t nbTriggersSaved;
|
||||||
|
d.readU32(200, &nbTriggersSaved, 1);
|
||||||
|
uint32_t nbTriggers = m_scopeVis->getNbTriggers();
|
||||||
|
int iTrigger = nbTriggers;
|
||||||
|
|
||||||
|
d.readS32(201, &intValue, 0);
|
||||||
|
ui->trigPre->setValue(intValue);
|
||||||
|
|
||||||
|
qDebug("GLScopeNGGUI::deserialize: nbTriggersSaved: %u nbTriggers: %u", nbTriggersSaved, nbTriggers);
|
||||||
|
|
||||||
|
while (iTrigger > nbTriggersSaved) // remove possible triggers in excess
|
||||||
|
{
|
||||||
|
m_scopeVis->removeTrigger(iTrigger - 1);
|
||||||
|
iTrigger--;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (iTrigger = 0; iTrigger < nbTriggersSaved; iTrigger++)
|
||||||
|
{
|
||||||
|
ScopeVisNG::TriggerData triggerData = m_scopeVis->getTriggerData(iTrigger);
|
||||||
|
float r, g, b;
|
||||||
|
|
||||||
|
d.readS32(210 + 16*iTrigger, &intValue, 0);
|
||||||
|
ui->trigMode->setCurrentIndex(intValue);
|
||||||
|
d.readS32(211 + 16*iTrigger, &intValue, 1);
|
||||||
|
ui->trigCount->setValue(intValue);
|
||||||
|
d.readBool(212 + 16*iTrigger, &boolValue, true);
|
||||||
|
ui->trigPos->setChecked(boolValue);
|
||||||
|
d.readBool(213 + 16*iTrigger, &boolValue, false);
|
||||||
|
ui->trigBoth->setChecked(boolValue);
|
||||||
|
d.readS32(214 + 16*iTrigger, &intValue, 1);
|
||||||
|
ui->trigLevelCoarse->setValue(intValue);
|
||||||
|
d.readS32(215 + 16*iTrigger, &intValue, 1);
|
||||||
|
ui->trigLevelFine->setValue(intValue);
|
||||||
|
d.readS32(216 + 16*iTrigger, &intValue, 1);
|
||||||
|
ui->trigDelayCoarse->setValue(intValue);
|
||||||
|
d.readS32(217 + 16*iTrigger, &intValue, 1);
|
||||||
|
ui->trigDelayFine->setValue(intValue);
|
||||||
|
d.readFloat(218 + 16*iTrigger, &r, 1.0f);
|
||||||
|
d.readFloat(219 + 16*iTrigger, &g, 1.0f);
|
||||||
|
d.readFloat(220 + 16*iTrigger, &b, 1.0f);
|
||||||
|
m_focusedTriggerColor.setRgbF(r, g, b);
|
||||||
|
|
||||||
|
fillTriggerData(triggerData);
|
||||||
|
|
||||||
|
if (iTrigger < nbTriggers) // change existing triggers
|
||||||
|
{
|
||||||
|
m_scopeVis->changeTrigger(triggerData, iTrigger);
|
||||||
|
}
|
||||||
|
else // add new trigers
|
||||||
|
{
|
||||||
|
m_scopeVis->addTrigger(triggerData);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ui->trig->setMaximum(nbTriggersSaved-1);
|
||||||
|
ui->trig->setValue(nbTriggersSaved-1);
|
||||||
|
|
||||||
|
m_focusedTriggerColor.getRgb(&r, &g, &b, &a);
|
||||||
|
ui->trigColor->setStyleSheet(tr("QLabel { background-color : rgb(%1,%2,%3); }").arg(r).arg(g).arg(b));
|
||||||
|
|
||||||
|
setTrigCountDisplay();
|
||||||
|
setTrigDelayDisplay();
|
||||||
|
setTrigIndexDisplay();
|
||||||
|
setTrigLevelDisplay();
|
||||||
|
setTrigPreDisplay();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user