mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-06-25 05:25:27 -04:00
New scope: methods to create/change/delete traces and triggers
This commit is contained in:
parent
cce5b29aa6
commit
a36870f958
@ -21,7 +21,11 @@
|
|||||||
|
|
||||||
MESSAGE_CLASS_DEFINITION(ScopeVisNG::MsgConfigureScopeVisNG, Message)
|
MESSAGE_CLASS_DEFINITION(ScopeVisNG::MsgConfigureScopeVisNG, Message)
|
||||||
MESSAGE_CLASS_DEFINITION(ScopeVisNG::MsgScopeVisNGAddTrigger, Message)
|
MESSAGE_CLASS_DEFINITION(ScopeVisNG::MsgScopeVisNGAddTrigger, Message)
|
||||||
|
MESSAGE_CLASS_DEFINITION(ScopeVisNG::MsgScopeVisNGChangeTrigger, Message)
|
||||||
MESSAGE_CLASS_DEFINITION(ScopeVisNG::MsgScopeVisNGRemoveTrigger, Message)
|
MESSAGE_CLASS_DEFINITION(ScopeVisNG::MsgScopeVisNGRemoveTrigger, Message)
|
||||||
|
MESSAGE_CLASS_DEFINITION(ScopeVisNG::MsgScopeVisNGAddTrace, Message)
|
||||||
|
MESSAGE_CLASS_DEFINITION(ScopeVisNG::MsgScopeVisNGChangeTrace, Message)
|
||||||
|
MESSAGE_CLASS_DEFINITION(ScopeVisNG::MsgScopeVisNGRemoveTrace, Message)
|
||||||
|
|
||||||
const uint ScopeVisNG::m_traceChunkSize = 4800;
|
const uint ScopeVisNG::m_traceChunkSize = 4800;
|
||||||
const Real ScopeVisNG::ProjectorMagDB::mult = (10.0f / log2f(10.0f));
|
const Real ScopeVisNG::ProjectorMagDB::mult = (10.0f / log2f(10.0f));
|
||||||
@ -64,11 +68,46 @@ void ScopeVisNG::setSampleRate(int sampleRate)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScopeVisNG::configure(MessageQueue* msgQueue,
|
void ScopeVisNG::configure(uint traceSize)
|
||||||
uint traceSize)
|
|
||||||
{
|
{
|
||||||
Message* cmd = MsgConfigureScopeVisNG::create(traceSize);
|
Message* cmd = MsgConfigureScopeVisNG::create(traceSize);
|
||||||
msgQueue->push(cmd);
|
getInputMessageQueue()->push(cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ScopeVisNG::addTrace(const TraceData& traceData)
|
||||||
|
{
|
||||||
|
Message* cmd = MsgScopeVisNGAddTrace::create(traceData);
|
||||||
|
getInputMessageQueue()->push(cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ScopeVisNG::changeTrace(const TraceData& traceData, uint32_t traceIndex)
|
||||||
|
{
|
||||||
|
Message* cmd = MsgScopeVisNGChangeTrace::create(traceData, traceIndex);
|
||||||
|
getInputMessageQueue()->push(cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ScopeVisNG::removeTrace(uint32_t traceIndex)
|
||||||
|
{
|
||||||
|
Message* cmd = MsgScopeVisNGRemoveTrace::create(traceIndex);
|
||||||
|
getInputMessageQueue()->push(cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ScopeVisNG::addTrigger(const TriggerData& triggerData)
|
||||||
|
{
|
||||||
|
Message* cmd = MsgScopeVisNGAddTrigger::create(triggerData);
|
||||||
|
getInputMessageQueue()->push(cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ScopeVisNG::changeTrigger(const TriggerData& triggerData, uint32_t triggerIndex)
|
||||||
|
{
|
||||||
|
Message* cmd = MsgScopeVisNGChangeTrigger::create(triggerData, triggerIndex);
|
||||||
|
getInputMessageQueue()->push(cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ScopeVisNG::removeTrigger(uint32_t triggerIndex)
|
||||||
|
{
|
||||||
|
Message* cmd = MsgScopeVisNGRemoveTrigger::create(triggerIndex);
|
||||||
|
getInputMessageQueue()->push(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -95,8 +95,13 @@ public:
|
|||||||
virtual ~ScopeVisNG();
|
virtual ~ScopeVisNG();
|
||||||
|
|
||||||
void setSampleRate(int sampleRate);
|
void setSampleRate(int sampleRate);
|
||||||
void configure(MessageQueue* msgQueue,
|
void configure(uint32_t traceSize);
|
||||||
uint32_t traceSize);
|
void addTrace(const TraceData& traceData);
|
||||||
|
void changeTrace(const TraceData& traceData, uint32_t traceIndex);
|
||||||
|
void removeTrace(uint32_t traceIndex);
|
||||||
|
void addTrigger(const TriggerData& triggerData);
|
||||||
|
void changeTrigger(const TriggerData& triggerData, uint32_t traceIndex);
|
||||||
|
void removeTrigger(uint32_t triggerIndex);
|
||||||
|
|
||||||
virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end, bool positiveOnly);
|
virtual void feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end, bool positiveOnly);
|
||||||
virtual void start();
|
virtual void start();
|
||||||
@ -133,16 +138,37 @@ private:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
static MsgScopeVisNGAddTrigger* create(
|
static MsgScopeVisNGAddTrigger* create(
|
||||||
ProjectionType projectionType)
|
const TriggerData& triggerData)
|
||||||
{
|
{
|
||||||
return new MsgScopeVisNGAddTrigger(projectionType);
|
return new MsgScopeVisNGAddTrigger(triggerData);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ProjectionType m_projectionType;
|
TriggerData m_triggerData;
|
||||||
|
|
||||||
MsgScopeVisNGAddTrigger(ProjectionType projectionType) :
|
MsgScopeVisNGAddTrigger(const TriggerData& triggerData) :
|
||||||
m_projectionType(projectionType)
|
m_triggerData(triggerData)
|
||||||
|
{}
|
||||||
|
};
|
||||||
|
|
||||||
|
// ---------------------------------------------
|
||||||
|
class MsgScopeVisNGChangeTrigger : public Message {
|
||||||
|
MESSAGE_CLASS_DECLARATION
|
||||||
|
|
||||||
|
public:
|
||||||
|
static MsgScopeVisNGChangeTrigger* create(
|
||||||
|
const TriggerData& triggerData, uint32_t triggerIndex)
|
||||||
|
{
|
||||||
|
return new MsgScopeVisNGChangeTrigger(triggerData, triggerIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
TriggerData m_triggerData;
|
||||||
|
uint32_t m_triggerIndex;
|
||||||
|
|
||||||
|
MsgScopeVisNGChangeTrigger(const TriggerData& triggerData, uint32_t triggerIndex) :
|
||||||
|
m_triggerData(triggerData),
|
||||||
|
m_triggerIndex(triggerIndex)
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -165,6 +191,65 @@ private:
|
|||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// ---------------------------------------------
|
||||||
|
class MsgScopeVisNGAddTrace : public Message {
|
||||||
|
MESSAGE_CLASS_DECLARATION
|
||||||
|
|
||||||
|
public:
|
||||||
|
static MsgScopeVisNGAddTrace* create(
|
||||||
|
const TraceData& traceData)
|
||||||
|
{
|
||||||
|
return new MsgScopeVisNGAddTrace(traceData);
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
TraceData m_traceData;
|
||||||
|
|
||||||
|
MsgScopeVisNGAddTrace(const TraceData& traceData) :
|
||||||
|
m_traceData(traceData)
|
||||||
|
{}
|
||||||
|
};
|
||||||
|
|
||||||
|
// ---------------------------------------------
|
||||||
|
class MsgScopeVisNGChangeTrace : public Message {
|
||||||
|
MESSAGE_CLASS_DECLARATION
|
||||||
|
|
||||||
|
public:
|
||||||
|
static MsgScopeVisNGChangeTrace* create(
|
||||||
|
const TraceData& traceData, uint32_t traceIndex)
|
||||||
|
{
|
||||||
|
return new MsgScopeVisNGChangeTrace(traceData, traceIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
TraceData m_traceData;
|
||||||
|
uint32_t m_traceIndex;
|
||||||
|
|
||||||
|
MsgScopeVisNGChangeTrace(TraceData traceData, uint32_t traceIndex) :
|
||||||
|
m_traceData(traceData),
|
||||||
|
m_traceIndex(traceIndex)
|
||||||
|
{}
|
||||||
|
};
|
||||||
|
|
||||||
|
// ---------------------------------------------
|
||||||
|
class MsgScopeVisNGRemoveTrace : public Message {
|
||||||
|
MESSAGE_CLASS_DECLARATION
|
||||||
|
|
||||||
|
public:
|
||||||
|
static MsgScopeVisNGRemoveTrace* create(
|
||||||
|
uint32_t traceIndex)
|
||||||
|
{
|
||||||
|
return new MsgScopeVisNGRemoveTrace(traceIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
uint32_t m_traceIndex;
|
||||||
|
|
||||||
|
MsgScopeVisNGRemoveTrace(uint32_t traceIndex) :
|
||||||
|
m_traceIndex(traceIndex)
|
||||||
|
{}
|
||||||
|
};
|
||||||
|
|
||||||
// === projectors ===
|
// === projectors ===
|
||||||
// ---------------------------------------------
|
// ---------------------------------------------
|
||||||
class Projector
|
class Projector
|
||||||
|
Loading…
x
Reference in New Issue
Block a user