This Sphinx 1.0 extension executes GTKWave during the build step and
includes its screenshot into the documentation.
GTKWave can display wave files like VCD (value change dump).
- Python 3 is not supported
- PDF output is not perfect
- no unittests
.. gtkwave:: docs/gtkwave_output.vcd
How it works
This is a workaround, there is no image export in GTKWave
- start Xvfb headless X server using pyvirtualdisplay
- redirect GTKWave display to Xvfb server by setting $DISPLAY variable.
- start GTKWave with VCD file. Options are set on command-line and in temporary rc file
- temporary tcl script will set time interval and select all signals
- wait until GTKWave is displayed
- take screenshot by pyscreenshot which needs scrot.
- image is processed: toolbar, scrollbar and empty space are removed
- use .. image:: directive to display image
install Xvfb and Xephyr
install the program:
# as root
pip install sphinxcontrib-gtkwave
sudo apt-get install gtkwave
sudo apt-get install python-pip
sudo apt-get install scrot
sudo apt-get install xvfb
sudo apt-get install xserver-xephyr
sudo apt-get install python-imaging
sudo pip install sphinxcontrib-gtkwave
# as root
pip uninstall sphinxcontrib-gtkwave