Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for mixed-signal plotting? #4

Open
TimonTerBraak opened this issue Jan 2, 2020 · 3 comments
Open

Support for mixed-signal plotting? #4

TimonTerBraak opened this issue Jan 2, 2020 · 3 comments

Comments

@TimonTerBraak
Copy link
Contributor

I read through the list of related tools in the README. Since this is still low-profile, I take the liberty of writing down 2 feature request / wishes. Those are the things that at least partially lack in either one of the tools mentioned.

  • mixed-signal support; gtkwave to some extend can plot both digital and analog signals, but has poor support of handling the analog signals
  • math operations; this will likely hurt performance, and I am not sure if it combines well with the massive-data-support already built-in. But, in practice it is very useful to apply some math operation to the signal before plotting; either scaling the (analog) signal, or masking (bits) of a digital signal.

Maybe there is a better way to gather feature requests?

@windelbouwman
Copy link
Owner

Feature requests are welcome! Perhaps the best way would be to create a seperate issue per feature request, and then we can discuss whether it can be added or not? You can also implement the feature yourself if you wish :)

@TimonTerBraak
Copy link
Contributor Author

TimonTerBraak commented Jan 4, 2020

I have been thinking about the best visual representation of putting more stuff in a single plot. I think this is context-dependent. Hence, the handling in mixed-signal oscilloscopes converges towards something like: https://rtelecom.net/userfiles/productlargeimages/product_1953.jpg

Therefore, I think it would be silly to invent a complete new way in the hopes that it would be any better. Given the current state of lognplot, we then need the following:

  • add a new mime-type for digital (bit-oriented) signals, 'register' perhaps?
  • be able to display signals of different (mime-) types into a single plot,
  • as we are plotting time-series, have a single (horizontal) time axis, but multiple (virtual) vertical axis, one per plotted signal,
  • maybe split the legend into multiple handles drawn left of the vertical axis, as handles to the plotted signal. This could at the same time serve as an anchor to select (options for) the corresponding signal and show the corresponding vertical axis upon selection.

Maybe ambitious, but what do you think. Is this a direction you like lognplot to go?

@TimonTerBraak
Copy link
Contributor Author

Now, there are multiple widgets, one per mime-type. The dashboard creates a widget depending on the mime-type of the dropped item. I would suggest to create a family (classes) of curves instead, such that the drawing routine can be specialized per type of curve.
In render/chart.py there already is a hidden specialization for Aggregations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants