Results 1 to 3 of 3

Thread: QWT oscilloscope - triggering how to implement?

  1. #1
    Join Date
    Jul 2018
    Posts
    26
    Thanks
    1
    Qt products
    Qt5
    Platforms
    Unix/X11 Windows

    Default QWT oscilloscope - triggering how to implement?

    Hi,

    I have been reading qwt oscilloscope example. It seems to me that it is given as demo. What I am looking for is the way how signal plotting is implemented.
    What basically is missing is triggering. The signal is plotted at time frame I guess that is qwtInterval (MinValue, MaxValue) is used to plot signal.
    When, the new interval is instigated, the previous values are deleted, and the signal starts plotting from beginning.
    The problem is how to implement a kind of internal triggering which will synchronise plot with all previous plots. I mean the signal plot to be stand still.
    Is that possible? How that will reflect on performance, because there will be no for SignalData::clearStaleValues( double limit ), and memory requirements might be higher?

  2. #2
    Join Date
    Feb 2006
    Location
    Munich, Germany
    Posts
    3,205
    Thanked 848 Times in 797 Posts
    Qt products
    Qt3 Qt4 Qt/Embedded
    Platforms
    MacOS X Unix/X11 Windows

    Default Re: QWT oscilloscope - triggering how to implement?

    When, the new interval is instigated, the previous values are deleted, and the signal starts plotting from beginning.
    This type of implementation allows to draw incrementally as the scales do not change. As this is way more efficient than redrawing the complete plot for each frame it has been taken for the demo - knowing, that this is not what everyone needs. Guess the cpuplot example is more the average use case.

    The problem is how to implement a kind of internal triggering which will synchronise plot with all previous plots.
    You mean you have a growing number of curve points and you always want to display them all ?
    If yes there is not much to do beside calling replot, whenever you have new points.

    In case you have a huge number of points you will run into performance problems. One possible optimization, that might help is QwtPlotCurve::FilterPointsAggressive, what can be found in all branches >= Qwt 6.2.

    Uwe

  3. #3
    Join Date
    Jul 2018
    Posts
    26
    Thanks
    1
    Qt products
    Qt5
    Platforms
    Unix/X11 Windows

    Default Re: QWT oscilloscope - triggering how to implement?

    Thanks Uwe,

    Let say that I have sine waveform. I want to synchronize plot to be displayed let us say as 1 waveform period. Theoretically,
    I will have displayed only one waveform, knowing that all waveforms are plotting at the same place and everything looks like only one waveform is there.
    In reality, I will have a kind of jittering phase if the timing is not perfectly adjusted.

    Now, let say that I want to adjust internal triggering, which means I have to locate maximum of signal (just my idea), and then use it as reference point (with constant x value) and all points around it will have the same value (apart of the jittering). Now, we get to the point to find algorithm to locate maximum value in one period time. The algorithm does not know the frequency of sinewaveform, which makes it more complex).

    If we have two channels, we might have two signals, where we could have two signals stands stills. Etc. Not sure, that I want to displayed them all, maybe limited number in a bigger time frame.

Similar Threads

  1. Replies: 4
    Last Post: 3rd July 2018, 00:15
  2. Triggering the completer codewise
    By Sytse in forum Qt Programming
    Replies: 0
    Last Post: 2nd March 2016, 14:43
  3. oscilloscope example bug
    By umituzun84 in forum Qwt
    Replies: 1
    Last Post: 17th March 2010, 20:03
  4. Qwt-5.3.0-svn: oscilloscope
    By PaceyIV in forum Qwt
    Replies: 2
    Last Post: 14th June 2009, 19:56
  5. use qt for oscilloscope
    By dycjiaoda in forum Qt Programming
    Replies: 1
    Last Post: 9th June 2009, 20:46

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.