X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fdata%2Fsignalbase.hpp;h=6a3af14b3f0115c64dee8f1438fc21accfc37168;hb=558ad6ceb934ab7406d286c1a4ae08da4aba1448;hp=865f2551662fed2ab137781752c9064191cb698d;hpb=c6d9cf6582589fd375e67579d42ee914ce6382a1;p=pulseview.git diff --git a/pv/data/signalbase.hpp b/pv/data/signalbase.hpp index 865f255..6a3af14 100644 --- a/pv/data/signalbase.hpp +++ b/pv/data/signalbase.hpp @@ -51,8 +51,10 @@ namespace pv { namespace data { class Analog; +class AnalogSegment; class DecoderStack; class Logic; +class LogicSegment; class SignalData; class SignalBase : public QObject @@ -173,6 +175,12 @@ 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; + /** * Queries the kind of conversion performed on this channel. */ @@ -266,7 +274,9 @@ private: uint8_t convert_a2l_schmitt_trigger(float lo_thr, float hi_thr, float value, uint8_t &state); - void conversion_thread_proc(QObject* segment); + void convert_single_segment(pv::data::AnalogSegment *asegment, + pv::data::LogicSegment *lsegment); + void conversion_thread_proc(); void stop_conversion();