X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fsignalbase.hpp;h=865f2551662fed2ab137781752c9064191cb698d;hp=1675ed0abefea1c9c94ec151e4f3705d339646e4;hb=c6d9cf6582589fd375e67579d42ee914ce6382a1;hpb=f0f9c8566ba4992e3a3b71afd521da3278f37b7b diff --git a/pv/data/signalbase.hpp b/pv/data/signalbase.hpp index 1675ed0a..865f2551 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; @@ -283,6 +284,8 @@ Q_SIGNALS: void samples_added(QObject* segment, uint64_t start_sample, uint64_t end_sample); + void min_max_changed(float min, float max); + private Q_SLOTS: void on_samples_cleared(); @@ -293,6 +296,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 +312,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_;