X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fdata%2Fsignalbase.hpp;h=3356af5b786ad3fefeace38f7d42fe32dc7bdfa7;hb=d13d95b3eaee713cc4eabbc0682ca545b4c31800;hp=977a9cd68121f743e7e7070d67957e9d7e07081e;hpb=63253d727162257aa0a3765bfb897c6826ebf611;p=pulseview.git diff --git a/pv/data/signalbase.hpp b/pv/data/signalbase.hpp index 977a9cd..3356af5 100644 --- a/pv/data/signalbase.hpp +++ b/pv/data/signalbase.hpp @@ -140,6 +140,12 @@ public: */ QString internal_name() const; + /** + * Produces a string for this signal that can be used for display, + * i.e. it contains one or both of the signal/internal names. + */ + QString display_name() const; + /** * Sets the name of the signal. */ @@ -175,6 +181,17 @@ public: */ shared_ptr logic_data() const; + /** + * Determines whether a given segment is complete (i.e. end-of-frame has + * been seen). It only considers the original data, not the converted data. + */ + bool segment_is_complete(uint32_t segment_id) const; + + /** + * Determines whether this signal has any sample data at all. + */ + bool has_samples() const; + /** * Queries the kind of conversion performed on this channel. */ @@ -268,6 +285,8 @@ private: uint8_t convert_a2l_schmitt_trigger(float lo_thr, float hi_thr, float value, uint8_t &state); + void convert_single_segment_range(AnalogSegment *asegment, + LogicSegment *lsegment, uint64_t start_sample, uint64_t end_sample); void convert_single_segment(pv::data::AnalogSegment *asegment, pv::data::LogicSegment *lsegment); void conversion_thread_proc(); @@ -285,7 +304,7 @@ Q_SIGNALS: void samples_cleared(); - void samples_added(QObject* segment, uint64_t start_sample, + void samples_added(uint64_t segment_id, uint64_t start_sample, uint64_t end_sample); void min_max_changed(float min, float max);