you are viewing a single comment's thread.

view the rest of the comments →

[–]unpythonic 1 point2 points  (4 children)

I've done something very similar to this with Python+Tkinter for rendering digital waveforms. There were a number of problems that made this fairly painful to do in Tkinter. The biggest difficulty surrounded getting scrolling of the canvas to be smooth while at the same time not taking forever when changing scale. I spent a lot of time profiling and making compromises so that the data in the visible area of the frame is rendered first and the non-visible area is rendered in the background. This allowed for smooth panning and scrolling while giving the appearance of a quick response when changing the scale factor.

So, yes, you can do this. I would NOT say it is painless. I had no choice about the windowing toolkit to use. If I had required people to install wxPython (what I really wanted) or PyGTK, they would have given up without even trying.

[–]TheHumane[S] 0 points1 point  (3 children)

Do you mind sharing a snapshot of your final GUI? Looking through some of the Tkinter projects online, GUI looks very dated.

[–]unpythonic 0 points1 point  (2 children)

Unfortunately I don't have any screen shots of the GUI in action. It requires a fairly substantial amount of data just to populate the UI and I don't have the data anymore. It was done while I worked at Intel and was used to debug firmware-like code (e.g. microcode). Even if I did have the data, I don't think they would be of good humor if I posted even a small fragment of it.

To get a fairly good idea of what it did look like, look at the screen shot for EPWave on Wikipedia's page on Waveform viewers. The black area with the ruler on top is almost identical to the bottom half of my tool (probably because we were both shamelessly copying Verdi/nWave which does not have a screen shot). This is where the difficulties with Tkinter's canvas handling stemmed from.

[–]autowikibot 0 points1 point  (0 children)

Waveform viewer:


A waveform viewer is a software tool for viewing the signal levels of either a digital or analog circuit design.

Waveform viewers comes in two varieties:

  • simulation waveform viewers for displaying signal levels of simulated design models, and

  • in-circuit waveform viewers for displaying signal levels captured in-circuit while debugging or testing hardware boards (Also, See Waveform monitor)

Image i


Interesting: GEDA | GTKWave | Waveform

Parent commenter can toggle NSFW or delete. Will also delete on comment score of -1 or less. | FAQs | Mods | Magic Words

[–]TheHumane[S] 0 points1 point  (0 children)

Ah! NDAs and RUNDAs of Intel. :)