projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
SignalBase: Implement A2D conversions
[pulseview.git]
/
pv
/
session.cpp
diff --git
a/pv/session.cpp
b/pv/session.cpp
index f5f1e4974b6ea155dcdb923924a05c0fef4077c3..a1a078788c4e49631e7d00df1ab5e82646a6cbe3 100644
(file)
--- a/
pv/session.cpp
+++ b/
pv/session.cpp
@@
-620,6
+620,9
@@
const unordered_set< shared_ptr<data::SignalBase> > Session::signalbases() const
#ifdef ENABLE_DECODE
bool Session::add_decoder(srd_decoder *const dec)
{
#ifdef ENABLE_DECODE
bool Session::add_decoder(srd_decoder *const dec)
{
+ if (!dec)
+ return false;
+
map<const srd_channel*, shared_ptr<data::SignalBase> > channels;
shared_ptr<data::DecoderStack> decoder_stack;
map<const srd_channel*, shared_ptr<data::SignalBase> > channels;
shared_ptr<data::DecoderStack> decoder_stack;
@@
-785,6
+788,9
@@
void Session::update_signals()
all_signal_data_.insert(logic_data_);
signalbase->set_data(logic_data_);
all_signal_data_.insert(logic_data_);
signalbase->set_data(logic_data_);
+
+ connect(this, SIGNAL(capture_state_changed(int)),
+ signalbase.get(), SLOT(on_capture_state_changed(int)));
}
signal = shared_ptr<views::TraceView::Signal>(
}
signal = shared_ptr<views::TraceView::Signal>(
@@
-803,6
+809,9
@@
void Session::update_signals()
shared_ptr<data::Analog> data(new data::Analog());
all_signal_data_.insert(data);
signalbase->set_data(data);
shared_ptr<data::Analog> data(new data::Analog());
all_signal_data_.insert(data);
signalbase->set_data(data);
+
+ connect(this, SIGNAL(capture_state_changed(int)),
+ signalbase.get(), SLOT(on_capture_state_changed(int)));
}
signal = shared_ptr<views::TraceView::Signal>(
}
signal = shared_ptr<views::TraceView::Signal>(
@@
-962,7
+971,7
@@
void Session::feed_in_logic(shared_ptr<Logic> logic)
// Create a new data segment
cur_logic_segment_ = make_shared<data::LogicSegment>(
// Create a new data segment
cur_logic_segment_ = make_shared<data::LogicSegment>(
- *logic_data_, logic, cur_samplerate_);
+ *logic_data_, logic
->unit_size()
, cur_samplerate_);
logic_data_->push_segment(cur_logic_segment_);
// @todo Putting this here means that only listeners querying
logic_data_->push_segment(cur_logic_segment_);
// @todo Putting this here means that only listeners querying
@@
-970,11
+979,10
@@
void Session::feed_in_logic(shared_ptr<Logic> logic)
// frame_began is DecoderStack, but in future we need to signal
// this after both analog and logic sweeps have begun.
frame_began();
// frame_began is DecoderStack, but in future we need to signal
// this after both analog and logic sweeps have begun.
frame_began();
- } else {
- // Append to the existing data segment
- cur_logic_segment_->append_payload(logic);
}
}
+ cur_logic_segment_->append_payload(logic);
+
data_received();
}
data_received();
}