d

digidraw

@preview

Drawing digital timing diagrams with style and (almost all of) the WaveDrom syntax.

v0.9.3
EUPL-1.2

Package Information

Last Updated
Categories
visualization

1. Get the package

Download the package using the TPIX CLI:

tpix get @preview/digidraw:0.9.3

2. Import in your Typst file

Add this to your .typ file:

#import "@preview/digidraw:0.9.3": *

Version History

0.9.3
db61ede3c2d5...
0.9.2
674e7e350690...
0.9.1
6892c3e1041f...
0.9.0
dad2813c9de5...

The logo of Digidraw v0.9.3, which is drawn using timing diagrams. Buses are filled with solid blue and the background is white. The word 'Digidraw' is drawn in a pixel-esque way.

A drawing package to draw digital timing diagrams using the WaveDrom syntax. Some WaveDrom data are compatible with Digidraw and some are not, but I plan or hope to implement those. Reasonable input/feedback is welcome!

  • Read the Manual on how to use the specifics of this package

Features

  • Draw wires, buses, clocks and other symbol types
    • A lot of these elements are 1:1 from WaveDrom, but not everthing is inside!
  • Support for inserting labels into buses (similar to Wavedrom)
  • Support for typst markup for bus labels, when reading from a json file."data": ["#strong([hello])"]
  • Configurable style settings to change fonts, stroke styling and sizing

Examples

Click on the image for the source.

a digital timing diagram generated with the package showing off various features of the package.
Source: https://wavedrom.com/tutorial.html#spacers-and-gaps
example's JSON file: examples/example1.json
a smaller digital timing diagram with a clock signal labeled 'clk' which has rising flanks highlighted arrowheads pointing up. Other signals such as a bus and a wire signal is shown below labeled respectively 'bus' and 'wire'
Source: https://wavedrom.com/tutorial.html#adding-clock
example's JSON file: examples/example2.json
another digital timing diagram with a various signals. The tick numbers above are written in roman numerals instead of numbers.
a digital time diagram showing off coloured busses and the time skip symbol (represented by two vertically long letter 'S').
a digital time diagram showing off various styled tick lines. Only some tick lines are shown

Changelog

See CHANGELOG.md

ToDo

See TODO.md in the Codeberg repository