projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Viewport: Allow for vertical dragging as well
[pulseview.git]
/
pv
/
data
/
decoderstack.cpp
diff --git
a/pv/data/decoderstack.cpp
b/pv/data/decoderstack.cpp
index a764e452d3d82bc203f88e83cac34bf231fbb699..2668df2937acb3e29035ab39ceffaf86953f1195 100644
(file)
--- a/
pv/data/decoderstack.cpp
+++ b/
pv/data/decoderstack.cpp
@@
-27,7
+27,7
@@
#include "decoderstack.hpp"
#include <pv/data/logic.hpp>
#include "decoderstack.hpp"
#include <pv/data/logic.hpp>
-#include <pv/data/logics
napsho
t.hpp>
+#include <pv/data/logics
egmen
t.hpp>
#include <pv/data/decode/decoder.hpp>
#include <pv/data/decode/annotation.hpp>
#include <pv/session.hpp>
#include <pv/data/decode/decoder.hpp>
#include <pv/data/decode/annotation.hpp>
#include <pv/session.hpp>
@@
-107,7
+107,7
@@
void DecoderStack::remove(int index)
// Find the decoder in the stack
auto iter = stack_.begin();
// Find the decoder in the stack
auto iter = stack_.begin();
- for(int i = 0; i < index; i++, iter++)
+ for
(int i = 0; i < index; i++, iter++)
assert(iter != stack_.end());
// Delete the element
assert(iter != stack_.end());
// Delete the element
@@
-119,7
+119,7
@@
double DecoderStack::samplerate() const
return samplerate_;
}
return samplerate_;
}
-
double
DecoderStack::start_time() const
+
const pv::util::Timestamp&
DecoderStack::start_time() const
{
return start_time_;
}
{
return start_time_;
}
@@
-136,8
+136,7
@@
std::vector<Row> DecoderStack::get_visible_rows() const
vector<Row> rows;
vector<Row> rows;
- for (const shared_ptr<decode::Decoder> &dec : stack_)
- {
+ for (const shared_ptr<decode::Decoder> &dec : stack_) {
assert(dec);
if (!dec->shown())
continue;
assert(dec);
if (!dec->shown())
continue;
@@
-150,8
+149,7
@@
std::vector<Row> DecoderStack::get_visible_rows() const
rows.push_back(Row(decc));
// Add the decoder rows
rows.push_back(Row(decc));
// Add the decoder rows
- for (const GSList *l = decc->annotation_rows; l; l = l->next)
- {
+ for (const GSList *l = decc->annotation_rows; l; l = l->next) {
const srd_decoder_annotation_row *const ann_row =
(srd_decoder_annotation_row *)l->data;
assert(ann_row);
const srd_decoder_annotation_row *const ann_row =
(srd_decoder_annotation_row *)l->data;
assert(ann_row);
@@
-213,8
+211,7
@@
void DecoderStack::begin_decode()
}
// Add classes
}
// Add classes
- for (const shared_ptr<decode::Decoder> &dec : stack_)
- {
+ for (const shared_ptr<decode::Decoder> &dec : stack_) {
assert(dec);
const srd_decoder *const decc = dec->decoder();
assert(dec->decoder());
assert(dec);
const srd_decoder *const decc = dec->decoder();
assert(dec->decoder());
@@
-224,8
+221,7
@@
void DecoderStack::begin_decode()
rows_[Row(decc)] = decode::RowData();
// Add the decoder rows
rows_[Row(decc)] = decode::RowData();
// Add the decoder rows
- for (const GSList *l = decc->annotation_rows; l; l = l->next)
- {
+ for (const GSList *l = decc->annotation_rows; l; l = l->next) {
const srd_decoder_annotation_row *const ann_row =
(srd_decoder_annotation_row *)l->data;
assert(ann_row);
const srd_decoder_annotation_row *const ann_row =
(srd_decoder_annotation_row *)l->data;
assert(ann_row);
@@
-245,7
+241,7
@@
void DecoderStack::begin_decode()
// We get the logic data of the first channel in the list.
// This works because we are currently assuming all
// We get the logic data of the first channel in the list.
// This works because we are currently assuming all
- // LogicSignals have the same data/s
napsho
t
+ // LogicSignals have the same data/s
egmen
t
for (const shared_ptr<decode::Decoder> &dec : stack_)
if (dec && !dec->channels().empty() &&
((logic_signal = (*dec->channels().begin()).second)) &&
for (const shared_ptr<decode::Decoder> &dec : stack_)
if (dec && !dec->channels().empty() &&
((logic_signal = (*dec->channels().begin()).second)) &&
@@
-255,16
+251,16
@@
void DecoderStack::begin_decode()
if (!data)
return;
if (!data)
return;
- // Check we have a s
napsho
t of data
- const deque< shared_ptr<pv::data::LogicS
napshot> > &snapsho
ts =
- data->logic_s
napsho
ts();
- if (s
napsho
ts.empty())
+ // Check we have a s
egmen
t of data
+ const deque< shared_ptr<pv::data::LogicS
egment> > &segmen
ts =
+ data->logic_s
egmen
ts();
+ if (s
egmen
ts.empty())
return;
return;
- s
napshot_ = snapsho
ts.front();
+ s
egment_ = segmen
ts.front();
// Get the samplerate and start time
// Get the samplerate and start time
- start_time_ = s
napsho
t_->start_time();
- samplerate_ = s
napsho
t_->samplerate();
+ start_time_ = s
egmen
t_->start_time();
+ samplerate_ = s
egmen
t_->samplerate();
if (samplerate_ == 0.0)
samplerate_ = 1.0;
if (samplerate_ == 0.0)
samplerate_ = 1.0;
@@
-272,7
+268,7
@@
void DecoderStack::begin_decode()
decode_thread_ = std::thread(&DecoderStack::decode_proc, this);
}
decode_thread_ = std::thread(&DecoderStack::decode_proc, this);
}
-uint64_t DecoderStack::
get_
max_sample_count() const
+uint64_t DecoderStack::max_sample_count() const
{
uint64_t max_sample_count = 0;
{
uint64_t max_sample_count = 0;
@@
-286,7
+282,7
@@
uint64_t DecoderStack::get_max_sample_count() const
optional<int64_t> DecoderStack::wait_for_data() const
{
unique_lock<mutex> input_lock(input_mutex_);
optional<int64_t> DecoderStack::wait_for_data() const
{
unique_lock<mutex> input_lock(input_mutex_);
- while(!interrupt_ && !frame_complete_ &&
+ while
(!interrupt_ && !frame_complete_ &&
samples_decoded_ >= sample_count_)
input_cond_.wait(input_lock);
return boost::make_optional(!interrupt_ &&
samples_decoded_ >= sample_count_)
input_cond_.wait(input_lock);
return boost::make_optional(!interrupt_ &&
@@
-301,19
+297,18
@@
void DecoderStack::decode_data(
uint8_t chunk[DecodeChunkLength];
const unsigned int chunk_sample_count =
uint8_t chunk[DecodeChunkLength];
const unsigned int chunk_sample_count =
- DecodeChunkLength / s
napsho
t_->unit_size();
+ DecodeChunkLength / s
egmen
t_->unit_size();
for (int64_t i = 0; !interrupt_ && i < sample_count;
for (int64_t i = 0; !interrupt_ && i < sample_count;
- i += chunk_sample_count)
- {
+ i += chunk_sample_count) {
lock_guard<mutex> decode_lock(global_decode_mutex_);
const int64_t chunk_end = min(
i + chunk_sample_count, sample_count);
lock_guard<mutex> decode_lock(global_decode_mutex_);
const int64_t chunk_end = min(
i + chunk_sample_count, sample_count);
- s
napsho
t_->get_samples(chunk, i, chunk_end);
+ s
egmen
t_->get_samples(chunk, i, chunk_end);
- if (srd_session_send(session, i,
i + sample_count
, chunk,
- (chunk_end - i) * unit_size) != SRD_OK) {
+ if (srd_session_send(session, i,
chunk_end
, chunk,
+ (chunk_end - i) * unit_size
, unit_size
) != SRD_OK) {
error_message_ = tr("Decoder reported an error");
break;
}
error_message_ = tr("Decoder reported an error");
break;
}
@@
-334,23
+329,21
@@
void DecoderStack::decode_proc()
{
optional<int64_t> sample_count;
srd_session *session;
{
optional<int64_t> sample_count;
srd_session *session;
- srd_decoder_inst *prev_di =
NULL
;
+ srd_decoder_inst *prev_di =
nullptr
;
- assert(s
napsho
t_);
+ assert(s
egmen
t_);
// Create the session
srd_session_new(&session);
assert(session);
// Create the decoders
// Create the session
srd_session_new(&session);
assert(session);
// Create the decoders
- const unsigned int unit_size = s
napsho
t_->unit_size();
+ const unsigned int unit_size = s
egmen
t_->unit_size();
- for (const shared_ptr<decode::Decoder> &dec : stack_)
- {
- srd_decoder_inst *const di = dec->create_decoder_inst(session, unit_size);
+ for (const shared_ptr<decode::Decoder> &dec : stack_) {
+ srd_decoder_inst *const di = dec->create_decoder_inst(session);
- if (!di)
- {
+ if (!di) {
error_message_ = tr("Failed to create decoder instance");
srd_session_destroy(session);
return;
error_message_ = tr("Failed to create decoder instance");
srd_session_destroy(session);
return;
@@
-365,7
+358,7
@@
void DecoderStack::decode_proc()
// Get the intial sample count
{
unique_lock<mutex> input_lock(input_mutex_);
// Get the intial sample count
{
unique_lock<mutex> input_lock(input_mutex_);
- sample_count = sample_count_ = s
napsho
t_->get_sample_count();
+ sample_count = sample_count_ = s
egmen
t_->get_sample_count();
}
// Start the session
}
// Start the session
@@
-379,7
+372,7
@@
void DecoderStack::decode_proc()
do {
decode_data(*sample_count, unit_size, session);
do {
decode_data(*sample_count, unit_size, session);
- } while(error_message_.isEmpty() && (sample_count = wait_for_data()));
+ } while
(error_message_.isEmpty() && (sample_count = wait_for_data()));
// Destroy the session
srd_session_destroy(session);
// Destroy the session
srd_session_destroy(session);
@@
-409,8
+402,7
@@
void DecoderStack::annotation_callback(srd_proto_data *pdata, void *decoder)
const auto r = d->class_rows_.find(make_pair(decc, a.format()));
if (r != d->class_rows_.end())
row_iter = d->rows_.find((*r).second);
const auto r = d->class_rows_.find(make_pair(decc, a.format()));
if (r != d->class_rows_.end())
row_iter = d->rows_.find((*r).second);
- else
- {
+ else {
// Failing that, use the decoder as a key
row_iter = d->rows_.find(Row(decc));
}
// Failing that, use the decoder as a key
row_iter = d->rows_.find(Row(decc));
}
@@
-436,8
+428,8
@@
void DecoderStack::on_data_received()
{
{
unique_lock<mutex> lock(input_mutex_);
{
{
unique_lock<mutex> lock(input_mutex_);
- if (s
napsho
t_)
- sample_count_ = s
napsho
t_->get_sample_count();
+ if (s
egmen
t_)
+ sample_count_ = s
egmen
t_->get_sample_count();
}
input_cond_.notify_one();
}
}
input_cond_.notify_one();
}
@@
-446,7
+438,7
@@
void DecoderStack::on_frame_ended()
{
{
unique_lock<mutex> lock(input_mutex_);
{
{
unique_lock<mutex> lock(input_mutex_);
- if (s
napsho
t_)
+ if (s
egmen
t_)
frame_complete_ = true;
}
input_cond_.notify_one();
frame_complete_ = true;
}
input_cond_.notify_one();