From a015da52b860cde25ad27fa5bd511a1952640ebe Mon Sep 17 00:00:00 2001 From: Tobias Falk Date: Thu, 30 May 2024 22:35:49 +0200 Subject: [PATCH] Added dashed lines --- examples/ex15.gv | 12 ++ examples/ex15.html | 176 +++++++++++++++------------ examples/ex15.png | Bin 48086 -> 50167 bytes examples/ex15.svg | 176 +++++++++++++++------------ examples/ex15.tmp | 252 +++++++++++++++++++++++++++++++++++++++ src/wireviz/Harness.py | 22 +++- src/wireviz/pin2pin.gvpr | 28 +++++ src/wireviz/wireviz.py | 2 +- tutorial/tutorial01 | 166 ++++++++++++++++++++++++++ 9 files changed, 682 insertions(+), 152 deletions(-) create mode 100644 examples/ex15.tmp create mode 100644 src/wireviz/pin2pin.gvpr create mode 100644 tutorial/tutorial01 diff --git a/examples/ex15.gv b/examples/ex15.gv index ed3a7b9..c35214b 100644 --- a/examples/ex15.gv +++ b/examples/ex15.gv @@ -4,6 +4,12 @@ graph { graph [bgcolor="#FFFFFF" fontname=arial nodesep=0.33 rankdir=LR ranksep=2] node [fillcolor="#FFFFFF" fontname=arial height=0 margin=0 shape=none style=filled width=0] edge [fontname=arial style=bold] + edge [color="#FF66CC" headclip=false style=dashed tailclip=false] + X1:p1j:c -- X1:p5j:c [straight=straight] + X1:p5j:c -- X1:p7j:c [straight=straight] + edge [color="#FF0000" headclip=false style=dashed tailclip=false] + X1:p2j:c -- X1:p6j:c [straight=straight] + edge [headclip=true style=bold tailclip=true] X1 [label=<
@@ -66,6 +72,12 @@ graph {
> fillcolor="#FFFFFF" shape=box style=filled] + edge [color="#000000" headclip=false style=dashed tailclip=false] + X2:p1j:c -- X2:p5j:c [straight=straight] + X2:p5j:c -- X2:p7j:c [straight=straight] + edge [color="#000000" headclip=false style=dashed tailclip=false] + X2:p2j:c -- X2:p6j:c [straight=straight] + edge [headclip=true style=bold tailclip=true] X2 [label=<
diff --git a/examples/ex15.html b/examples/ex15.html index a9f7e2d..d87404e 100644 --- a/examples/ex15.html +++ b/examples/ex15.html @@ -42,7 +42,7 @@ X1 -X1 +X1 Molex KK 254 @@ -51,58 +51,73 @@ 7-pin GND - - - + + + 1 VCC - - - + + + 2 RX - - + + 3 TX - - + + 4 GND - + - + 5 VCC - - + + 6 GND - - - + + + 7 + + +X1:c--X1:c + + + + +X1:c--X1:c + + + + +X1:c--X1:c + + - + W1 -W1 +W1 Serial @@ -113,8 +128,8 @@ + S 0.2 m -  -X1:1:GND +  +X1:1:GND     1:BN     X2:1:GND @@ -122,45 +137,45 @@ X1:2:VCC     2:RD     -X2:2:VCC +X2:2:VCC X1:3:RX     3:OG     -X2:4:TX +X2:4:TX X1:4:TX -     4:YE     -X2:3:RX +     4:YE     +X2:3:RX -  -X1:1:GND +  +X1:1:GND Shield -  +  - + X1:e--W1:w - + - - - - -X1:e--W1:w - - - + X1:e--W1:w + + + + + + +X1:e--W1:w @@ -168,17 +183,17 @@ X1:e--W1:w - + - + - + X1:e--W1:w - + X2 @@ -192,78 +207,93 @@ 1 -GND - - - +GND + + + 2 VCC - - - + + + 3 RX - - + + 4 TX - - + + 5 -GND - +GND + - + 6 VCC - - + + 7 -GND - - - +GND + + + - + W1:e--X2:w - + - + - + W1:e--X2:w - + - + - + W1:e--X2:w - + W1:e--X2:w - + - + + + + +X2:c--X2:c + + + + +X2:c--X2:c + + + + +X2:c--X2:c + diff --git a/examples/ex15.png b/examples/ex15.png index ab7aa047811759d0f08849451b1d75907bc8b57e..10b97dd744d87e0e9ff3b94abf80fe68253c0565 100644 GIT binary patch literal 50167 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 literal 48086 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 TLrxNsRp%Rci|atW>Q{N))AO;yhubE$Tcm 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 -X1 +X1 Molex KK 254 @@ -22,58 +22,73 @@ 7-pin GND - - - + + + 1 VCC - - - + + + 2 RX - - + + 3 TX - - + + 4 GND - + - + 5 VCC - - + + 6 GND - - - + + + 7 + + +X1:c--X1:c + + + + +X1:c--X1:c + + + + +X1:c--X1:c + + - + W1 -W1 +W1 Serial @@ -84,8 +99,8 @@ + S 0.2 m -  -X1:1:GND +  +X1:1:GND     1:BN     X2:1:GND @@ -93,45 +108,45 @@ X1:2:VCC     2:RD     -X2:2:VCC +X2:2:VCC X1:3:RX     3:OG     -X2:4:TX +X2:4:TX X1:4:TX -     4:YE     -X2:3:RX +     4:YE     +X2:3:RX -  -X1:1:GND +  +X1:1:GND Shield -  +  - + X1:e--W1:w - + - - - - -X1:e--W1:w - - - + X1:e--W1:w + + + + + + +X1:e--W1:w @@ -139,17 +154,17 @@ X1:e--W1:w - + - + - + X1:e--W1:w - + X2 @@ -163,78 +178,93 @@ 1 -GND - - - +GND + + + 2 VCC - - - + + + 3 RX - - + + 4 TX - - + + 5 -GND - +GND + - + 6 VCC - - + + 7 -GND - - - +GND + + + - + W1:e--X2:w - + - + - + W1:e--X2:w - + - + - + W1:e--X2:w - + W1:e--X2:w - + - + + + + +X2:c--X2:c + + + + +X2:c--X2:c + + + + +X2:c--X2:c + diff --git a/examples/ex15.tmp b/examples/ex15.tmp new file mode 100644 index 0000000..c35214b --- /dev/null +++ b/examples/ex15.tmp @@ -0,0 +1,252 @@ +graph { +// Graph generated by WireViz 0.5-dev +// https://github.com/formatc1702/WireViz + graph [bgcolor="#FFFFFF" fontname=arial nodesep=0.33 rankdir=LR ranksep=2] + node [fillcolor="#FFFFFF" fontname=arial height=0 margin=0 shape=none style=filled width=0] + edge [fontname=arial style=bold] + edge [color="#FF66CC" headclip=false style=dashed tailclip=false] + X1:p1j:c -- X1:p5j:c [straight=straight] + X1:p5j:c -- X1:p7j:c [straight=straight] + edge [color="#FF0000" headclip=false style=dashed tailclip=false] + X1:p2j:c -- X1:p6j:c [straight=straight] + edge [headclip=true style=bold tailclip=true] + X1 [label=< + + + + +
+ + +
X1
+
+ + + + +
Molex KK 254female7-pin
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GND1
VCC2
RX3
TX4
GND5
VCC6
GND7
+
+> fillcolor="#FFFFFF" shape=box style=filled] + edge [color="#000000" headclip=false style=dashed tailclip=false] + X2:p1j:c -- X2:p5j:c [straight=straight] + X2:p5j:c -- X2:p7j:c [straight=straight] + edge [color="#000000" headclip=false style=dashed tailclip=false] + X2:p2j:c -- X2:p6j:c [straight=straight] + edge [headclip=true style=bold tailclip=true] + X2 [label=< + + + + +
+ + +
X2
+
+ + + + +
Molex KK 254female7-pin
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
1GND
2VCC
3RX
4TX
5GND
6VCC
7GND
+
+> fillcolor="#FFFFFF" shape=box style=filled] + edge [color="#000000:#895956:#000000"] + X1:p1r:e -- W1:w1:w + W1:w1:e -- X2:p1l:w + edge [color="#000000:#ff0000:#000000"] + X1:p2r:e -- W1:w2:w + W1:w2:e -- X2:p2l:w + edge [color="#000000:#ff8000:#000000"] + X1:p3r:e -- W1:w3:w + W1:w3:e -- X2:p4l:w + edge [color="#000000:#ffff00:#000000"] + X1:p4r:e -- W1:w4:w + W1:w4:e -- X2:p3l:w + edge [color="#000000"] + X1:p1r:e -- W1:ws:w + W1 [label=< + + + + +
+ + +
W1
+
+ + + + + + +
Serial4x0.25 mm² (24 AWG)+ S0.2 m
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 
X1:1:GND + 1:BN + X2:1:GND
+ + + + +
+
X1:2:VCC + 2:RD + X2:2:VCC
+ + + + +
+
X1:3:RX + 3:OG + X2:4:TX
+ + + + +
+
X1:4:TX + 4:YE + X2:3:RX
+ + + + +
+
 
X1:1:GNDShield
 
+
+> fillcolor="#FFFFFF" shape=box style=filled] +} diff --git a/src/wireviz/Harness.py b/src/wireviz/Harness.py index 4a76567..346b42b 100644 --- a/src/wireviz/Harness.py +++ b/src/wireviz/Harness.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- +import os import re from collections import Counter from dataclasses import dataclass @@ -269,11 +270,17 @@ class Harness: ] for short, short_color in zip_longest(connector.internal_shorts, connector.internal_shorts_color): - print("Short_connections: " + str(short) + str(short_color)) if short_color == None: short_color = "BK" - # TODO adding dashed Line for Jumpers + dot.attr("edge", color=str(wv_colors.translate_color(short_color, "HEX")), headclip="false", tailclip="false", style="dashed") + for i in range(1, len(short)): + dot.edge( + f"{connector.name}:p{short[i - 1]}j:c", + f"{connector.name}:p{short[i]}j:c", + straight="straight" + ) + dot.attr("edge", headclip="true", tailclip="true", style="bold") html = "\n".join(html) dot.node( @@ -663,6 +670,12 @@ class Harness: # cache for the GraphViz Graph object # do not access directly, use self.graph instead _graph = None + + # This renders the graph with gvpr and neato, this is needed to be able to draw the stright lines for the jumpers + def graphRender(self, type, filename, graph): + graph.save(filename=f"{filename}_tmp.gv") + os.system(f"dot {filename}_tmp.gv | gvpr -q -cf pin2pin.gvpr | neato -n2 -T{type} -o {filename}.{type}") + os.remove(f"{filename}_tmp.gv") @property def graph(self): @@ -688,8 +701,6 @@ class Harness: def output( self, filename: (str, Path), - view: bool = False, - cleanup: bool = True, fmt: tuple = ("html", "png", "svg", "tsv"), ) -> None: # graphical output @@ -706,7 +717,8 @@ class Harness: _filename = f"{filename}.tmp" if f == "svg" else filename # TODO: prevent rendering SVG twice when both SVG and HTML are specified graph.format = f - graph.render(filename=_filename, view=view, cleanup=cleanup) + # graph.render(filename=_filename) # old rendering methode, befor jumper implementations + self.graphRender(f, _filename, graph) # embed images into SVG output if "svg" in fmt or "html" in fmt: embed_svg_images_file(f"{filename}.tmp.svg") diff --git a/src/wireviz/pin2pin.gvpr b/src/wireviz/pin2pin.gvpr new file mode 100644 index 0000000..baa0e5c --- /dev/null +++ b/src/wireviz/pin2pin.gvpr @@ -0,0 +1,28 @@ +/******************************************************************* + + see https://forum.graphviz.org/t/straitening-one-line-throu-a-table/2196 + input must include pos values (must be output from one of the engines w/ -Tdot) + +*******************************************************************/ +BEG_G{ + string tok[int]; + int cnt; + +/*************************************** + $G.bb=""; + $G.nodesep=""; + $G.ranksep=""; + $G.splines="true"; +****************************************/ +} +/******************************************************** + the weakness is in the head==tail test + it would be better to mark every target edge with a new attribute and test for that attribute +*********************************************************/ +E[straight] { + cnt=tokens($.pos,tok," "); + $.oldpos=$.pos; + pos=tok[0]+" " + tok[0]+" "+tok[cnt-1]+" "+tok[cnt-1]; + $.label=""; // remove pesky label + $.lp=""; // remove peskier label pos +} \ No newline at end of file diff --git a/src/wireviz/wireviz.py b/src/wireviz/wireviz.py index bc974e8..983f174 100755 --- a/src/wireviz/wireviz.py +++ b/src/wireviz/wireviz.py @@ -377,7 +377,7 @@ def parse( harness.add_bom_item(line) if output_formats: - harness.output(filename=output_file, fmt=output_formats, view=False) + harness.output(filename=output_file, fmt=output_formats) if return_types: returns = [] diff --git a/tutorial/tutorial01 b/tutorial/tutorial01 new file mode 100644 index 0000000..b5d32ea --- /dev/null +++ b/tutorial/tutorial01 @@ -0,0 +1,166 @@ +graph { +// Graph generated by WireViz 0.5-dev +// https://github.com/formatc1702/WireViz + graph [bgcolor="#FFFFFF" fontname=arial nodesep=0.33 rankdir=LR ranksep=2] + node [fillcolor="#FFFFFF" fontname=arial height=0 margin=0 shape=none style=filled width=0] + edge [fontname=arial style=bold] + edge [headclip=true style=bold tailclip=true] + X1 [label=< + + + + +
+ + +
X1
+
+ + +
4-pin
+
+ + + + + + + + + + + + + +
1
2
3
4
+
+> fillcolor="#FFFFFF" shape=box style=filled] + edge [headclip=true style=bold tailclip=true] + X2 [label=< + + + + +
+ + +
X2
+
+ + +
4-pin
+
+ + + + + + + + + + + + + +
1
2
3
4
+
+> fillcolor="#FFFFFF" shape=box style=filled] + edge [color="#000000:#ffffff:#000000"] + X1:p1r:e -- W1:w1:w + W1:w1:e -- X2:p1l:w + edge [color="#000000:#ffffff:#000000"] + X1:p2r:e -- W1:w2:w + W1:w2:e -- X2:p2l:w + edge [color="#000000:#ffffff:#000000"] + X1:p3r:e -- W1:w3:w + W1:w3:e -- X2:p3l:w + edge [color="#000000:#ffffff:#000000"] + X1:p4r:e -- W1:w4:w + W1:w4:e -- X2:p4l:w + W1 [label=< + + + + +
+ + +
W1
+
+ + + +
4x1 m
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 
X1:1 + 1 + X2:1
+ + + + +
+
X1:2 + 2 + X2:2
+ + + + +
+
X1:3 + 3 + X2:3
+ + + + +
+
X1:4 + 4 + X2:4
+ + + + +
+
 
+
+> fillcolor="#FFFFFF" shape=box style=filled] +}