return rows;
}
-
uint64_t DecodeSignal::get_annotation_count(const Row* row, uint32_t segment_id) const
{
if (segment_id >= segments_.size())
if (!ch.assigned_signal)
continue;
const data::SignalBase *signal = ch.assigned_signal.get();
+
connect(signal, SIGNAL(samples_cleared()),
this, SLOT(on_data_cleared()));
connect(signal, SIGNAL(samples_added(uint64_t, uint64_t, uint64_t)),
continue;
}
- if (!segment)
+ if (!segment) {
+ qWarning() << "Signal" << name() << ":" << ch.assigned_signal->name() \
+ << "has no logic segment, can't connect notifier" << segment_id;
continue;
+ }
connect(segment.get(), SIGNAL(completed()), this, SLOT(on_input_segment_completed()));
}
const shared_ptr<Logic> logic_data = ch.assigned_signal->logic_data();
shared_ptr<const LogicSegment> segment;
- if (segment_id < logic_data->logic_segments().size()) {
+ if (segment_id < logic_data->logic_segments().size())
segment = logic_data->logic_segments().at(segment_id)->get_shared_ptr();
- } else {
+ else
continue;
- }
if (!segment)
continue;
bool all_input_signals_enabled(QString &disabled_signals) const;
Q_SIGNALS:
- void samples_cleared();
-
- void samples_added(uint64_t segment_id, uint64_t start_sample,
- uint64_t end_sample);
-
- void min_max_changed(float min, float max);
-
void expression_changed(QString expression);
private Q_SLOTS:
delete[] lsamples;
delete[] asamples;
}
+
+ samples_added(lsegment->segment_id(), start_sample, end_sample);
}
void SignalBase::convert_single_segment(shared_ptr<AnalogSegment> asegment,