projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Wrapped sr_dev_inst in a class: pv::DevInst
[pulseview.git]
/
pv
/
data
/
decoderstack.cpp
diff --git
a/pv/data/decoderstack.cpp
b/pv/data/decoderstack.cpp
index 323f5cc2cd4b45397cf18e1cd59560dc0ef17f33..74ad7d362d0b2fe1e93dc31e928202b06689d23c 100644
(file)
--- a/
pv/data/decoderstack.cpp
+++ b/
pv/data/decoderstack.cpp
@@
-103,7
+103,7
@@
int64_t DecoderStack::samples_decoded() const
return _samples_decoded;
}
return _samples_decoded;
}
-std::vector<Row> DecoderStack::get_rows() const
+std::vector<Row> DecoderStack::get_
visible_
rows() const
{
lock_guard<mutex> lock(_mutex);
{
lock_guard<mutex> lock(_mutex);
@@
-112,6
+112,9
@@
std::vector<Row> DecoderStack::get_rows() const
BOOST_FOREACH (const shared_ptr<decode::Decoder> &dec, _stack)
{
assert(dec);
BOOST_FOREACH (const shared_ptr<decode::Decoder> &dec, _stack)
{
assert(dec);
+ if (!dec->shown())
+ continue;
+
const srd_decoder *const decc = dec->decoder();
assert(dec->decoder());
const srd_decoder *const decc = dec->decoder();
assert(dec->decoder());
@@
-243,11
+246,17
@@
void DecoderStack::decode_proc(shared_ptr<data::Logic> data)
assert(data);
assert(data);
+ // Check we have a snapshot of data
const deque< shared_ptr<pv::data::LogicSnapshot> > &snapshots =
data->get_snapshots();
if (snapshots.empty())
return;
const deque< shared_ptr<pv::data::LogicSnapshot> > &snapshots =
data->get_snapshots();
if (snapshots.empty())
return;
+ // Check that all decoders have the required probes
+ BOOST_FOREACH(const shared_ptr<decode::Decoder> &dec, _stack)
+ if (!dec->have_required_probes())
+ return;
+
const shared_ptr<pv::data::LogicSnapshot> &snapshot =
snapshots.front();
const int64_t sample_count = snapshot->get_sample_count();
const shared_ptr<pv::data::LogicSnapshot> &snapshot =
snapshots.front();
const int64_t sample_count = snapshot->get_sample_count();