X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fdata%2Fsignalbase.hpp;h=16a94bd43b816ce47ac6c7ca067b0611ea19bb93;hb=932bc2461d7b84b084d3a77ccfeb3bdb1a2d0d6c;hp=1675ed0abefea1c9c94ec151e4f3705d339646e4;hpb=f0f9c8566ba4992e3a3b71afd521da3278f37b7b;p=pulseview.git diff --git a/pv/data/signalbase.hpp b/pv/data/signalbase.hpp index 1675ed0a..16a94bd4 100644 --- a/pv/data/signalbase.hpp +++ b/pv/data/signalbase.hpp @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -63,7 +64,6 @@ public: AnalogChannel = 1, ///< Analog data LogicChannel, ///< Logic data DecodeChannel, ///< Protocol Decoder channel using libsigrokdecode - A2LChannel, ///< Analog converted to logic, joint representation MathChannel ///< Virtual channel generated by math operations }; @@ -86,6 +86,7 @@ public: private: static const int ColourBGAlpha; static const uint64_t ConversionBlockSize; + static const uint32_t ConversionDelay; public: SignalBase(shared_ptr channel, ChannelType channel_type); @@ -256,7 +257,7 @@ public: virtual void restore_settings(QSettings &settings); - void start_conversion(); + void start_conversion(bool delayed_start=false); private: bool conversion_is_a2l() const; @@ -293,6 +294,8 @@ private Q_SLOTS: void on_capture_state_changed(int state); + void on_delayed_conversion_start(); + protected: shared_ptr channel_; ChannelType channel_type_; @@ -307,6 +310,7 @@ protected: atomic conversion_interrupt_; mutex conversion_input_mutex_; condition_variable conversion_input_cond_; + QTimer delayed_conversion_starter_; QString internal_name_, name_; QColor colour_, bgcolour_;