projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove data_ also for LogicSignal and use SignalBase data instead
[pulseview.git]
/
pv
/
session.cpp
diff --git
a/pv/session.cpp
b/pv/session.cpp
index e1a1f010cf065dcad630f391161f819b5f494f0e..a61224048b018701cad13b891db4baf00a50a8b7 100644
(file)
--- a/
pv/session.cpp
+++ b/
pv/session.cpp
@@
-417,11
+417,6
@@
void Session::update_signals()
if (iter != prev_sigs.end()) {
// Copy the signal from the old set to the new
signal = *iter;
if (iter != prev_sigs.end()) {
// Copy the signal from the old set to the new
signal = *iter;
- auto logic_signal = dynamic_pointer_cast<
- view::LogicSignal>(signal);
- if (logic_signal)
- logic_signal->set_logic_data(
- logic_data_);
} else {
// Create a new signal
signalbase = shared_ptr<data::SignalBase>(
} else {
// Create a new signal
signalbase = shared_ptr<data::SignalBase>(
@@
-429,20
+424,21
@@
void Session::update_signals()
switch(channel->type()->id()) {
case SR_CHANNEL_LOGIC:
switch(channel->type()->id()) {
case SR_CHANNEL_LOGIC:
+ signalbase->set_data(logic_data_);
signal = shared_ptr<view::Signal>(
new view::LogicSignal(*this,
signal = shared_ptr<view::Signal>(
new view::LogicSignal(*this,
- device_, signalbase
, logic_data_
));
+ device_, signalbase));
all_signal_data_.insert(logic_data_);
signalbases_.insert(signalbase);
break;
case SR_CHANNEL_ANALOG:
{
all_signal_data_.insert(logic_data_);
signalbases_.insert(signalbase);
break;
case SR_CHANNEL_ANALOG:
{
- shared_ptr<data::Analog> data(
-
new data::Analog()
);
+ shared_ptr<data::Analog> data(
new data::Analog());
+
signalbase->set_data(data
);
signal = shared_ptr<view::Signal>(
new view::AnalogSignal(
signal = shared_ptr<view::Signal>(
new view::AnalogSignal(
- *this, signalbase
, data
));
+ *this, signalbase));
all_signal_data_.insert(data);
signalbases_.insert(signalbase);
break;
all_signal_data_.insert(data);
signalbases_.insert(signalbase);
break;
@@
-462,7
+458,7
@@
void Session::update_signals()
signals_changed();
}
signals_changed();
}
-shared_ptr<data::SignalBase> Session::signal_from_channel(
+shared_ptr<data::SignalBase> Session::signal
base
_from_channel(
shared_ptr<sigrok::Channel> channel) const
{
for (shared_ptr<data::SignalBase> sig : signalbases_) {
shared_ptr<sigrok::Channel> channel) const
{
for (shared_ptr<data::SignalBase> sig : signalbases_) {
@@
-633,12
+629,10
@@
void Session::feed_in_analog(shared_ptr<Analog> analog)
cur_analog_segments_[channel] = segment;
// Find the analog data associated with the channel
cur_analog_segments_[channel] = segment;
// Find the analog data associated with the channel
- shared_ptr<view::AnalogSignal> sig =
- dynamic_pointer_cast<view::AnalogSignal>(
- signal_from_channel(channel));
- assert(sig);
+ shared_ptr<data::SignalBase> base = signalbase_from_channel(channel);
+ assert(base);
- shared_ptr<data::Analog> data(
sig
->analog_data());
+ shared_ptr<data::Analog> data(
base
->analog_data());
assert(data);
// Push the segment into the analog data.
assert(data);
// Push the segment into the analog data.