Compare commits

...

406 Commits
v0.1 ... master

Author SHA1 Message Date
KV
e4fe099f8c Use ubuntu-latest for the supported Python versions (#442)
Use ubuntu-22.04 only for Python 3.7-3.8
by including them separately into the matrix.
2025-02-15 00:11:55 +01:00
Martin Rieder
e8c482e94e
Update deprecated GitHub Actions and add Python versions (#408)
Running 6 different Python versions (3.7 to 3.12) in parallel now.
NOTE: This is in conflict with #309, but can be resolved easily in a later PR.

GitHub Actions require an update:
- actions/upload-artifact@v3 is scheduled for deprecation on November
30, 2024.
- Similarly, v1/v2 are scheduled for deprecation on June 30, 2024. 
- Updating this comes with a breaking change in upload-artifact@v4:

Uploading to the same named Artifact multiple times.

Due to how Artifacts are created in this new version, it is no longer
possible to upload to the same named Artifact multiple times. You must
either split the uploads into multiple Artifacts with different names,
or only upload once. Otherwise you will encounter an error.

The artifact .zip files therefore have the python version added to
their name.
2024-10-14 19:19:49 +02:00
Daniel Rojas
1c4fd68a2e
Release v0.4.1 2024-07-13 13:23:11 +02:00
Daniel Rojas
542864658f Add v0.4.1 release date 2024-07-13 13:16:08 +02:00
Daniel Rojas
a57c68ae22 Rebuild examples 2024-07-13 13:15:00 +02:00
Daniel Rojas
c73738e041 Bump version to 0.4.1 2024-07-13 13:10:31 +02:00
KV
73f56b2efc Apply black *.py ../../setup.py
black==23.3.0
2024-07-12 19:05:12 +02:00
KV
828de3f118 Apply isort *.py ../../setup.py
isort==5.11.5
2024-07-12 19:04:29 +02:00
KV
38ac23747d Update changelog a bit more 2024-07-12 18:36:35 +02:00
KV
bde949b7d4 Update changelog 2024-07-08 23:19:52 +02:00
KV
ae03bd60e5 Add TODOs about utf-8 encoding/charset (#395) 2024-07-07 16:16:56 +02:00
KV
19cdff1774 Avoid ResourceWarning: unclosed file (#395)
A number of such warnings showed up when running e.g.
PYTHONWARNINGS=always python build_examples.py
PYTHONWARNINGS=always wireviz ../../examples/demo0?.yml
See https://github.com/wireviz/WireViz/pull/309#issuecomment-2170988381

Fix: All open() calls should be in a "with open() as x" statement
to ensure closing the file when exiting the block in any way.
Otherwise, use the new file_read_text() or file_write_text() functions
to read or write the whole utf-8 text file and closing it.
2024-07-07 16:16:56 +02:00
KV
ee1bd7801e Provide more information when raising exception 2024-07-05 18:16:34 +02:00
Martin Rieder
f2a1aa8856 Update comment in src/wireviz/wireviz.py (#392)
Clarify all exceptions catched, including changes in #392

Co-authored-by: kvid <kvid@users.noreply.github.com>
2024-07-05 18:16:34 +02:00
Martin Rieder
0e8ab7a668 Catch also ValueError (#392)
In Windows might ValueError be raised instead of the already
catched exceptions in some cases (depending on the Python version)

Fixes point 2 of https://github.com/wireviz/WireViz/pull/318#pullrequestreview-1457016602
2024-07-05 18:16:34 +02:00
Martin Rieder
42d10dfab4 Catch OSError also with errno=None (#392)
In Windows might OSError(errno = None) be raised instead of the already
catched exceptions in some cases (depending on the Python version)

Fixes #391
2024-07-05 18:16:34 +02:00
kvid
858b2664db Update src/wireviz/wireviz.py (#383)
Raising TypeError is better than assert. (Black reformatted)

Co-authored-by: Andreas Motl <andreas.motl@panodata.org>
2024-07-05 18:23:32 +02:00
KV
5cedba9def Explain unexpeced top-level type (#383)
Might help in reported issues like #342
2024-07-05 18:16:34 +02:00
KV
6d772cf697 Add non-empty label to avoid over-sized loops (#381)
Work-around to improve the #286 use case.
- https://github.com/wireviz/WireViz/issues/286#issuecomment-2094309143
- https://stackoverflow.com/questions/70996779/graphviz-edges-between-cells-in-the-same-html-table-are-too-long
2024-07-05 18:16:34 +02:00
KV
c997bfe19b Rename "sheetsize_default" to <!-- %template_sheetsize% --> (#380)
Fixes #377 (makes HTML output template placeholders more consistent)
2024-07-05 18:16:34 +02:00
KV
795f3321a3 Update changelog (WIP) 2024-07-05 18:16:34 +02:00
Daniel Rojas
eed00e1322 Add changelog for v0.4.1 (WIP) 2024-07-05 18:16:34 +02:00
Daniel Rojas
088c6038c7 Add documentation on template separator character 2024-07-05 18:16:34 +02:00
KV
6488eb582b Avoid Graphviz error when hiding all pins (#375)
Fixes #257
2024-07-05 18:16:34 +02:00
KV
668ba72975 Avoid decimal point and trailing zero for integer BOM quantities (#374)
Fixes #340
2024-07-05 18:16:34 +02:00
KV
177eb9e387 Add link from syntax.md to HTML output templates (#371) 2024-07-05 18:23:11 +02:00
KV
6ba33fb5dc Rename diagram_png_base64 to diagram_png_b64 (#371) 2024-07-05 18:22:24 +02:00
KV
fc7ea088b4 Add HTML output templates README.md (#371)
Describe the HTML Output Templates, how they are specified,
and placeholder usage within these templates.
2024-07-05 18:21:58 +02:00
KV
70a33edca5 Avoid reading diagram file to embed unless used (#371)
Add local replacement_if_used() that call function to read the file
only when needed and append the return value as replacement.
2024-07-05 18:20:57 +02:00
KV
ea26116c81 Add HTML template placeholder for diagram_png_base64 (#371)
This will enable users to replace the SVG diagram with an embedded PNG,
that is an improved work-around when the SVG output from Graphviz
is not looking good. Suggested as work-around for Graphviz bug in
https://github.com/wireviz/WireViz/issues/175#issuecomment-2132206026
2024-07-05 18:16:34 +02:00
KV
f474cddedb Add HTML template placeholders for filename (#371)
This will e.g. enable users to replace the SVG diagram with PNG,
that is needed as a work-around when the SVG output from Graphviz
is not looking good. Suggested as work-around for Graphviz bug in
https://github.com/wireviz/WireViz/issues/175#issuecomment-2132206026
2024-07-05 18:16:34 +02:00
KV
2336231d3e Update APP_URL (#364)
The project was moved into the new organization 2023-05-30, but old
URLs are still working due to automatic redirects by GitHub.

https://github.com/wireviz/WireViz/issues/316#issuecomment-1568748914
2024-07-05 18:16:34 +02:00
Frank Adämmer
a5f91e91b7 Add missing import of embed_svg_images (#363)
Resort module import:

Co-authored-by: kvid <kvid@users.noreply.github.com>
2024-07-05 18:16:34 +02:00
KV
7ae3fb33fd Use output_name as default title (#361)
The CLI handling code was redesigned for v0.4 and it seems the code
to assign a default title from v0.3.1 has been messed up. This bug
has not been triggered by build_examples.py due to it seems to call
the parse() function differently.

The output_name should be used as default title when present.

This will fix the #360 bug report.
2024-07-05 18:16:34 +02:00
KV
82751e439e Move mates processing above tweak processing (#358)
Bug: Not all generated dot output could be changed by tweak entries.
Seen in https://github.com/wireviz/WireViz/issues/325#issuecomment-2116395221

Tweak processing must be the very last dot producing code to enable
tweaking any dot output.

Fix: Move all other dot producing code above Tweak processing.
2024-07-05 18:16:34 +02:00
KV
557122c4a3 Look-up mated connectors before mate processing (#358)
Symptom reported in #355: Unable to connect an arrow (mate) to
pins higher than 1 without failing: ValueError: X is not in list

Bug: The code processing mates used a mix of repeated connector
look-ups and local connector variables, and one variable was used
before it was assigned the correct value.

Fix: The local connector variables are now both assigned initially
before processing each mate, and used when processing instead of
repeated connector look-ups.
2024-07-05 18:16:34 +02:00
KV
a89d04d8ca Add package_data to to setup() call in setup.py (#347)
Specify all HTML files under templates folder
to be included as package data files.
2024-07-05 18:16:34 +02:00
KV
77061a0656 Handle OSError(errno=EINVAL) that might be raised in Windows (#346)
In Windows might OSError(errno=EINVAL) be raised instead of the already
catched exceptions in some cases (depending on the Python version).

Suggested fix posted by JarrettR in
https://github.com/wireviz/WireViz/issues/344#issuecomment-2113476151

Co-authored-by: JarrettR <jrainier@gmail.com>
2024-07-05 18:16:34 +02:00
KV
9435fc2c2f Create PR to collect changes for v0.4.1-rc 2024-06-08 00:43:57 +02:00
Daniel Rojas
954c4f5f92 Merge branch 'release/v0.4-rc2' 2024-05-12 13:37:17 +02:00
Daniel Rojas
33e5ef6831 Add v0.4 release date 2024-05-12 13:36:10 +02:00
KV
9b2b22d6ae Add check for outdated connector attributes 2024-05-09 16:06:22 +02:00
Daniel Rojas
50d29172ee Remove references for unsupported output formats
Remove the references in the CLI help, but keep the placeholders elsewhere in the code as a TODO
2024-05-09 14:10:19 +02:00
Daniel Rojas
591ae7f84a
Apply suggestions from code review
Co-authored-by: kvid <kvid@users.noreply.github.com>
2024-05-09 10:53:32 +02:00
Daniel Rojas
55c6ab51f1 Apply black 2024-05-05 15:50:59 +02:00
Daniel Rojas
b9357f3928 Rebuild examples 2024-05-05 15:34:51 +02:00
Daniel Rojas
487498e128 Merge branch 'release/v0.4-rc' into release/v0.4-rc2
`rc2` branch is based directly on `master`. By merging into `rc2`, any merge conflicts can be resolved while leaving `master` intact until final merge is approved.

# Conflicts:
#	docs/CHANGELOG.md
#	src/wireviz/Harness.py
#	src/wireviz/__init__.py
#	src/wireviz/wireviz.py
2024-05-05 15:30:40 +02:00
Daniel Rojas
cbf8641c0a Rebuild examples 2024-04-16 14:07:17 +02:00
Daniel Rojas
455d14ea4a Bump version to 0.4 2024-04-16 14:06:53 +02:00
Daniel Rojas
fdb75693dd Fix but in additional component description generation 2024-04-16 14:05:25 +02:00
Daniel Rojas
bca3b6898c Update changelog 2024-04-16 13:48:33 +02:00
Daniel Rojas
f98bf2afec Do not allow negative qty_multiplier
Co-authored-by: kvid <kvid@users.noreply.github.com>
2024-04-16 13:46:46 +02:00
Jeremy Ruhland (hatchery)
848fdf03fb Hide qty 0 additional components from BOM 2024-04-16 13:46:46 +02:00
Jeremy Ruhland (hatchery)
df4a4188ba Add unpopulated option to additional components qty multiplier 2024-04-16 13:46:46 +02:00
Daniel Rojas
2ac80f3ca6 Update changelog 2024-04-16 13:19:28 +02:00
Daniel Rojas
2ad2222036 Update syntax description 2024-04-16 10:16:57 +02:00
Daniel Rojas
8ba9131a11 Add warning about unconnected components 2024-04-16 10:15:33 +02:00
KV
9cb9ede487 Add #256 2023-09-08 21:02:53 +02:00
Andreas Motl
c0590ff20f Update .gitignore (#256)
Add two more folders to be ignored.

- .idea: Used by PyCharm
- .venv: My convention for creating virtualenvs
2023-09-08 20:56:15 +02:00
Andreas Motl
a16f2e4757 Update .gitignore
Add two more folders to be ignored.

- .idea: Used by PyCharm
- .venv: My convention for creating virtualenvs
2023-09-08 11:49:01 -07:00
kvid
a26f734b94 Update src/wireviz/DataClasses.py as requested in review (#264)
No need to reference github issue in the code.

Co-authored-by: Daniel Rojas <github@danielrojas.net>
2023-09-08 17:37:25 +02:00
KV
f6c3a37563 Make sure loop connected pins are not hidden (#264)
- Resolves #263 that describes warnings and weird loop drawing because
  loop connected pins are hidden when hide_disconnected_pins=True.

- Activate loop pins as early as possible to enable correct counting of
  connected pins when
  connector.additional_components.qty_multiplier=populated.

- Check that loop pins actually exist before activating them.
2023-09-08 17:37:25 +02:00
KV
23bc184620 Add #318 2023-09-03 00:10:12 +02:00
RedshiftVelocities
6f9007f45d
Use portable OS error codes so program doesn't crash (#318)
Hard-coding OS error numbers that differ between different platforms
caused the program to crash at platforms using a different error number.

Using the Standard errno system symbols will avoid this problem.

Co-authored-by: kvid <kvid@users.noreply.github.com>
2023-09-01 22:24:34 +02:00
KV
f9d1dd0148 Fix bug commented in #186
Changes in #186 made it impossible to hide cable wire numbers.

https://github.com/wireviz/WireViz/pull/186#discussion_r716246852
2023-08-27 15:47:08 +02:00
KV
5eb208daf5 Fix typo in issue link text 2023-08-27 15:40:28 +02:00
Julien Lecoeur
9dbf4538fd Fix graphviz file header (#261)
The two header comments were missing trailing newlines.

This behavior is introduced by v0.18 of the graphviz Python package;
where as v0.17 did include the newline automatically.

Closes #258
2023-08-27 15:31:17 +02:00
Daniel Rojas
92af90518c Add v0.3.2 to changelog 2023-06-07 20:55:08 +02:00
Daniel Rojas
509dc75762 Update changelog 2023-06-07 19:56:28 +02:00
Daniel Rojas
0ef285ad13 Fix header levels 2023-06-07 19:26:33 +02:00
Daniel Rojas
3356569c35 Add v0.3.1 release 2023-06-07 19:26:33 +02:00
Daniel Rojas
c085ddab80 Add section for v0.4 2023-06-07 19:26:33 +02:00
Daniel Rojas
d94f39bea0 Fix typo 2023-06-07 19:26:33 +02:00
Daniel Rojas
602427c9b8 Add #240, #241 2023-06-07 19:26:24 +02:00
Daniel Rojas
4c8722f08f Add #158, #214 2023-06-07 19:26:04 +02:00
Daniel Rojas
646d7629f0 Add #160, #229 2023-06-07 19:24:11 +02:00
Daniel Rojas
d6ee6f5592 Add placeholder commit 2023-06-07 19:24:11 +02:00
Daniel Rojas
b0d0070f08 Bump version to 0.3.2 2021-11-27 13:32:40 +01:00
Julien Lecoeur
9af0cb8ab0 Fix graphviz file header
The two header comments were missing an endline.

Closes #258
2021-11-27 13:27:22 +01:00
Daniel Rojas
7f33517a79 Bump version to 0.3.1 2021-10-25 20:13:24 +02:00
Andreas Motl
80b7a5407b Improve gracefulness when invoking wireviz.parse() without file_out
This happened to be a regression for WireViz-Web [1], which aims to do
as much in memory as possible.

[1] https://github.com/daq-tools/wireviz-web.
2021-10-25 20:05:05 +02:00
Daniel Rojas
ba3f0248a5 Simplify Enum 2021-10-16 22:58:47 +02:00
Daniel Rojas
6f9bb67d02 Embed images into SVG output 2021-10-16 22:39:41 +02:00
Daniel Rojas
e31ed72655 Auto-assign missing harness title if reading from file 2021-10-16 22:27:00 +02:00
Daniel Rojas
d19c260940 Simplify file access operations 2021-10-16 22:27:00 +02:00
Daniel Rojas
45bcc1dd45 Make template separator character user-configurable 2021-10-16 22:27:00 +02:00
Daniel Rojas
08b5124adb Add support for multiple prepended files 2021-10-16 22:26:59 +02:00
Daniel Rojas
5aaea651b1 Automatically include input file directory in list to resolve image paths 2021-10-16 22:26:59 +02:00
Daniel Rojas
b46d26319a Update build_examples.py 2021-10-16 22:26:59 +02:00
Daniel Rojas
3aa1a2e651 Write docstring for parse() function 2021-10-16 22:26:59 +02:00
Daniel Rojas
8215113165 Add leading underscore to local helper functions 2021-10-16 22:26:59 +02:00
Daniel Rojas
e3530702f2 Allow specifying output directory and file name separately 2021-10-16 22:26:59 +02:00
Daniel Rojas
d7d7854bce Consolidate wireviz.parse() to handle Path, str and Dict as input 2021-10-16 22:26:59 +02:00
Daniel Rojas
c702e20eba Add 'black' badge to README.md 2021-10-16 22:09:59 +02:00
Daniel Rojas
58ab5cab91 Mention isort and black in contribution guidelines 2021-10-16 22:09:59 +02:00
Daniel Rojas
c89cf735ae Apply some manual fixes, reapply black 2021-10-16 22:09:59 +02:00
Daniel Rojas
f92985a61c Apply black 2021-10-16 22:09:59 +02:00
Daniel Rojas
344615483a Apply isort 2021-10-16 22:09:59 +02:00
Daniel Rojas
6f8078eea3 Add black profile for isort 2021-10-16 22:09:59 +02:00
Daniel Rojas
65b8e36fe5 Create cache of graph to avoid generating it more than once 2021-10-16 22:08:01 +02:00
Daniel Rojas
fb2aae5515 Split file output logic and object return logic
Use `output_formats` parameter to specify which *files* to output to disk,
Use `return_types` parameter to specify which objects to return to a calling Python script
2021-10-16 22:08:01 +02:00
Daniel Rojas
3dae1cbca2 Improve REAME.md 2021-10-16 22:08:01 +02:00
Daniel Rojas
d6d1fbcf16 Output help string if no arguments are received 2021-10-16 22:08:01 +02:00
Daniel Rojas
c68d6419ba Update README for new CLI commands 2021-10-16 22:08:01 +02:00
Daniel Rojas
a4343ae04c Sort --format flags alphabetically 2021-10-16 22:08:01 +02:00
Daniel Rojas
5b3c2b3297 Add encoding info to wv_cli.py 2021-10-16 22:08:01 +02:00
Daniel Rojas
0cb0a4e054 Add main() to wireviz.py as fallback 2021-10-16 22:08:01 +02:00
Daniel Rojas
3c6b902867 Remove obsolete comments 2021-10-16 22:08:01 +02:00
Daniel Rojas
3a181f6f95 Fix smart file resolver for images 2021-10-16 22:08:01 +02:00
Daniel Rojas
b1fa2b9de9 Do not output .gv files by default 2021-10-16 22:08:01 +02:00
Daniel Rojas
6a08988ca9 Implement image path resolver 2021-10-16 22:08:01 +02:00
Daniel Rojas
a5b0fbe305 Split the YAML loading and parsing functions 2021-10-16 22:08:00 +02:00
Daniel Rojas
b53ce36046 Fix entry point 2021-10-16 22:08:00 +02:00
Daniel Rojas
d3e99abaa8 Only output requested file types (closes #60) 2021-10-16 22:08:00 +02:00
Daniel Rojas
77f668e553 Add CLI help strings 2021-10-16 22:08:00 +02:00
Daniel Rojas
19481b291b Remove unneeded code from wireviz.py
Re-add `parse_file()` for building examples

bla
2021-10-16 22:08:00 +02:00
Daniel Rojas
1df45ab833 Implement working proof of concept 2021-10-16 22:08:00 +02:00
Daniel Rojas
a810bd53ae Add wv_cli.py, add Click requirement, change entry point 2021-10-16 22:08:00 +02:00
Daniel Rojas
8e59a14e4e Simplify and clean up setup.py 2021-10-16 21:54:56 +02:00
Daniel Rojas
35e89d4fdf Simplify main() 2021-10-16 21:54:56 +02:00
Daniel Rojas
a85ad89719 Add explanatory comment 2021-10-16 21:54:56 +02:00
Daniel Rojas
00be4747ad Replace os.path with pathlib.Path where used 2021-10-16 21:54:56 +02:00
Daniel Rojas
b513051bc2 Equalize line weights and simplify CSS
Experiments in exporting PDF using `wkhtmltopdf` utility caused borders to disappear when set to 0.25mm, but 0.35mm renders fine
2021-10-16 21:52:05 +02:00
Daniel Rojas
a59f96aaa6 Apply suggestions from code review
Co-authored-by: kvid <kvid@users.noreply.github.com>
2021-10-16 21:52:05 +02:00
Daniel Rojas
aa9278da4b Apply suggestions from code review
Co-authored-by: kvid <kvid@users.noreply.github.com>
2021-10-16 21:52:05 +02:00
Daniel Rojas
b2a2770f7a Update smart_file_resolve() 2021-10-16 21:52:05 +02:00
Daniel Rojas
406bdd36f2 Use regex-based replacement 2021-10-16 21:52:05 +02:00
Daniel Rojas
02963101d0 Implement fontname and bgcolor(WIP) replacement 2021-10-16 21:52:05 +02:00
Daniel Rojas
5bed6de7ab Consolidate code for replacing HTML placeholders 2021-10-16 21:52:05 +02:00
Daniel Rojas
36195e1cbb Apply fontname and bgcolor to output HTML
Co-authored-by: kvid <kvid@users.noreply.github.com>
2021-10-16 21:52:05 +02:00
Daniel Rojas
960f20e6ef Add type hint
Co-authored-by: kvid <kvid@users.noreply.github.com>
2021-10-16 21:52:05 +02:00
Daniel Rojas
95defd07c0 Add template metadata to demo02.yml 2021-10-16 21:52:05 +02:00
Daniel Rojas
eae2694b5d Implement template-based HTML output 2021-10-16 21:52:05 +02:00
Daniel Rojas
6b1e274d57 Refactor functions for harness building
- Use pin names instead of pin indices, until the last moment when generating the ports for the GraphViz nodes
- `Harness.add_mate_pin()` now uses pin names
- Remove unused `if is_arrow()` check from `Harness.connect()`
- Consolidate calling of `Connector.activate_pin()` to prevent subtle bugs
  - Call it from `connect()` and `add_mate_pin()`
  - No longer call it from `create_graph()`
- Misc. other tuning
2021-10-16 21:46:31 +02:00
Daniel Rojas
f0b63de3c7 Simplify code 2021-10-14 18:03:30 +02:00
Daniel Rojas
02a800abef Fix bug of arrows using the wrong port IDs 2021-10-14 18:03:18 +02:00
Daniel Rojas
50ea7f5771 Fix duplicates in syntax.md after rebase 2021-10-13 21:45:22 +02:00
Daniel Rojas
db6f2da232 Move selected test files to examples directory 2021-10-13 21:39:11 +02:00
Daniel Rojas
9ccd55ef93 Update syntax description (autogeneration, arrows)
Moved metadata and options info further down, so that the core functionality (connectors, cables, connection sets) comes first.
2021-10-13 21:39:11 +02:00
Daniel Rojas
2d701ee652 Resolve component level mate not revealing connection count 2021-10-13 21:39:11 +02:00
Daniel Rojas
2a62dae9ee Resolve edge case of empty HTML tables 2021-10-13 21:39:11 +02:00
Daniel Rojas
8ea8248721 Squash feature/mate+autogenerate branch 2021-10-13 21:38:23 +02:00
Daniel Rojas
a6efd28124 Bump version in generated files
`.gv` and `.html` files include the version number as a comment.
Rebuild to avoid diffs during development
2021-10-11 22:11:24 +02:00
Daniel Rojas
4f4d63f029 Bump version to 0.4-dev 2021-10-11 22:08:49 +02:00
Daniel Rojas
be1ecd4f63 Merge branch 'dev' 2021-10-11 21:20:12 +02:00
Daniel Rojas
eb7be156fa Rebuild examples 2021-10-11 20:59:18 +02:00
Daniel Rojas
2629e1c0da Bump version to 0.3 2021-10-11 20:55:53 +02:00
Daniel Rojas
36dfaea1f6 Update changelog 2021-10-11 20:54:39 +02:00
Daniel Rojas
3cc36e1573 Harmonize shebangs and encoding info
- Use `#!/usr/bin/env python3` on executable modules
- Remove shebangs on all other `.py` files
- Add UTF-8 encoding info where mising
2021-10-11 20:05:52 +02:00
Daniel Rojas
255569aec5 Add syntax documentation for cable length units
and reword `shield` explanation
2021-10-05 18:29:51 +02:00
Daniel Rojas
869ad6b8be Rearrange syntax description
Move metadata and options info further down, so that the core functionality (connectors, cables, connection sets) comes first.
2021-10-05 18:15:25 +02:00
Daniel Rojas
48d2e7b0ec Add temp/ to .gitignore 2021-10-03 21:37:09 +02:00
KV
7125f28760 Move color type aliases into wv_colors.py to avoid circular imports 2021-09-28 19:14:28 +02:00
KV
c34946183e Support specifying hex colors for any color attributes 2021-09-28 19:14:28 +02:00
KV
b3fdd48a83 Support specifying hex colors where no color name is needed
This was requested by designer2k2 in #219 for bgcolor usage.
It has also been discussed in #135.

The input validation is more detailed to help the user identifying
and locating invalid values. The wire color padding is now done on
the output to cover different input alternatives.
2021-09-28 19:14:28 +02:00
KV
166ab2fdf1 Support bgcolor of additional components
Maybe not needed that much, but mainly for consistency, to support
bgcolor in all dataclasses that represent boxes in the diagram.
2021-09-28 19:14:28 +02:00
KV
324508a8ee Support image.bgcolor to enable adapting to image colors 2021-09-28 19:14:28 +02:00
KV
45d7d03fe0 Support both bgcolor and bgcolor_title attributes
Solves #210 completely by supporting bgcolor of both the node title
and the whole node independently using separate attributes.
2021-09-28 19:14:28 +02:00
KV
dbccb77b08 Add bgcolor attribute to connectors and cables
This solves the #210 suggestion to render the title row of
the graph nodes with this bgcolor.
2021-09-28 19:14:28 +02:00
Daniel Rojas
a3eefe6659
Implement suppliers and supplier part numbers (#241)
Co-authored-by: kvid <kvid@users.noreply.github.com>
2021-09-14 19:29:59 +02:00
kvid
db05514469
Add optional tweaking of the .gv output (#215)
Co-authored-by: Daniel Rojas <github@danielrojas.net>
2021-09-14 19:20:51 +02:00
kvid
92354e6852
Add basic options and metadata (#214) 2021-08-25 19:46:37 +02:00
Daniel Rojas
e212fc9058
Use unique index for connector pin ports (#229)
Closes #160.

Co-authored-by: kvid <kvid@users.noreply.github.com>
2021-08-23 19:26:23 +02:00
Daniel Rojas
a36807293a Update changelog for #197 2021-08-22 18:43:16 +02:00
kvid
31d55ff775
Simplify BOM code (#197)
* Skip assignment and return expression directly

* Simplify get_bom_index() parameters

- Use the actual BOM as first parameter instead of the whole harness.
- Use a whole AdditionalComponent as second parameter instead of each
  attribute separately.

* Use the same lambda in get_bom_index() as for deduplicating BOM

Move the lambda declaration out of the function scope for common
access from two different functions.

* Convert dataclass object to dict to use the same lambda

* Redefine the common lambda to an ordinary function

* Simplify BOM header row logic

* Simplify collecting designators for a joined BOM entry

Assign input designators once to a temporary variable for easy reusage.

* Simplify deduplication and sorting of collected designators

* Remove parentheses around return expressions

https://stackoverflow.com/questions/4978567/should-a-return-statement-have-parentheses

* Move out code from inner loop into helper functions

* Move BOM sorting above grouping to use groupby()

- Use one common entry loop to consume iterator only once.
- Use same key function for sort() and groupby(),
  except replace None with empty string when sorting.

* Make the BOM grouping function return string tuple for sorting

* Use a generator expressions and raise exception if failing

Seems to be the most popular search alternative:
 https://stackoverflow.com/questions/8653516/python-list-of-dictionaries-search

Raising StopIteration if not found is better than returning None
to detect such an internal error more easily.

* Replace accumulation loop with sum expressions

Make a list from the group iterator for reusage in sum expressions
and to pick first group entry. The expected group sizes are very small,
so performance loss by creating a temporary list should be neglectable.

Alternativly, itertools.tee(group, 3) could be called to triplicate
the iterator, but it was not chosen for readability reasons.

* Add function type hints and doc strings

* Add BOMEntry type alias

This type alias describes the possible types of keys and values in
the dict representing a BOM entry.

* Rename extra variable to part for consistency

* Build output string in one big expression

Build output string in component_table_entry() as the similar strings
in generate_bom(). Repeating a couple of minor if-expressions is small
cost to obtain a more compact and readable main expression.

* Move default qty value=1 to BOM deduplication

* Eliminate local variable

* Rename the 'item' key to 'description' in all BOMEntry dicts

This way, both BOM and harness.additional_bom_items uses the same
set of keys in their dict entries. This was originally suggested
in a #115 review, but had too many issues to be implemented then.

* Move repeated code into new optional_fields() function

* Group common function arguments into a dict

* Revert "Use a generator expressions and raise exception if failing"

This reverts commit 96d393dfb757afc61ffb319c34035d8d2ce7c33d.
However, raising an exception if failing the BOM index search is still
wanted, so a custom exception is raised instead of returning None.

* Use new BOMKey type alias for get_bom_index() target argument

Replace the get_bom_index() part argument with the target key argument
to prepare for quering any BOM entry that matches the target key.

* Cache the BOM entry key in the entry itself

* Rename bom_types_group() to bom_entry_key()

* Define tuples of BOM columns as common constants

* Clarify a comment

* Change BOM heading from `Item` to `Description`

Co-authored-by: kvid <kvid@users.noreply.github.com>

Co-authored-by: Daniel Rojas <github@danielrojas.net>
2021-08-22 18:34:37 +02:00
Daniel Rojas
cf919770da Update contribution guidelines
...to include changes to `syntax.md` if relevant.
2021-03-23 11:58:14 +01:00
Daniel Rojas
cbc30b7323
Update changelog and syntax documentation 2021-03-23 11:53:02 +01:00
Daniel Rojas
71a1c52e22 Remove . from requirements.txt
Closes #172.
2021-03-20 14:20:10 +01:00
Daniel Rojas
bdc405a443 Remove duplicate contribution guidelines 2021-03-20 11:16:04 +01:00
KV
7546991b04 Show connector pins even when all are unconnected
Bug: Hiding connector pins when none are connected is not reasonable.
When combined with loops or neither pinlabels nor pincolors, then
exceptions are raised as well.

Fix: Forcing pins at the left side in such cases solves #217.
2021-03-20 11:11:11 +01:00
gopiballava
c0a885a800 Correctly check for default of None
If `show_wirenumbers` is omitted from a cable section, its value will be `None`. In that case, we want to choose a default based on whether this is a bundle or not.

If the user did specify `show_wirenumbers`, then its value will be `True` or `False`, and we want to respect that whether it's a bundle or not.
2021-03-20 11:09:13 +01:00
kvid
da56841290
Assign the default cable length unit when not present (#206)
Bug: Failing to assign the default cable length unit when not present.
It was introduced in #198.

Fix: Test the correct cable attribute. This fix solves issue #205.
2020-12-29 13:31:55 +01:00
Daniel Rojas
606ddbf977
Detect and assign unit within cable length attribute (#198)
Co-authored-by: kvid <kvid@users.noreply.github.com>
2020-12-13 12:39:29 +01:00
William Sutton
dec64abaf5 Add support for wire length units
Based on #161, #162, #171.

Co-authored-by: stevegt <stevegt@t7a.org>
Co-authored-by: kvid <kvid@users.noreply.github.com>
2020-11-16 17:14:46 +01:00
Daniel Rojas
96bd121403 Create separate modules for BOM and HTML functions 2020-11-15 08:42:57 +01:00
Daniel Rojas
eebf932c8d Show pin labels of adjacent connectors in cable node (#70) 2020-11-14 23:21:08 +01:00
Daniel Rojas
3bf448c692 Update example 08 to reference wires using colors 2020-11-14 23:21:08 +01:00
Daniel Rojas
03e6077512 Allow referencing wires by color/label (#169,#193) 2020-11-14 23:21:08 +01:00
Daniel Rojas
feff47f47b
Add option to add colors to connector pins (#141) 2020-11-14 09:43:01 +01:00
KV
64bd34a7c6 Add type aliases that reflect their semantics
Using Any or str in type annotations might increase the need for extra
comments to explain the real valid values. However, such needs can be
drastically reduced with the help of semanticly named type aliases.

Each type alias have their legal values described in comments.
Actual validation might be implemented in the future.
2020-11-01 15:26:11 +01:00
KV
3f091bb419 Update the types of dataclass attributes according to usage
Fixes #156
2020-11-01 15:26:11 +01:00
Miklos Marton
e2e8bbfb91 Remove input text hyperlinks except in the HTML BOM
GraphViz does not support the a HTML tag when generating the tables for the
cables/connectors, so this change will remove these tags for the graph generation.
However for the HTML BOM output table these links will be generated.
2020-10-22 23:08:13 +02:00
Tyler Ward
e85ee5d285
Allow addittional BOM items within components (#115) 2020-10-22 17:53:33 +02:00
Daniel Rojas
4e4dac8597 Bump version to 0.3-dev 2020-10-17 11:53:11 +02:00
Daniel Rojas
55dfc283b3 Release v0.2 2020-10-17 11:50:35 +02:00
Daniel Rojas
b2d1a29cc2 Rebuild all examples with v0.2 2020-10-17 11:42:30 +02:00
Daniel Rojas
3e570d648f Bump version to 0.2 2020-10-17 11:41:27 +02:00
Daniel Rojas
6db1fcf0fe Improve documentation
- Create `docs/` directory
- Add syntax description (`syntax.md`)
- Track changes since first release (`CHANGELOG.md`)
- Expand contribution guidelines (`CONTRIBUTING.md`)
- Improve main readme (`README.md`)
- Add documentation for build script (`buildscript.md`)
2020-10-16 23:13:56 +02:00
KV
fb17eae7a6 Avoid errors from HTML validator
The https://validator.w3.org/ reported Errors:
The align attribute on the th/td element is obsolete. Use CSS instead.

By replacing align="X" attributes with text-align:X; CSS equivalent,
the validator now completes without any errors or warnings.

This solves the remaining issues from #97.
2020-10-16 22:02:15 +02:00
KV
7dcd1a7eeb Define application name and URL only once
The application name and URL was defined several places in the code,
and the name was not written exactly the same everywhere.

By using the same constants everywhere, consistency is obtained.
2020-10-16 22:02:15 +02:00
KV
b00040cdd9 Add version number to output files with meta info
Tag the .gv and .html output files with generator and version number.
2020-10-16 22:02:15 +02:00
KV
1809f73d58 Simplify colorbar using the same technique as html_image()
Moving common code into html_colorbar() helper function.
2020-10-14 22:37:20 +02:00
kvid
4782da47c9
Add optional image to connectors and cables (#153)
This image, with an optional caption below, is displayed in the lower 
section of the connector/cable node in the diagram - just above the 
notes if present.

This solves the basic part of issue #27, and is a continuation of 
PR #137 that was closed due to changes in the base branch.
2020-10-14 16:08:16 +02:00
KV
7df8a4b7cf Add command line options to show version number
Add -V command line option (and --version as an alias) to
both wireviz.py and build_examples.py that show version number.

Move the version number from setup.py into __init__.py to access
the same version number specification from all files needing it.

This solves part 4 of issue #167.
2020-10-11 13:37:34 +02:00
KV
c4957f1475 Comment out unimplemented command line option
It seems, that the current implementation ignores --generate-bom,
and that parser.add_argument() code line is therefore commented
out until it gets implemented to avoid any confusion.

This solves part 1 of issue #167.
2020-10-11 13:37:34 +02:00
KV
83a467a4aa Add diff as an alias to the compare command
When used to "git diff", it is easy to write "build_examples.py diff"
instead of "build_examples.py compare" by a mistake. Therefore,
"diff" is now an alias to "compare" so both commands will work.

This solves part 3 of issue #167.
2020-10-11 13:37:34 +02:00
KV
b14f5cba19 Add -b BRANCH argument to the compare and restore commands
Adding an optional -b BRANCH argument to build_examples.py to enable
comparing to and restoring from any branch or commit. That will help
when e.g. reversing an unfortunate commit of generated files.

This solves part 2 of issue #167.
2020-10-11 13:37:34 +02:00
Daniel Rojas
df90d8326a
Add .gitattributes for GitHub Linguist (#154) 2020-08-22 18:49:39 +02:00
Daniel Rojas
e3fb39f5ae Add whitespace to GraphViz HTML for readability 2020-08-13 17:21:42 +02:00
Daniel Rojas
94faec536e Rebuild GV HTML generation using lists
Simplify code

remove superfluous temporary variables `pinlist`, `wirerow`

Add suggested changes
2020-08-13 17:21:42 +02:00
Daniel Rojas
af196dfd8c Improve line break handling 2020-08-13 17:21:42 +02:00
Daniel Rojas
102c7d6113 Simplify code and rename variables
Improve code based on review

Suggestions by @kvid
2020-08-13 17:21:42 +02:00
Daniel Rojas
43f85aedb2 Add color attribute to cables 2020-08-13 17:21:42 +02:00
Daniel Rojas
2639c77360 Refactor cable GraphViz HTML generation
to match the one for connectors.
2020-08-13 17:21:42 +02:00
Daniel Rojas
79e751dca8 Remove obsolete code 2020-08-13 17:21:42 +02:00
Marc Brückner
19b82e9662 fix #149 introduced in #147 2020-08-12 18:06:06 +02:00
Marc Brückner
84edda64df
Extend unknown color error message (#147) 2020-08-10 20:13:13 +02:00
Daniel Rojas
4802705427 Improve handling of strings with '-' in wv_helper.expand()
Fixes #139
2020-08-10 17:04:23 +02:00
KV
9a3b8bce6e Add 25-pair comments and split lines according to coloring pattern
The coloring pattern is briefly explained. By splitting the source
code lines into 10 pairs per line, the pattern is more easily seen.
2020-08-10 16:51:17 +02:00
KV
113a7310e1 Replace 20 YW color codes with YE to avoid Unknown color specified
Fixes bug #144
2020-08-10 16:51:17 +02:00
Daniel Rojas
23c17e66bf Change wire padding behavior
Addresses #131
2020-07-27 22:40:59 +02:00
KV
99ca1859eb Fix change requests from owner as descibed in PR #118
- Add double quotes around path string in `os.system()` call and
  status output to handle any spaces in the path.
- Split the `generated_extensions` list into the two lists
  `extensions_not_containing_graphviz_output` and
  `extensions_containing_graphviz_output` for readability.
2020-07-27 20:14:14 +02:00
KV
21db0d509e Add CLI option -c that allows comparing Graphviz output also 2020-07-27 20:14:14 +02:00
KV
378e13b988 Move group loop into build_generated() for consistency
Now, all action functions are called with a group list as argument.
2020-07-27 20:14:14 +02:00
KV
94ca9cc358 Restructure the group dict initialization
By putting all value entries on separate lines with a trailing comma,
it becomes easier to read the diff when later inserting or deleting
the first or last value entry in any dict.
2020-07-27 20:14:14 +02:00
KV
476f85bcf5 Make all actions honor the optional argument -g or --group
This make it possible to append '-g' or '--groups' followed by
space separated group names to any CLI action command, and the
set of generated files affected by the command will be limited
to the selected groups ('examples', 'tutorial', and 'demos').
Default is all groups. A simple help text is added for each of
the arguments (action and groups) to improve the autogenerated
CLI help output.

This is a squash rebase of these commits:
- p ec29076 Make all actions honor the optional argument -generate
- s e3ad11a Move open_file_append() outside the if to avoid re-open
- s ba4b900 Avoid including readme in all file groups
- s 1ca8bd1 Simplify code
- s a9e7337 Rename some variables to better reflect their contents and relations
- s 58a54b2 Move test to include readme inside collect_filenames() function
- s f2a0db0 Improve status output by adding group name
- s d3b299b Rename -generate option to -g/--groups and add argument help
2020-07-27 20:14:14 +02:00
KV
4eedd94164 Add actions to compare against and restore from the latest commit
Add new actions:
- 'compare' action to compare generated files (except those
  generated by Graphviz) against the latest commit, and
- 'restore' action to restore generated files from the latest commit.

This is a squash rebase of these commits:
- p 9ad3e13 Reduce code duplication by moving common code into a generic function
- s d4feae6 Add action to restore generated files from git repository
- s 64f6507 Add action to compare generated files against git repository
- s 099c202 Simplify code
2020-07-27 20:14:14 +02:00
Daniel Rojas
3fa015cabd Refactor build_examples.py
- Use `pathlib.Path` instead of `os.path`
- Fix order of files while building
- Consolidate code for building demos, examples and tutorial
- Change argument from `tutorials` to `tutorial` to remain consistent
- Add some indentation in console output for better readability
2020-07-27 20:14:14 +02:00
KV
1815a13cd6 Make each shield wire uniform and allow cable.shield color
As the spline shield wires were rendered as tinned wires with
black borders, and the shield wires in cable nodes were rendered
as a single (bottom) border, they didn't fit well together.

Each shield wire is now rendered equally along the spline sections
and in cable nodes. If cable.shield is true, they are rendered as
thin black wires in the same way as before multi-colors were
introduced. The new feature is that cable.shield is allowed to
contain a two-letter color code to specify a colored shield wire
with black borders.

The shield wire thickness is not increased, even if the cable has
some multi-colored wires that makes all other wires to increase.

This fixes bug #125.
2020-07-27 20:11:47 +02:00
Tyler Ward
b9a4783b6f
Shorten BOM field names (#121)
- Shorten `part_number` to `pn`
- Shorten `manufacturer_part_number` to `mpn`
- Show `manufacturer` and `mpn` in a single cell of the node
- Replace `manufacturer` with `'MPN'`within the node if no manufacturer is specified.
- Rearrange order of P/N fields within node
  `{pn} | {manufacturer}: {mpn}`
2020-07-26 16:50:11 +02:00
Daniel Rojas
f2f654854a Update README.md
Denote that WireViz reads and writes files in UTF-8 (or UTF-8 compatible) encodings, to disclaim against non UTF-8 input files.
2020-07-21 22:29:38 +02:00
Daniel Rojas
a69fc76651 Rebuild examples 2020-07-21 22:08:25 +02:00
Daniel Rojas
2a963bfef6 Update example input files 2020-07-21 22:01:10 +02:00
Daniel Rojas
a1881eb49d Rename connector attributes (#77)
Rename `pinnumbers` to `pins`.
Rename `pinout` to `pinlabels`.
2020-07-21 22:01:10 +02:00
Daniel Rojas
6468c0e2a5 Change code for silver and gold
Change to SR and GD to match the [standard](https://en.wikipedia.org/wiki/Electronic_color_code#Color_band_system)
2020-07-21 21:34:48 +02:00
Daniel Rojas
a632dc6cb8 Fix HTML color code appearing in wire node
...when no color is specified.
2020-07-20 15:46:18 +02:00
Daniel Rojas
b028e7a22b
Fix node rendering for cables with hidden name and/or no visible attributes (#104)
Closes #69.
2020-07-20 14:24:39 +02:00
Jason
a418005c2e
Fix superscript 2 in HTML output (#95)
Change `<sup></sup>` to `&sup2;`
2020-07-20 13:19:04 +02:00
Daniel Rojas
a8b2dc3572 Add new colors (olive green, light blue, beige, ivory)
This might be useful for some more exotic [ferrule colors](https://de.wikipedia.org/wiki/Aderendh%C3%BClse#Farbliche_Markierung)
2020-07-20 13:02:16 +02:00
Daniel Rojas
8f833d9da5 Rebuild examples 2020-07-20 08:21:54 +02:00
Daniel Rojas
afbd11ccd4 Update example input files 2020-07-20 08:21:54 +02:00
Daniel Rojas
831b423c03 Eliminate ferrule category, unify connectors (#78) 2020-07-20 08:21:54 +02:00
Daniel Rojas
cae16bf440 Build examples in the correct order 2020-07-19 23:20:55 +02:00
Daniel Rojas
0da4441678 Rebuild examples 2020-07-19 19:05:35 +02:00
Daniel Rojas
601532b765 Update changelog 2020-07-19 19:03:07 +02:00
Daniel Rojas
8cba79334c Disable color padding for cables with no multicolor wires 2020-07-19 19:03:07 +02:00
Daniel Rojas
3732597ded Fine-tune multicolor wire PR
- Remove modified background color -> should be discusses as a separate feature
- Render shields as thin tinned wire with black border, safer for b&w priting than single light-gray line
- Remove PE as color definition, since it is not, and should be called with GNYE
- Clean up minor things
2020-07-19 19:03:07 +02:00
Andrew Katz
c94d3eed0e Add example outputs to GH Actions
Fixup github actions
2020-07-19 19:03:07 +02:00
Andrew Katz
063789948a Update .gitignore 2020-07-19 19:03:07 +02:00
Andrew Katz
ea948a247f Change colors as per #17 review 2020-07-19 19:03:07 +02:00
Andrew Katz
318b6c68cc Update readme and requirements 2020-07-19 19:03:07 +02:00
Andrew Katz
fecf27165f Fix unicode issue for windows (force an encoding) 2020-07-19 19:03:07 +02:00
Andrew Katz
b147aa0eb1 Finish adding multicolor support 2020-07-19 18:59:34 +02:00
Andrew Katz
07bb3f681a Add new color definitions 2020-07-19 18:59:34 +02:00
KV
1c0c13bb52 Add DOCTYPE declaration in HTML output 2020-07-18 13:18:31 +02:00
KV
b5ac632da9 Remove XML and DOCTYPE declarations from embedded SVG 2020-07-18 13:18:31 +02:00
Andrew Katz
861380ddd6 Update build_examples
build_examples supports cleaning examples and intelligently will detect new examples.

SUGGESTION: When merging into dev, require
```
build_examples.py clean
```

and then only build when merging into master branch
2020-07-16 19:46:39 +02:00
Jason
d1b48861ec Add initial contribution guidelines 2020-07-15 20:26:23 +02:00
Jason
8f6b8a7e84 Add initial contribution guidelines 2020-07-15 20:25:15 +02:00
Daniel Rojas
11baf0f507 Move part number info directly below designator
(to be consistent with the changes proposed in #11)
2020-07-15 20:06:31 +02:00
Daniel Rojas
6c7d700a1f Remove obsolete nesting function, fine-tune table generating behavior 2020-07-15 20:06:31 +02:00
Daniel Rojas
7e54c7aaef Refactor connector GraphViz code generation (#66) 2020-07-15 20:04:58 +02:00
Jason
12d3002af8
Add type hinting (#92) 2020-07-15 19:30:23 +02:00
KV
ba8b83f792 Make multi-line connector attributes centered for consistency 2020-07-15 19:16:24 +02:00
Jason
34cd9c2612
Match parse() return tuple order to input tuple order (#89)
Fixes #88.
2020-07-15 08:07:15 +02:00
Jason
c8dc697845
Add ability for parse() to return the Harness instance (#87) 2020-07-14 22:01:00 +02:00
Jason R. Jones
9de33b49bd Make file output more consistently behaved. 2020-07-13 19:58:23 +02:00
Tyler Ward
8b69e9a8a8
Add ability to include aditional BOM lines (#80) 2020-07-13 18:23:23 +02:00
Jason
3eed9681da
Remove unused parameter, fix default parameter (#76) 2020-07-12 08:21:28 +02:00
Daniel Rojas
0cef5e3687 Add changelog
in preparation for release of v0.2
2020-07-11 23:23:39 +02:00
Daniel Rojas
9e11051cac Simplify connector loop code 2020-07-11 11:53:29 +02:00
Daniel Rojas
cf6d3676c4 Ensure items in a connection set alternate between connectors and cables 2020-07-11 11:31:02 +02:00
Daniel Rojas
b988e9b063 Update example YAML files 2020-07-10 19:21:33 +02:00
Daniel Rojas
b4791900f2 Make connecting components together easier and more flexible
Closes #67.

- Allow defining arbitrarily long lists of alternating connectors and cables in a connection set.
- Start work towards removing 'ferrules' as special case, merging them with normal connectors
- Stramline auto-generation of simple, one pin connectors (ferrules, wire splices, ...)
2020-07-10 18:53:32 +02:00
Daniel Rojas
8f5b1aaf16 Allow using connector pin names to define connections
Pin names from pinout list can now be used in addition to pin numbers when defining connections, provided the identifier is unambiguous.
Closes #71.
2020-07-09 19:21:53 +02:00
Daniel Rojas
6a2924fa12 Check for duplicate pin numbers and raise an exception
Closes #72.
2020-07-09 18:10:38 +02:00
Daniel Rojas
e1e665583f Outsource nested HTML table creation to helper function 2020-07-05 20:36:02 +02:00
Daniel Rojas
0252476248 Fix bug in bundle wire BOM generation 2020-07-05 20:10:38 +02:00
Daniel Rojas
501303cbee Implement line break parsing for ferrules 2020-07-05 19:54:14 +02:00
Daniel Rojas
c2fa1d09e7 Merge changes to ferrule code generation 2020-07-05 19:46:20 +02:00
Daniel Rojas
981b585540 Fine-tune examples including ferrules 2020-07-05 19:07:59 +02:00
Daniel Rojas
54f114e592 Refactor ferrule GraphViz code generation
Cleaner code, better graphical output, more flexible (splices look as good as ferrules)
2020-07-05 19:07:59 +02:00
Daniel Rojas
46ed2418b4 Remove any newlines in fields for BOM generation 2020-07-05 18:06:57 +02:00
Daniel Rojas
d4ac4da651 Implement line break parsing for some fields
Implemented in `type`, `subtype`, `notes` fields
2020-07-05 17:41:18 +02:00
kvid
4e9933f01d
Simplify BOM code (#62)
* Remove bundle grouping as it is not needed for the wire grouping

Grouping the bundles has no purpose, as the same
wires can be collected by just looping all bundles.

* Allow one common value or list of values for each wire

Allow one common value when they are equal for all wires,
or a list of values to allow each wire a different value.

* Fix the minor issues commented by the owner

The owner review comments can be seen here:
https://github.com/formatc1702/WireViz/pull/62

* Make grouping code more pythonic
2020-07-05 16:52:10 +02:00
Daniel Rojas
de1e45f72b Fix bug in refactoring of #55, add SVG output option 2020-07-05 12:24:51 +02:00
Daniel Rojas
144c99e021 Refactor #55 2020-07-04 17:16:00 +02:00
Jason
ebf1e5a6f2
Add ability to export PNG data directly to other programs. (#55) 2020-07-04 17:03:04 +02:00
Greg Stein
8b067e5873
Update requirements.txt (#58)
Include graphviz and pyyaml in requirements.txt
(the graphviz/dot commands are needed at the OS level, but that can't be fixed here)

Co-authored-by: Daniel Rojas <github@danielrojas.net>
2020-07-04 16:52:15 +02:00
Daniel Rojas
b2387378c3 Make parts of BOM code more pythonic 2020-07-04 13:55:37 +02:00
Daniel Rojas
84c10e2c1a Clean up code 2020-07-04 13:55:37 +02:00
Daniel Rojas
407a9235b7 Simplify and fix bug in BOM generation 2020-07-04 13:55:37 +02:00
Daniel Rojas
4796c7cc97 Fix bug of non-bundle wires appearing in BOM 2020-07-02 19:45:28 +02:00
Daniel Rojas
21b3c9e59b Rebuild examples 2020-07-02 19:16:56 +02:00
Daniel Rojas
16929687d3 Fine-tune cable appearance
Add hack to make manufacturer / part number row have vertical separators, to be visually consistent with connectors.

In the future, connectors will have to be modified to be HTML tables instead of GraphViz record nodes, in order to support colored bands for the connector, or individual pins (#53). When this is implemented, a cleaner solution should be found for both connectors and cables.
2020-07-02 19:16:56 +02:00
Daniel Rojas
65a4d6bd07 Update example+tutorial input files
tut
2020-07-02 19:16:56 +02:00
Daniel Rojas
94731cdf81 Fix post-merge bugs 2020-07-02 18:56:17 +02:00
Daniel Rojas
5fbe3e6b7e Merge branch 'feature/part-number' into dev
# Conflicts:
#	src/wireviz/Harness.py
2020-07-02 08:26:58 +02:00
KV
77bf398176 Add cable type in a couple of examples 2020-07-02 07:44:17 +02:00
KV
6f91b65128 Support named type of cables (or wires in a bundle)
Add cable type to diagram and BOM entries.
2020-07-02 07:44:17 +02:00
KV
c9895bd282 Move the cable category filtering before BOM grouping
Simplify the grouping loop slightly, by moving the filtering out.

The category of bundle entries is allways the same and is therefore
not needed for grouping.

The BOM output is unchanged by this change. It is verified using:
      python build_examples.py
      git diff ../../{examples,tutorial}/*.tsv
2020-07-02 07:44:17 +02:00
KV
dd1372c31d Use lambdas for BOM grouping, and rename group variables
Avoid duplications of BOM entry grouping definitions by moving
each grouping into a single lambda function.

Use the 'group' term in the involved variable names for clarity.

The BOM output is unchanged by this change. It is verified using:
  python build_examples.py
  git diff ../../{examples,tutorial}/*.tsv
2020-07-02 07:44:17 +02:00
Tyler Ward
39ad070ca8 Added rendered output for new tutorial 2020-07-02 01:26:48 +01:00
Tyler Ward
4d2cb63350 Added part number tutorial 2020-07-02 01:20:26 +01:00
Tyler Ward
c200f66009 Merged in refactoring changes from upstream 2020-07-02 00:50:48 +01:00
Tyler Ward
9c5ea06ca2 Added spaces after MPN: and IPN: 2020-07-01 23:47:49 +01:00
Tyler Ward
f67235e326 Added diagram support for part numbers on ferrules 2020-07-01 23:45:35 +01:00
Tyler Ward
1ec9ca4f81 Improved part number support
Added internal part number and manufacturer fields
Added support for wire part numbers in a bundle
Moved part number information to seperate row in table
2020-07-01 23:17:20 +01:00
Daniel Rojas
fffb354d7c Merge branch 'dev' 2020-06-30 17:59:00 +02:00
Daniel Rojas
49322fc65f Fix demo 01 2020-06-30 17:58:44 +02:00
Daniel Rojas
b163b7a586 Update .gitignore to include venv/ directory 2020-06-30 14:10:32 +02:00
Daniel Rojas
23e22f5249 Reorder readme 2020-06-30 13:53:54 +02:00
Daniel Rojas
8b09facfce Merge branch 'dev' 2020-06-29 18:44:59 +02:00
Daniel Rojas
9d2c193533 Update example 08 to hide pincount on 3.5mm jack 2020-06-29 17:46:45 +02:00
Daniel Rojas
e047f06b6d Update readme to reflect changes from #41 2020-06-29 14:54:06 +02:00
Daniel Rojas
52a8af298d Rebuild example 02 after fixes from #41 2020-06-29 14:44:44 +02:00
Andreas Nordin
08e53bcd48
Feature: bidirectional AWG/mm2 unit conversion (#41)
* Fix AWG<-> mm2 conversions

Add an inverted dictionary and a lookup function from awg -> mm2. Also
do some minor refactoring. Both sides of the conversion table were
converted to strings, since '0000' and '2/0' are perfectly valid AWG
values.

* Update example ex02 with awg -> mm2 conversion

Show conversions for ex02, and make sure it displays conversions in both
directions. Rebuild the example files.

* Fix faulty conversion of non-(mm2,AWG) units

The parsing allows arbitrary units to be used for cable dimensions --
this might be valid units, e.g. square inches, or invalid, e.g. bananas.
We only allow conversion between mm2 and AWG, so check that the
gauge_unit is either of those before conversion. If not, pass through as
is.

* Fix AWG string casing in output

Convert e.g. 'awg, 'AwG' to upper case for consistent rendering. Leave
any other input gauge units as they were.

Co-authored-by: Daniel Rojas <github@danielrojas.net>
2020-06-29 14:41:45 +02:00
Daniel Rojas
c7014a2ea0 Fix URL in setup.py (fixes #42) 2020-06-29 14:22:32 +02:00
Daniel Rojas
7458118f4d Merge branch 'dev' 2020-06-29 12:37:24 +02:00
Daniel Rojas
c42b33b38d Address FIXMEs and fine-tune merge of #39 2020-06-29 12:35:40 +02:00
Gabe R
82b173f2ce Refactor and clean up code (#39)
* Format all files using autopep8 to add basic PEP8 conformity.
* Add Exception types to bare excepts to prevent catching `ctrl+c`
* Remove some unnecessary assignment to dummy variables before returning
* Add `Optional` to type hints that can be `NoneType`
* Change a number of single-letter variables to more descriptive names
* Replace string.format() use with Python's f-strings, as they tends to be cleaner, and provide a performance boost.
  * One multiline string was left as string.format() as I do not believe f-strings support multiline
  * Some of the string.format() instances had unused/ignored arguments. I left them out of the f-strings, but I marked those cases with a comments that begins `# FIXME:`
* Rename variables that were shadowding python standard functions (specifically `format->fmt`, `input->inp`, `type->maintype`)
  * Some instances of `type` were not changed, as it breaks the yaml parsing. Needs to be looked into.
* Move classes in `wireviz.py` to two new files `DataClasses.py` and `Harness.py`.

Co-authored-by: Daniel Rojas <github@danielrojas.net>
2020-06-29 11:57:03 +02:00
Tyler Ward
92b6b21895 Added ability to set part numbers 2020-06-28 22:11:05 +01:00
Daniel Rojas
8326ddd462 Merge branch 'dev' 2020-06-28 23:01:45 +02:00
Tyler Ward
a3728f52ce
Fix for Designators apearing across all colours of wires of a guage. (#37)
The wirelist for the bom now has individual designators added. this also 
alows for the removal of designator list merging later.
2020-06-28 22:58:24 +02:00
Daniel Rojas
0a42b350c8 Update readme 2020-06-28 15:24:03 +02:00
Daniel Rojas
4aac32b6bf Merge branch 'dev' 2020-06-28 15:00:40 +02:00
Florian Pigorsch
6cf7178a9f
[ci] Setup Github actions to run 'build_examples.py' as a test on each pull/pull request. (#34)
Co-authored-by: Florian Pigorsch <florian@concept.de>
2020-06-28 14:59:29 +02:00
Daniel Rojas
a7419c444e
Merge pull request #35 from flopp/typos
Fix some typos
2020-06-28 14:57:58 +02:00
Florian Pigorsch
eb65be39dc Fix some typos: budnle, conector, separetely 2020-06-28 14:55:09 +02:00
Daniel Rojas
69bc20a31e Remove TODO file, move to-do's to GitHub Projects 2020-06-28 13:16:38 +02:00
Daniel Rojas
37d5ebd5bc Merge branch 'dev' 2020-06-28 12:38:36 +02:00
Daniel Rojas
7060c38f07 Add parse_file() function and use it in build_examples.py 2020-06-28 12:28:13 +02:00
Daniel Rojas
5d84bb86eb Update gitignore 2020-06-28 11:43:31 +02:00
Daniel Rojas
154e28f257 Change gen_bom to generate_bom 2020-06-28 11:43:22 +02:00
Andreas Nordin
1f06c6017c refactor: rename 'input' -> 'yaml_data'
'input' overloads a python built-in name. Refactor to avoid this.
2020-06-28 10:52:08 +02:00
Andreas Nordin
f14a07fe95 feature: add --prepend-file option
- Allow prepending a separate YAML file for e.g. including common
  template definitions. This is accomodated by a new commandline option,
  --prepend-file, which takes a path to a YAML file. This is prepended
  to the regular input as-is.

- Refactor file loading to accomodate the above. This includes moving
  relevant parts to main() and instead supplying parse () with a string
  representation of the YAML data. Also add early file existance checks
  and bail out if any of the inputs are inaccessible or nonexistant.
2020-06-28 10:51:49 +02:00
Andreas Nordin
a1f511738e fix install notes
Explicitly mention the system graphviz dependency and clarify possible
need for separate python install on old ubuntus
2020-06-28 10:50:53 +02:00
Andreas Nordin
668667d4fe Fix typo 2020-06-28 10:50:12 +02:00
Andreas Nordin
cdb2cf2b91 update build_examples script 2020-06-28 10:49:47 +02:00
Andreas Nordin
60cd069754 add install instructions to readme 2020-06-28 10:48:14 +02:00
Andreas Nordin
9af391ff9d clean up imports, cmdline handling
Order imports properly. Fix path when running script directly from repo
rather than as an installed package. Refactor command line handling.
2020-06-28 10:47:15 +02:00
Andreas Nordin
5514fd4244 refactor dependencies and installation
There are hard copies of the graphviz and pyyaml dependencies included
in the repo. Remove these.

Sort out installation and dependency handling by writing a functional
setup.py script. Rename top level documentation. Refactor wireviz.py
slightly to allow it to run as an installed script.

# Conflicts:
#	src/batch.py
#	src/wireviz/batch.py
#	src/wireviz/build_examples.py
2020-06-28 10:46:24 +02:00
Daniel Rojas
dfb184c1a4 Move source from src/ to src/wireviz/
in preparation for merge of refactor brancb
2020-06-28 10:39:11 +02:00
Daniel Rojas
5c582cbe12 Merge branch 'dev' 2020-06-27 23:56:58 +02:00
Daniel Rojas
4661992151 Fine-tune wire BOM output if no gauge is specified 2020-06-27 23:54:55 +02:00
Daniel Rojas
790e9c93c4 Update demos and examples 2020-06-27 23:46:22 +02:00
Daniel Rojas
da80d4ba85 Auto-assign pincount = 1 for ferrules at initialization 2020-06-27 23:37:37 +02:00
Daniel Rojas
d0023c1d41 Make custom pin numbers and hidden unused pins work nicely together 2020-06-27 23:31:58 +02:00
Daniel Rojas
304152f6b6 Merge branch 'hide_unconnected' into dev
# Conflicts:
#	src/wireviz.py
2020-06-27 23:09:35 +02:00
Daniel Rojas
0c6326b740
Merge pull request #5 from elliotmr/master
Feature: hide pins that are not connected
2020-06-27 14:44:32 +02:00
Daniel Rojas
a5ca5be69d Merge branch 'dev' 2020-06-27 11:24:14 +02:00
Daniel Rojas
8bf296b186 Auto-generate pin numbers if only pincount is specified 2020-06-27 11:13:16 +02:00
Daniel Rojas
b4ddbaec35
Merge pull request #10 from kimmoli/custom-pinnumbers
Add optional custom pinnumbers to connector
2020-06-27 10:52:46 +02:00
Daniel Rojas
2cfd239cd3 Merge branch 'dev' 2020-06-27 10:31:02 +02:00
Daniel Rojas
ffcdba4da4
Merge pull request #1 from Supern00dle/master
Add bigger AWG Sizes
2020-06-27 10:27:33 +02:00
Kimmo Lindholm
955cf83cfb Add optional custom pinnumbers to connector 2020-06-24 23:41:48 +03:00
Morrison-Reed Elliot (BEG/EVS1-NA)
c3621498a7 implemented functionality to hide pins that are not connected 2020-06-24 11:47:08 -04:00
Manuel Scholz
2dfdbd577a
Update wv_helper.py
Added bigger AWG sizes
2020-06-23 11:49:53 +02:00
Daniel Rojas
66a47169e6 Merge branch 'dev' 2020-06-18 12:55:20 +02:00
Daniel Rojas
c1e6cf14d2 Update readme 2020-06-18 12:55:04 +02:00
Daniel Rojas
6406e28c95 Merge branch 'dev' 2020-06-15 22:41:37 +02:00
Daniel Rojas
644bcd79de Add usage info to readme 2020-06-15 22:41:11 +02:00
Daniel Rojas
aba14780b8 Merge branch 'dev' 2020-06-15 18:42:45 +02:00
Daniel Rojas
4384ca504d Fine-tune tutorial, add tutorial BOMs 2020-06-15 18:42:24 +02:00
Daniel Rojas
1c5713888c Update to-do and readme 2020-06-15 18:07:42 +02:00
Daniel Rojas
9aea158274 Fine-tune tutorials 2020-06-15 18:04:00 +02:00
Daniel Rojas
37f0f8b408 Add syntax highlighting to readme's 2020-06-15 18:00:13 +02:00
Daniel Rojas
07fa0e2ee2 Fine-tune tutorials 2020-06-15 17:54:44 +02:00
Daniel Rojas
f09a81c9b4 Add batch tutorial generation 2020-06-15 16:49:42 +02:00
Daniel Rojas
75990d853d Add tutorial source files and readme 2020-06-15 11:46:18 +02:00
Daniel Rojas
17a6e430f7 Add tutorial folder to batch script 2020-06-15 11:38:24 +02:00
Daniel Rojas
f8582876a1 Improve ferrule handling, BOM creation 2020-06-15 11:37:10 +02:00
Daniel Rojas
a7be096d71 Make wires white by default if no color is specified 2020-06-15 11:36:52 +02:00
Daniel Rojas
d14e017dec Merge branch 'dev' 2020-06-14 21:56:31 +02:00
Daniel Rojas
4fa700eb2d Include BOM in example gallery 2020-06-14 21:56:06 +02:00
Daniel Rojas
ccf4db5555 Update examples and readme
Tune demo 02
2020-06-14 21:56:06 +02:00
Daniel Rojas
a6cfa53fb9 Implement HTML output 2020-06-14 21:31:41 +02:00
Daniel Rojas
6785417c5a Implement sorting of BOM sections 2020-06-14 21:31:02 +02:00
Daniel Rojas
5a601f73d0 Move color stuff and helper functions into separate modules 2020-06-14 20:53:27 +02:00
Daniel Rojas
22cc494aca Remove unused code 2020-06-14 20:43:25 +02:00
Daniel Rojas
653937fc2e Improve BOM item names 2020-06-14 20:20:41 +02:00
Daniel Rojas
aeccc2ec69 Implement handling of wire bundles during BOM creation 2020-06-14 19:01:40 +02:00
Daniel Rojas
d5356260ca Change type: bundle to category: bundle 2020-06-14 17:52:22 +02:00
Daniel Rojas
d97d1e1f41 Restructure and simplify BOM creation 2020-06-14 17:46:21 +02:00
Daniel Rojas
93be0cba49 Change wire lengths on demo 02
for better cutlist functionality demo
2020-06-14 00:30:05 +02:00
Daniel Rojas
2eb6f1caff Implement proof-of-concept HTML output 2020-06-14 00:25:36 +02:00
Daniel Rojas
a5035456ea Fine-tune some details 2020-06-14 00:18:16 +02:00
Daniel Rojas
a43d7701f4 Change 'gender' to 'subtype' for more flexibility 2020-06-13 20:15:48 +02:00
Daniel Rojas
567e65f062 Update readme 2020-06-13 19:55:02 +02:00
Daniel Rojas
d2abf5f597 Make BOM output optional 2020-06-13 19:50:50 +02:00
Daniel Rojas
db313365ee Streamline BOM creation, implement cutlist 2020-06-13 19:10:45 +02:00
Daniel Rojas
a8b9fc03c7 Add shield parameter to BOM generation 2020-06-13 18:07:49 +02:00
Daniel Rojas
19f0a82544 Improve handling of mm² and AWG gauges 2020-06-13 17:57:20 +02:00
Daniel Rojas
3eaabc3b53 Rename nodes and wires to connectors and cables 2020-06-13 16:11:09 +02:00
Daniel Rojas
2687afcdd2 Rename num_wires to wirecount 2020-06-13 15:46:26 +02:00
Daniel Rojas
5bff36d4c4 Rename num_pins to pincount 2020-06-13 15:40:21 +02:00
Daniel Rojas
75e1c119d4 Add list of designators to BOM 2020-06-13 15:38:37 +02:00
Daniel Rojas
c0f72bcc16 Implement proof-of-concept BOM output 2020-06-13 14:11:47 +02:00
Daniel Rojas
5f55b650ba Fine tune line breaks 2020-06-13 11:47:08 +02:00
Daniel Rojas
e2042584da Add notes field for nodes and wires 2020-06-05 16:56:04 +02:00
Daniel Rojas
666de762dd Fix AWG display 2020-06-05 16:55:17 +02:00
Daniel Rojas
3c566b65c9 Remove obsolete functions 2020-06-04 21:34:07 +02:00
Daniel Rojas
6ee3b3ccc6 Update sample code in readme 2020-06-04 21:32:35 +02:00
Daniel Rojas
4eb313c7b4 Merge branch 'dev' 2020-06-04 21:29:52 +02:00
Daniel Rojas
fdf5694534 Update examples and to-do list 2020-06-04 21:29:40 +02:00
Daniel Rojas
88967a381c Make PNG background white by default 2020-06-03 22:05:26 +02:00
Daniel Rojas
14c4c96ebd Fine tune ferrule rendering 2020-06-03 22:04:59 +02:00
Daniel Rojas
7ee78b7ae7 Implement cable nodes as HTML tables for better visualization 2020-06-03 22:04:34 +02:00
Daniel Rojas
da0d0c84b6 Improve handling and customize rendering of ferrules 2020-05-30 20:54:38 +02:00
Daniel Rojas
7151346e38 Add daisy chain examples 2020-05-30 14:19:25 +02:00
Daniel Rojas
e7c95e4aa9 Remove idea directory 2020-05-30 12:13:02 +02:00
Daniel Rojas
4cceac05a9 Merge branch 'dev' 2020-05-30 12:07:16 +02:00
Daniel Rojas
d86ec0ad68 Auto-generate example gallery 2020-05-30 12:05:56 +02:00
Daniel Rojas
8aeabd03c3 Update and automate examples and demos 2020-05-30 11:25:36 +02:00
Daniel Rojas
d99952c4d3 Merge yaml2wireviz into wireviz module 2020-05-30 09:14:48 +02:00
Daniel Rojas
50e3441eaa Add command line argument parsing (input/output file) 2020-05-30 09:00:25 +02:00
231 changed files with 30449 additions and 8343 deletions

10
.gitattributes vendored Normal file
View File

@ -0,0 +1,10 @@
docs/* linguist-documentation
examples/* linguist-documentation
tutorial/* linguist-documentation
**/*.bom.tsv linguist-generated
**/*.bom.csv linguist-generated
**/*.gv linguist-generated
**/*.html linguist-generated
**/*.png linguist-generated
**/*.svg linguist-generated

43
.github/workflows/main.yml vendored Normal file
View File

@ -0,0 +1,43 @@
name: Create Examples
on: [push, pull_request, workflow_dispatch]
jobs:
build:
strategy:
max-parallel: 6
matrix:
# ubuntu-22.04 supports Python 3.7-3.12
# ubuntu-24.04 (currently latest & preferred) supports Python 3.9-3.12
# More details: https://github.com/actions/runner-images/issues/10636
os: [ubuntu-latest]
python-version: ["3.9", "3.10", "3.11", "3.12"]
include:
- os: ubuntu-22.04
python-version: "3.7"
- os: ubuntu-22.04
python-version: "3.8"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Setup Graphviz
uses: ts-graphviz/setup-graphviz@v2
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install .
- name: Create Examples
run: PYTHONPATH=$(pwd)/src/wireviz:$PYTHONPATH cd src/wireviz/ && python build_examples.py
- name: Upload examples, demos, and tutorials
uses: actions/upload-artifact@v4
with:
name: examples-and-tutorials-v${{ matrix.python-version }}
path: |
examples/
tutorial/
if-no-files-found: error

13
.gitignore vendored
View File

@ -1,2 +1,15 @@
.DS_Store .DS_Store
.idea/
.eggs
__pycache__
.*.swp
*.egg-info
*.pyc
build
data
dist
venv/
.venv/
desktop.ini
thumbs.db
temp/ temp/

137
docs/CHANGELOG.md Normal file
View File

@ -0,0 +1,137 @@
# Change Log
## [0.4.1] (2024-07-13)
### Improvements to help reported issues
- Print Python & OS versions when raising unexpected OSError related to #346 & #392 (bugfixes below)
- Explain unexpeced top-level type ([#342](https://github.com/wireviz/WireViz/issues/342), [#383](https://github.com/wireviz/WireViz/pull/383))
- Add non-empty label to reduce over-sized loops ([#286](https://github.com/wireviz/WireViz/issues/286), [#381](https://github.com/wireviz/WireViz/pull/381))
- Improve placeholder name consistency ([#377](https://github.com/wireviz/WireViz/issues/377), [#380](https://github.com/wireviz/WireViz/pull/380))
- Add work-around for Graphviz SVG bug ([#175](https://github.com/wireviz/WireViz/issues/175), [#371](https://github.com/wireviz/WireViz/pull/371))
### Bugfixes
- Avoid ResourceWarning: unclosed file ([#309 (comment)](https://github.com/wireviz/WireViz/pull/309#issuecomment-2170988381), [#395](https://github.com/wireviz/WireViz/pull/395))
- Catch ValueError and OSError(errno=None) ([#318 (review)](https://github.com/wireviz/WireViz/pull/318#pullrequestreview-1457016602), [#391](https://github.com/wireviz/WireViz/issues/391), [#392](https://github.com/wireviz/WireViz/pull/392))
- Add minor missing doc entry ([#186 (comment)](https://github.com/wireviz/WireViz/pull/186#issuecomment-2139037434), [#186 (comment)](https://github.com/wireviz/WireViz/pull/186#issuecomment-2155032522))
- Avoid Graphviz error when hiding all pins ([#257](https://github.com/wireviz/WireViz/issues/257), [#375](https://github.com/wireviz/WireViz/pull/375))
- Avoid decimal point and trailing zero for integer BOM quantities ([#340](https://github.com/wireviz/WireViz/issues/340), [#374](https://github.com/wireviz/WireViz/pull/374))
- Update project URL references ([#316 (comment)](https://github.com/wireviz/WireViz/issues/316#issuecomment-1568748914), [#364](https://github.com/wireviz/WireViz/pull/364))
- Add missing import of embed_svg_images ([#363](https://github.com/wireviz/WireViz/pull/363))
- Use correct default title ([#360](https://github.com/wireviz/WireViz/issues/360), [#361](https://github.com/wireviz/WireViz/pull/361))
- Fix bugs in mate processing ([#355](https://github.com/wireviz/WireViz/issues/355), [#358](https://github.com/wireviz/WireViz/pull/358))
- Include missing files in published package ([#345](https://github.com/wireviz/WireViz/issues/345), [#347](https://github.com/wireviz/WireViz/pull/347))
- Catch OSError(errno=EINVAL) ([#344](https://github.com/wireviz/WireViz/issues/344), [#346](https://github.com/wireviz/WireViz/pull/346))
## [0.4](https://github.com/wireviz/WireViz/tree/v0.4) (2024-05-12)
### Backward-incompatible changes
- New syntax for autogenerated components ([#184](https://github.com/wireviz/WireViz/issues/184), [#186](https://github.com/wireviz/WireViz/pull/186))
- Components that are not referenced in any connection set will not be rendered. Instead, a warning will be output in the console. ([#328](https://github.com/wireviz/WireViz/issues/328), [#332](https://github.com/wireviz/WireViz/pull/332))
- New command line interface ([#244](https://github.com/wireviz/WireViz/pull/244)). Run `wireviz --help` for details
- The path specified with the `-o`/`--output-dir` option no longer includes the filename (without extension) of the generated files. Use the `-O`/`--output-name` option to specify a different filename for the generated files.
- The `.gv` file is no longer included as a default output format (only as an intermediate file during processing) unless specified with the new `-f` option described below.
### New features
- Allow mates between connectors ([#134](https://github.com/wireviz/WireViz/issues/134), [#186](https://github.com/wireviz/WireViz/pull/186))
- Improve technical drawing output ([#74](https://github.com/wireviz/WireViz/pull/74), [#32](https://github.com/wireviz/WireViz/issues/32), [#239](https://github.com/wireviz/WireViz/pull/239))
- Embed images in SVG output ([#189](https://github.com/wireviz/WireViz/pull/189))
- Add ability to choose output formats using the `-f`/`--format` command line option ([#60](https://github.com/wireviz/WireViz/issues/60))
- Add option to multiply additional component quantity by number of unpopulated positions on connector ([#298](https://github.com/wireviz/WireViz/pull/298))
### Misc. fixes
- Use `isort` and `black` for cleaner code and easier merging ([#248](https://github.com/wireviz/WireViz/pull/248))
- Code improvements ([#246](https://github.com/wireviz/WireViz/pull/246), [#250](https://github.com/wireviz/WireViz/pull/250))
- Bug fixes ([#264](https://github.com/wireviz/WireViz/pull/264), [#318](https://github.com/wireviz/WireViz/pull/318))
- Minor adjustments ([#256](https://github.com/wireviz/WireViz/pull/256))
## [0.3.2](https://github.com/wireviz/WireViz/tree/v0.3.2) (2021-11-27)
### Hotfix
- Adjust GraphViz generation code for compatibility with v0.18 of the `graphviz` Python package ([#258](https://github.com/wireviz/WireViz/issues/258), [#261](https://github.com/wireviz/WireViz/pull/261))
## [0.3.1](https://github.com/wireviz/WireViz/tree/v0.3.1) (2021-10-25)
### Hotfix
- Assign generic harness title when using WireViz as a module and not specifying an output file name ([#253](https://github.com/wireviz/WireViz/issues/253), [#254](https://github.com/wireviz/WireViz/pull/254))
## [0.3](https://github.com/wireviz/WireViz/tree/v0.3) (2021-10-11)
### New features
- Allow referencing a cable's/bundle's wires by color or by label ([#70](https://github.com/wireviz/WireViz/issues/70), [#169](https://github.com/wireviz/WireViz/issues/169), [#193](https://github.com/wireviz/WireViz/issues/193), [#194](https://github.com/wireviz/WireViz/pull/194))
- Allow additional BOM items within components ([#50](https://github.com/wireviz/WireViz/issues/50), [#115](https://github.com/wireviz/WireViz/pull/115))
- Add support for length units in cables and wires ([#7](https://github.com/wireviz/WireViz/issues/7), [#196](https://github.com/wireviz/WireViz/pull/196) (with work from [#161](https://github.com/wireviz/WireViz/pull/161), [#162](https://github.com/wireviz/WireViz/pull/162), [#171](https://github.com/wireviz/WireViz/pull/171)), [#198](https://github.com/wireviz/WireViz/pull/198), [#205](https://github.com/wireviz/WireViz/issues/205). [#206](https://github.com/wireviz/WireViz/pull/206))
- Add option to define connector pin colors ([#53](https://github.com/wireviz/WireViz/issues/53), [#141](https://github.com/wireviz/WireViz/pull/141))
- Remove HTML links from the input attributes ([#164](https://github.com/wireviz/WireViz/pull/164))
- Add harness metadata section ([#158](https://github.com/wireviz/WireViz/issues/158), [#214](https://github.com/wireviz/WireViz/pull/214))
- Add support for supplier and supplier part number information ([#240](https://github.com/wireviz/WireViz/issues/240), [#241](https://github.com/wireviz/WireViz/pull/241/))
- Add graph rendering options (background colors, fontname, color name display style, ...) ([#158](https://github.com/wireviz/WireViz/issues/158), [#214](https://github.com/wireviz/WireViz/pull/214))
- Add support for background colors for cables and connectors, as well as for some individual cells ([#210](https://github.com/wireviz/WireViz/issues/210), [#219](https://github.com/wireviz/WireViz/pull/219))
- Add optional tweaking of the .gv output ([#215](https://github.com/wireviz/WireViz/pull/215)) (experimental)
### Misc. fixes
- Remove case-sensitivity issues with pin names and labels ([#160](https://github.com/wireviz/WireViz/issues/160), [#229](https://github.com/wireviz/WireViz/pull/229))
- Improve type hinting ([#156](https://github.com/wireviz/WireViz/issues/156), [#163](https://github.com/wireviz/WireViz/pull/163))
- Move BOM management and HTML functions to separate modules ([#151](https://github.com/wireviz/WireViz/issues/151), [#192](https://github.com/wireviz/WireViz/pull/192))
- Simplify BOM code ([#197](https://github.com/wireviz/WireViz/pull/197))
- Bug fixes ([#218](https://github.com/wireviz/WireViz/pull/218), [#221](https://github.com/wireviz/WireViz/pull/221))
### Known issues
- Including images in the harness may lead to issues in the following cases: ([#189](https://github.com/wireviz/WireViz/pull/189), [#220](https://github.com/wireviz/WireViz/issues/220))
- When using the `-o`/`--output_file` CLI option, specifying an output path in a different directory from the input file
- When using the `--prepend-file` CLI option, specifying a prepend file in a different directory from the mail input file
## [0.2](https://github.com/wireviz/WireViz/tree/v0.2) (2020-10-17)
### Backward incompatible changes
- Change names of connector attributes ([#77](https://github.com/wireviz/WireViz/issues/77), [#105](https://github.com/wireviz/WireViz/pull/105))
- `pinnumbers` is now `pins`
- `pinout` is now `pinlabels`
- Remove ferrules as a separate connector type ([#78](https://github.com/wireviz/WireViz/issues/78), [#102](https://github.com/wireviz/WireViz/pull/102))
- Simple connectors like ferrules are now defined using the `style: simple` attribute
- Change the way loops are defined ([#79](https://github.com/wireviz/WireViz/issues/79), [#75](https://github.com/wireviz/WireViz/pull/75))
- Wires looping between two pins of the same connector are now handled via the connector's `loops` attribute.
See the [syntax description](syntax.md) for details.
### New features
- Add bidirectional AWG/mm2 conversion ([#40](https://github.com/wireviz/WireViz/issues/40), [#41](https://github.com/wireviz/WireViz/pull/41))
- Add support for part numbers ([#11](https://github.com/wireviz/WireViz/pull/11), [#114](https://github.com/wireviz/WireViz/issues/114), [#121](https://github.com/wireviz/WireViz/pull/121))
- Add support for multicolored wires ([#12](https://github.com/wireviz/WireViz/issues/12), [#17](https://github.com/wireviz/WireViz/pull/17), [#96](https://github.com/wireviz/WireViz/pull/96), [#131](https://github.com/wireviz/WireViz/issues/131), [#132](https://github.com/wireviz/WireViz/pull/132))
- Add support for images ([#27](https://github.com/wireviz/WireViz/issues/27), [#153](https://github.com/wireviz/WireViz/pull/153))
- Add ability to export data directly to other programs ([#55](https://github.com/wireviz/WireViz/pull/55))
- Add support for line breaks in various fields ([#49](https://github.com/wireviz/WireViz/issues/49), [#64](https://github.com/wireviz/WireViz/pull/64))
- Allow using connector pin names to define connections ([#72](https://github.com/wireviz/WireViz/issues/72), [#139](https://github.com/wireviz/WireViz/issues/139), [#140](https://github.com/wireviz/WireViz/pull/140))
- Make defining connection sets easier and more flexible ([#67](https://github.com/wireviz/WireViz/issues/67), [#75](https://github.com/wireviz/WireViz/pull/75))
- Add new command line options ([#167](https://github.com/wireviz/WireViz/issues/167), [#173](https://github.com/wireviz/WireViz/pull/173))
- Add new features to `build_examples.py` ([#118](https://github.com/wireviz/WireViz/pull/118))
- Add new colors ([#103](https://github.com/wireviz/WireViz/pull/103), [#113](https://github.com/wireviz/WireViz/pull/113), [#144](https://github.com/wireviz/WireViz/issues/144), [#145](https://github.com/wireviz/WireViz/pull/145))
- Improve documentation ([#107](https://github.com/wireviz/WireViz/issues/107), [#111](https://github.com/wireviz/WireViz/pull/111))
### Misc. fixes
- Improve BOM generation
- Add various input sanity checks
- Improve HTML output ([#66](https://github.com/wireviz/WireViz/issues/66), [#136](https://github.com/wireviz/WireViz/pull/136), [#95](https://github.com/wireviz/WireViz/pull/95), [#177](https://github.com/wireviz/WireViz/pull/177))
- Fix node rendering bug ([#69](https://github.com/wireviz/WireViz/issues/69), [#104](https://github.com/wireviz/WireViz/pull/104))
- Improve shield rendering ([#125](https://github.com/wireviz/WireViz/issues/125), [#126](https://github.com/wireviz/WireViz/pull/126))
- Add GitHub Linguist overrides ([#146](https://github.com/wireviz/WireViz/issues/146), [#154](https://github.com/wireviz/WireViz/pull/154))
## [0.1](https://github.com/wireviz/WireViz/tree/v0.1) (2020-06-29)
- Initial release

45
docs/CONTRIBUTING.md Normal file
View File

@ -0,0 +1,45 @@
# Contribution Guidelines
When contributing to this repository, please [submit a new issue](https://github.com/wireviz/WireViz/issues) first to discuss the proposed change, before submitting a pull request.
## Submitting a new Issue
- First, search existing (open and closed) issues for any related issues.
- You might then find an existing answer or suggested solution to your issue, possibly also an existing PR you can test.
- When finding existing issues that seem related to your issue, please include references (# followed by issue number) to related issues in your new issue description, or if a very similar issue is still open, consider adding a comment in that issue instead of creating a new one.
- When appropriate, please prefix your issue title with one of these category prefixes followed by a space:
- **[bug]** When the issue seems to be caused by a bug.
- **[feature]** When requesting a feature change or new feature.
- **[internal]** When suggesting code improvements that doesn't change any output.
- **[doc]** For documentation issues.
- **[meta]** For issues about the development or contribution process.
- Please include enough information in the description to enable another user to reproduce any error state described in your issue:
- The versions of your WireViz, Graphviz (`dot -V`), Python (`python -V`), and operating system.
- The relevant input files unless (preferably) you can demonstrate the same issue using one of the example files. If your input file is large or complex, please try to find a smaller/simplified input that still can reproduce the same issue.
- Any warnings or error messages you get.
- See also [How We Write Github Issues](https://wiredcraft.com/blog/how-we-write-our-github-issues/) in general.
## Submitting a new Pull Request
1. Fork this repository and clone it on your local machine.
1. Create a new feature branch on top of the `dev` branch.
1. Commit your code changes to this feature branch.
1. Push the changes to your fork.
1. Please format your code using [`isort`](https://pycqa.github.io/isort/) and [`black`](https://black.readthedocs.io) before submitting.
1. Submit a new pull request, using `dev` as the base branch.
- If your code changes or extends the WireViz YAML syntax, be sure to update the [syntax description document](https://github.com/wireviz/WireViz/blob/dev/docs/syntax.md) in your PR.
1. Please include in the PR description (and optionally also in the commit message body) a reference (# followed by issue number) to the issue where the suggested changes are discussed.
### Hints
- Make sure to [write good commit messages](https://chris.beams.io/posts/git-commit/).
- Always consider `git rebase` before `git merge` when joining commits from different branches, to keep the commit history simple and easier to read.
- If the `dev` branch has advanced since your fork, consider rebasing onto the current state to avoid merge conflicts.
- Avoid committing changes to generated files in PRs (examples, tutorials, etc.) to reduce merging conflicts. The owner will rebuild them.
- For complex PRs, consider [interactively rebasing](https://thoughtbot.com/blog/git-interactive-rebase-squash-amend-rewriting-history) your contribution to remove intermediate commits and clean up the commit history.
- Feel free to submit a [draft PR](https://github.blog/2019-02-14-introducing-draft-pull-requests/) for your work-in-progress. This lets other contributors comment on and review your code, while clearly marking it as not ready for merging.
## Documentation Strings
Documentation strings are to follow the Google Style ([examples](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html)).

168
docs/README.md Normal file
View File

@ -0,0 +1,168 @@
# WireViz
[![PyPI - Version](https://img.shields.io/pypi/v/wireviz.svg?colorB=blue)](https://pypi.org/project/wireviz/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/wireviz.svg?)](https://pypi.org/project/wireviz/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/wireviz)](https://pypi.org/project/wireviz/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
## Summary
WireViz is a tool for easily documenting cables, wiring harnesses and connector pinouts. It takes plain text, YAML-formatted files as input and produces beautiful graphical output (SVG, PNG, ...) thanks to [GraphViz](https://www.graphviz.org/). It handles automatic BOM (Bill of Materials) creation and has a lot of extra features.
## Features
* WireViz input files are fully text based
* No special editor required
* Human readable
* Easy version control
* YAML syntax
* UTF-8 input and output files for special character support
* Understands and uses color abbreviations as per [IEC 60757](https://en.wikipedia.org/wiki/Electronic_color_code#Color_band_system) (black=BK, red=RD, ...)
<!-- * Optionally outputs colors as abbreviation (e.g. 'YE'), full name (e.g. 'yellow') or hex value (e.g. '#ffff00'), with choice of UPPER or lower case (#158) -->
* Auto-generates standard wire color schemes and allows custom ones if needed
* [DIN 47100](https://en.wikipedia.org/wiki/DIN_47100) (WT/BN/GN/YE/GY/PK/BU/RD/BK/VT/...)
* [IEC 60757](https://en.wikipedia.org/wiki/Electronic_color_code#Color_band_system) (BN/RD/OR/YE/GN/BU/VT/GY/WT/BK/...)
* [25 Pair Color Code](https://en.wikipedia.org/wiki/25-pair_color_code#Color_coding) (BUWH/WHBU/OGWH/WHOG/GNWH/WHGN/BNWH/...)
* [TIA/EIA 568 A/B](https://en.wikipedia.org/wiki/TIA/EIA-568#Wiring) (Subset of 25-Pair, used in CAT-5/6/...)
* Understands wire gauge in mm² or AWG
* Optionally auto-calculates equivalent gauge between mm² and AWG
* Is suitable for both very simple cables, and more complex harnesses.
* Allows for easy-autorouting for 1-to-1 wiring
* Generates BOM (Bill of Materials)
_Note_: WireViz is not designed to represent the complete wiring of a system. Its main aim is to document the construction of individual wires and harnesses.
## Examples
### Demo 01
[WireViz input file](../examples/demo01.yml):
```yaml
connectors:
X1:
type: D-Sub
subtype: female
pinlabels: [DCD, RX, TX, DTR, GND, DSR, RTS, CTS, RI]
X2:
type: Molex KK 254
subtype: female
pinlabels: [GND, RX, TX]
cables:
W1:
gauge: 0.25 mm2
length: 0.2
color_code: DIN
wirecount: 3
shield: true
connections:
-
- X1: [5,2,3]
- W1: [1,2,3]
- X2: [1,3,2]
-
- X1: 5
- W1: s
```
Output file:
![Sample output diagram](../examples/demo01.png)
[Bill of Materials](../examples/demo01.bom.tsv) (auto-generated)
### Demo 02
![](../examples/demo02.png)
[Source](../examples/demo02.yml) - [Bill of Materials](../examples/demo02.bom.tsv)
### Syntax, tutorial and example gallery
Read the [syntax description](syntax.md) to learn about WireViz' features and how to use them.
See the [tutorial page](../tutorial/readme.md) for sample code, as well as the [example gallery](../examples/readme.md) to see more of what WireViz can do.
## Usage
### Installation
#### Requirements
WireViz requires Python 3.7 or later.
WireWiz requires GraphViz to be installed in order to work. See the [GraphViz download page](https://graphviz.org/download/) for OS-specific instructions.
_Note_: Ubuntu 18.04 LTS users in particular may need to separately install Python 3.7 or above, as that comes with Python 3.6 as the included system Python install.
#### Installing the latest release
The latest WireViz release can be downloaded from [PyPI](https://pypi.org/project/wireviz/) with the following command:
```
pip3 install wireviz
```
#### Installing the development version
Access to the current state of the development branch can be gained by cloning the repo and installing manually:
```
git clone <repo url>
cd <working copy>
git checkout dev
pip3 install -e .
```
If you would like to contribute to this project, make sure you read the [contribution guidelines](CONTRIBUTING.md)!
### How to run
```
$ wireviz ~/path/to/file/mywire.yml
```
Depending on the options specified, this will output some or all of the following files:
```
mywire.gv GraphViz output
mywire.svg Wiring diagram as vector image
mywire.png Wiring diagram as raster image
mywire.bom.tsv BOM (bill of materials) as tab-separated text file
mywire.html HTML page with wiring diagram and BOM embedded
```
Wildcards in the file path are also supported to process multiple files at once, e.g.:
```
$ wireviz ~/path/to/files/*.yml
```
To see how to specify the output formats, as well as additional options, run:
```
$ wireviz --help
```
### (Re-)Building the example projects
Please see the [documentation](buildscript.md) of the `build_examples.py` script for info on building the demos, examples and tutorial.
## Changelog
See [CHANGELOG.md](CHANGELOG.md)
## Status
This is very much a work in progress. Source code, API, syntax and functionality may change wildly at any time.
## License
[GPL-3.0](../LICENSE)

View File

@ -0,0 +1,61 @@
# Advanced Image Usage
In rare cases when the [ordinary image scaling functionality](syntax.md#images) is insufficient, a couple of extra optional image attributes can be set to offer extra image cell space and scaling functionality when combined with the image dimension attributes `width` and `height`, but in most cases their default values below are sufficient:
- `scale: <str>` (how an image will use the available cell space) is default `false` if no dimension is set, or `true` if only one dimension is set, or `both` if both dimensions are set.
- `fixedsize: <bool>` (scale to fixed size or expand to minimum size) is default `false` when no dimension is set or if a `scale` value is set, and `true` otherwise.
- When `fixedsize` is true and only one dimension is set, then the other dimension is calculated using the image aspect ratio. If reading the aspect ratio fails, then 1:1 ratio is assumed.
See explanations of all supported values for these attributes in subsections below.
## The effect of `fixedsize` boolean values
- When `false`, any `width` or `height` values are _minimum_ values used to expand the image cell size for more available space, but cell contents or other size demands in the table might expand this cell even more than specified by `width` or `height`.
- When `true`, both `width` and `height` values are required by Graphwiz and specify the fixed size of the image cell, distorting any image inside if it don't fit. Any borders are normally drawn around the fixed size, and therefore, WireViz enclose the image cell in an extra table without borders when `fixedsize` is true to keep the borders around the outer non-fixed cell.
## The effect of `scale` string values:
- When `false`, the image is not scaled.
- When `true`, the image is scaled proportionally to fit within the available image cell space.
- When `width`, the image width is expanded (height is normally unchanged) to fill the available image cell space width.
- When `height`, the image height is expanded (width is normally unchanged) to fill the available image cell space height.
- When `both`, both image width and height are expanded independently to fill the available image cell space.
In all cases (except `true`) the image might get distorted when a specified fixed image cell size limits the available space to less than what an unscaled image needs.
In the WireViz diagrams there are no other space demanding cells in the same row, and hence, there are never extra available image cell space height unless a greater image cell `height` also is set.
## Usage examples
All examples of `image` attribute combinations below also require the mandatory `src` attribute to be set.
- Expand the image proportionally to fit within a minimum height and the node width:
```yaml
height: 100 # Expand image cell to this minimum height
fixedsize: false # Avoid scaling to a fixed size
# scale default value is true in this case
```
- Increase the space around the image by expanding the image cell space (width and/or height) to a larger value without scaling the image:
```yaml
width: 200 # Expand image cell to this minimum width
height: 100 # Expand image cell to this minimum height
scale: false # Avoid scaling the image
# fixedsize default value is false in this case
```
- Stretch the image width to fill the available space in the node:
```yaml
scale: width # Expand image width to fill the available image cell space
# fixedsize default value is false in this case
```
- Stretch the image height to a minimum value:
```yaml
height: 100 # Expand image cell to this minimum height
scale: height # Expand image height to fill the available image cell space
# fixedsize default value is false in this case
```
## How Graphviz support this image scaling
The connector and cable nodes are rendered using a HTML `<table>` containing an image cell `<td>` with `width`, `height`, and `fixedsize` attributes containing an image `<img>` with `src` and `scale` attributes. See also the [Graphviz doc](https://graphviz.org/doc/info/shapes.html#html), but note that WireViz uses default values as described above.

36
docs/buildscript.md Normal file
View File

@ -0,0 +1,36 @@
# (Re-)Building the example projects
<!--
The following text is taken from #118
https://github.com/wireviz/WireViz/pull/118
TODO: write a better explaination -->
## Commands
- `python build_examples.py` to build generated files in all groups.
- `python build_examples.py compare` to compare generated files in all groups against the last commit.
- `python build_examples.py clean` to delete generated files in all groups.
- `python build_examples.py restore` to restore generated files in all groups from the last commit.
- `python build_examples.py -V` or `--version` to display the WireViz version.
- `python build_examples.py -h` or `--help` to see a summary of the usage help text.
## Options
- Append `-b` or `--branch` followed by a specified branch or commit to compare with or restore from (default: The last commit in the current branch).
- Append `-c` or `--compare-graphviz-output` to the `compare` command above to also compare the Graphviz output (default: False).
- Append `-g` or `--groups` followed by space separated group names to any command above, and the set of generated files affected by the command will be limited to the selected groups.
Possible group names:
- `examples` to process `examples/{readme.md,ex*.*}`
- `tutorial` to process`tutorial/{readme.md,tutorial*.*}`
- `demos` to process`examples/demo*.*`
Affected filetypes: `.gv`, `.bom.tsv`, `.png`, `.svg`, `.html`
## Usage hints
- Run `python build_examples.py` after any code changes to verify that it still is possible to process YAML-input from all groups without errors.
- Run `python build_examples.py compare` after the rebuilding above to verify that the output differences are as expected after a code change.
- Run `python build_examples.py restore` before adding and committing to avoid including changes to generated files after the rebuilding above.

581
docs/syntax.md Normal file
View File

@ -0,0 +1,581 @@
# WireViz Syntax
## Main sections
```yaml
connectors: # dictionary of all used connectors
<str> : # unique connector designator/name
... # connector attributes (see below)
<str> :
...
...
cables: # dictionary of all used cables and wires
<str> : # unique cable designator/name
... # cable attributes (see below)
<str> :
...
...
connections: # list of all connections to be made
# between cables and connectors
-
... # connection set (see below)
-
...
...
additional_bom_items: # custom items to add to BOM
- <bom-item> # BOM item (see below)
...
metadata: # dictionary of meta-information describing the harness
<key> : <value> # any number of key value pairs (see below)
...
options: # dictionary of common attributes for the whole harness
<str> : <value> # optional harness attributes (see below)
...
tweak: # optional tweaking of .gv output
...
```
## Connector attributes
```yaml
<str> : # unique connector designator/name
# general information about a connector (all optional)
type: <str>
subtype: <str>
color: <color> # see below
image: <image> # see below
notes: <str>
# product information (all optional)
ignore_in_bom: <bool> # if set to true the connector is not added to the BOM
pn: <str> # [internal] part number
manufacturer: <str> # manufacturer name
mpn: <str> # manufacturer part number
supplier: <str> # supplier name
spn: <str> # supplier part number
additional_components: # additional components
- <additional-component> # additional component (see below)
# pinout information
# at least one of the following must be specified
pincount: <int> # if omitted, is set to length of specified list(s)
pins: <List> # if omitted, is autofilled with [1, 2, ..., pincount]
pinlabels: <List> # if omitted, is autofilled with blanks
# pin color marks (optional)
pincolors: <List> # list of colors to be assigned to the respective pins;
# if list length is lower than connector pinout,
# no color marks will be added to remaining pins
# rendering information (all optional)
bgcolor: <color> # Background color of diagram connector box
bgcolor_title: <color> # Background color of title in diagram connector box
style: <style> # may be set to simple for single pin connectors
show_name: <bool> # defaults to true for regular connectors,
# false for simple connectors
show_pincount: <bool> # defaults to true for regular connectors
# false for simple connectors
hide_disconnected_pins: <bool> # defaults to false
# loops
loops: <List> # every list item is itself a list of exactly two pins
# on the connector that are to be shorted
```
## Cable attributes
```yaml
<str> : # unique cable designator/name
# general information about a connector (all optional)
category: <category> # may be set to bundle;
# generates one BOM item for every wire in the bundle
# instead of a single item for the entire cable;
# renders with a dashed outline
type: <str>
gauge: <int/float/str> # allowed formats:
# <int/float> mm2 is understood
# <int> AWG is understood
# <int/float> is assumed to be mm2
# <str> custom units and formats are allowed
# but unavailable for auto-conversion
show_equiv: <bool> # defaults to false; can auto-convert between mm2 and AWG
# and display the result when set to true
length: <int/float>[ <unit>] # <int/float> is assumed to be in meters unless <unit> is specified
# e.g. length: 2.5 -> assumed to be 2.5 m
# or length: 2.5 ft -> "ft" is used as the unit
# Units are not converted during BOM generation;
# different units result in separate BOM entries.
shield: <bool/color> # defaults to false
# setting to true will display the shield as a thin black line
# using a color (see below) will render the shield in that color
# A shield can be accessed by using 's' as the wire ID
color: <color> # see below
image: <image> # see below
notes: <str>
# product information (all optional)
ignore_in_bom: <bool> # if set to true the cable or wires are not added to the BOM
pn: <str> # [internal] part number
manufacturer: <str> # manufacturer name
mpn: <str> # manufacturer part number
supplier: <str> # supplier name
spn: <str> # supplier part number
additional_components: # additional components
- <additional-component> # additional component (see below)
# conductor information
# the following combinations are permitted:
# wirecount only no color information is specified
# colors only wirecount is inferred from list length
# wirecount + color_code colors are auto-generated based on the specified
# color code (see below) to match the wirecount
# wirecount + colors colors list is trimmed or repeated to match the wirecount
wirecount: <int>
colors: <List> # list of colors (see below)
color_code: <str> # one of the supported cable color codes (see below)
wirelabels: <List> # optional; one label for each wire
# rendering information (all optional)
bgcolor: <color> # Background color of diagram cable box
bgcolor_title: <color> # Background color of title in diagram cable box
show_name: <bool> # defaults to true
show_wirecount: <bool> # defaults to true
show_wirenumbers: <bool> # defaults to true for cables; false for bundles
```
## Connection sets
A connection set is used to connect multiple components together. Multiple connections can be easily created in parallel within one connection set, by specifying a list of individual pins (for `connectors`) or wires (for `cables`) for every component along the way.
```yaml
connections:
- # Each list entry is a connection set
- <component> # Each connection set is itself a list of items
- <component> # Items must alternatingly belong to the connectors and cables sections
# Arrows may be used instead of cables
-...
- # example (single connection)
- <connector>: <pin> # attach one pin of the connector
- <cable>: <wire> # attach one wire of the cable
- <connector> # for simple connectors, pin 1 is implicit
- <cable>: s # for shielded wires, s attaches to the shield
- # example (multiple parallel connections)
- <connector>: [<pin>, ..., <pin> ] # attach multiple pins in parallel
- <cable>: [<wire>, ..., <wire>] # attach multiple wires in parallel
- <connector> # auto-generate a new connector for every parallel connection
- <cable>: [<wire>-<wire>] # specify a range of wires to attach in parallel
- [<connector>, ..., <connector>] # specify multiple simple connectors to attach in parallel
# these may be unique, auto-generated, or a mix of both
- # example (arrows between pins)
- <connector>: [<pin>, ..., <pin>]
- [<arrow>, ..., <arrow>] # draw arrow linking pins of both connectors
# use single line arrows (--, <--, <-->, -->)
- <connector>: [<pin>, ..., <pin>]
- # example (arrows between connectors)
- <connector>
- <arrow> # draw arrow linking the connectors themselves
# use double line arrow (==, <==, <==>, ==>)
- <connector>
...
```
- Each connection set is a list of components.
- The minimum number of items is one.
- The maximum number of items is unlimited.
- Items must alternatingly belong to the `connectors` and the `cables` sections.
- When a connection set defines multiple parallel connections, the number of specified `<pin>`s and `<wire>`s for each component in the set must match. When specifying only one designator, one is auto-generated for each connection of the set.
- `<pin>` may reference a pin's unique ID (as per the connector's `pins` attribute, auto-numbered from 1 by default) or its label (as per `pinlabels`).
- `<wire>` may reference a wire's number within a cable/bundle, its label (as per `wirelabels`) or, if unambiguous, its color.
- For `<arrow>`, see below.
### Single connections
#### Connectors
- `- <designator>: <int/str>` attaches a pin of the connector, referring to a pin number (from the connector's `pins` attribute) or a pin label (from its `pinlabels` attribute), provided the label is unique.
- `- <designator>` is allowed for simple connectors, since they have only one pin to connect.
#### Cables
- `<designator>: <wire>` attaches a specific wire of a cable, using its number.
### Multiple parallel connections
#### Connectors
- `- <designator>: [<pin>, ..., <pin>]`
Each `<pin>` may be:
- `<int/str>` to refer to a specific pin, using its number (from its `pins` attribute) or its label (from its `pinlabels` attribute, provided the label is unique for this connector)
- `<int>-<int>` auto-expands to a range, e.g. `1-4` auto-expands to `1,2,3,4`; `9-7` will auto-expand to `9,8,7`.
- Mixing types is allowed, e.g. `[<pin>, <pinlabel>, <pin>-<pin>, <pin>]`
- `- [<designator>, ..., <designator>]`
Attaches multiple different single pin connectors, one per connection in the set.
- `- <designator>`
Attaches multiple instances of the same single pin connector, one per connectioin in the set.
#### Cables
- `<designator>: [<wire>, ..., <wire>]`
Each `<wire>` may be:
- `<int>` to refer to a specific wire, using its number.
- `<int>-<int>` auto-expands to a range.
- `<str>` to refer to a wire's label or color, if unambiguous.
### Arrows
Arrows may be used in place of wires to join two connectors. This can represent the mating of matching connectors.
To represent joining individual pins between two connectors, a list of single arrows is used:
```yaml
connections:
-
- <connector>: [<pin>,...,<pin>]
- [<arrow>, ..., <arrow>] # --, <--, <--> or -->
- <connector>: [<pin>,...,<pin>]
```
To represent mating of two connectors as a whole, one double arrow is used:
```yaml
connections:
-
- <connector> # using connector designator only
- <arrow> # ==, <==, <==> or ==>
- <connector>
-
- ...
- <connector>: [<pin>, ...] # designator and pinlist (pinlist is ignored)
# useful when combining arrows and wires
- <arrow> # ==, <==, <==> or ==>
- <connector>: [<pin>, ...]
- ...
```
### Autogeneration of items
If multiple identical copies of a connector or cable are needed, it is possible to define them once as a template, and then generate multiple instances as needed. This is called autogeneration. Both connectors and cables can be autogenerated.
Autogenerated instances of components can be explicitly assigned a designator; this way, they can be referenced in multiple connection sets. However, it is also possible to generate unnamed instances of components. This is especially useful for components that do not need to be referenced in more than one connection set, and where naming each individual instance is an unnecessary complication.
Example (see `connections` section):
```yaml
connectors:
X:
# ...
Y:
# ...
Z:
style: simple
# ...
cables:
V:
# ...
W:
# ...
connections:
- # no autogeneration (normal use)
- X: [1,2,...] # Use X as both the template and the instance designator
- V: [1,2,...] # Use V as both the template and the instance designator
# ...
- # autogeneration of named instances
- Y.Y1: [1,2,...] # Use template Y, generate instance with designator Y1
- W.W1: [1,2,...] # Use template W, generate instance with designator W1
- Y.Y2: [1,2,...] # generate more instances from the same templates
- W.W2: [1,2,...]
- Y.Y3: [1,2,...]
- # autogeneration of unnamed instances
- Y3: [1,2,...] # reuse existing instance Y3
- W.W4: [1,2,...]
- Z. # Use template Z, generate one unnamed instance
# for each connection in set
```
Since the internally assigned designator of an unnamed component is not known to the user, one instance of the connector can not be referenced again outside the point of creation (i.e. in other connection sets, or later in the same set). Autogeneration of unnamed instances is therefore only useful for terminals with only one wire attached, or splices with exactly one wire going in, and one wire going out.
If a component is to be used in other connection sets (e.g. for a three-way splice, or a crimp where multiple wires are joined), a named instance needs to be used.
The default character to trigger autogeneration of components is `.`. A different character can be specified using the `template_separator` option (see below).
Names of autogenerated components are hidden by default. While they can be shown in the graphical output using the `show_name: true` option, it is not recommended to manually use the internally assigned designator (starting with a double underscore `__`), since it might change in future WireViz versions, or when the order of items in connection sets changes.
### Unconnected components
Even if a component is not connected to any other components, it must be mentioned in a connection set for it to be displayed.
```yaml
connectors:
X1: # this connector will not be connected to any other components
...
connections:
-
- X1 # minimal connection set to include connector in the diagram
```
If any component is defined in the `connectors` or `cables` sections but not referenced in `connections`, a warning is printed in the console.
## Metadata entries
```yaml
# Meta-information describing the harness
# Each key/value pair replaces all key references in
# the HTML output template with the belonging value.
# Typical keys are 'title', 'description', and 'notes',
# but any key is accepted. Unused keys are ignored.
<key> : <value> # Any valid YAML syntax is accepted
# If no value is specified for 'title', then the
# output filename without extension is used.
```
See [HTML Output Templates](../src/wireviz/templates/) for how metadata entries can be inserted into the HTML output.
## Options
```yaml
# Common attributes for the whole harness.
# All entries are optional and have default values.
# Background color of diagram and HTML output
bgcolor: <color> # Default = 'WH'
# Background color of other diagram elements
bgcolor_node: <color> # Default = 'WH'
bgcolor_connector: <color> # Default = bgcolor_node
bgcolor_cable: <color> # Default = bgcolor_node
bgcolor_bundle: <color> # Default = bgcolor_cable
# How to display colors as text in the diagram
# 'full' : Lowercase full color name
# 'FULL' : Uppercase full color name
# 'hex' : Lowercase hexadecimal values
# 'HEX' : Uppercase hexadecimal values
# 'short': Lowercase short color name
# 'SHORT': Uppercase short color name
# 'ger' : Lowercase short German color name
# 'GER' : Uppercase short German color name
color_mode: <str> # Default = 'SHORT'
# Fontname to use in diagram and HTML output
fontname: <str> # Default = 'arial'
# If True, show only a BOM entry reference together with basic info
# about additional components inside the diagram node (connector/cable box).
# If False, show all info about additional components inside the diagram node.
mini_bom_mode: <bool> # Default = True
# Character to split template and designator for autogenerated components
template_separator: <str> # Default = '.'
```
## BOM items and additional components
Connectors (both regular, and auto-generated), cables, and wires of a bundle are automatically added to the BOM,
unless the `ignore_in_bom` attribute is set to `true`.
Additional items can be added to the BOM as either part of a connector or cable or on their own.
Parts can be added to a connector or cable in the section `<additional-component>` which will also list them in the graph.
```yaml
-
type: <str> # type of additional component
# all the following are optional:
subtype: <str> # additional description (only shown in bom)
qty: <int/float> # qty to add to the bom (defaults to 1)
qty_multiplier: <str> # multiplies qty by a feature of the parent component
# when used in a connector:
# pincount number of pins of connector
# populated number of populated positions in a connector
# unpopulated number of unpopulated positions
# when used in a cable:
# wirecount number of wires of cable/bundle
# terminations number of terminations on a cable/bundle
# length length of cable/bundle
# total_length sum of lengths of each wire in the bundle
unit: <str>
pn: <str> # [internal] part number
manufacturer: <str> # manufacturer name
mpn: <str> # manufacturer part number
supplier: <str> # supplier name
spn: <str> # supplier part number
bgcolor: <color> # Background color of entry in diagram component box
```
Alternatively items can be added to just the BOM by putting them in the section `<bom-item>` above.
```yaml
-
description: <str>
# all the following are optional:
qty: <int/float> # qty to add to the bom (defaults to 1)
unit: <str>
designators: <List>
pn: <str> # [internal] part number
manufacturer: <str> # manufacturer name
mpn: <str> # manufacturer part number
supplier: <str> # supplier name
spn: <str> # supplier part number
```
## GraphViz tweaking (experimental)
```yaml
# Optional tweaking of the .gv output.
# This feature is experimental and might change
# or be removed in future versions.
override: # dict of .gv entries to override
# Each entry is identified by its leading string
# in lines beginning with a TAB character.
# The leading string might be in "quotes" in
# the .gv output. This leading string must be
# followed by attributes in [square brackets].
# Entries with an attribute containing HTML are
# not supported.
<str>: # leading string of .gv entry
<str> : <str/null> # attribute and its new value
# Any number of attributes can be overridden
# for each entry. Attributes not already existing
# in the entry will be appended to the entry.
# Use null as new value to delete an attribute.
append: <str/list> # string or list of strings to append to the .gv output
```
## Colors
Colors are defined via uppercase, two character strings.
Striped/banded wires can be specified by simply concatenating multiple colors, with no space inbetween, eg. `GNYE` for green-yellow.
The following colors are understood:
- `BK` ![##000000](https://via.placeholder.com/15/000000/000000?text=+) (black)
- `WH` ![##ffffff](https://via.placeholder.com/15/ffffff/000000?text=+) (white)
- `GY` ![##999999](https://via.placeholder.com/15/999999/000000?text=+) (grey)
- `PK` ![##ff66cc](https://via.placeholder.com/15/ff66cc/000000?text=+) (pink)
- `RD` ![##ff0000](https://via.placeholder.com/15/ff0000/000000?text=+) (red)
- `OG` ![##ff8000](https://via.placeholder.com/15/ff8000/000000?text=+) (orange)
- `YE` ![##ffff00](https://via.placeholder.com/15/ffff00/000000?text=+) (yellow)
- `OL` ![##708000](https://via.placeholder.com/15/708000/000000?text=+) (olive green)
- `GN` ![##00ff00](https://via.placeholder.com/15/00ff00/000000?text=+) (green)
- `TQ` ![##00ffff](https://via.placeholder.com/15/00ffff/000000?text=+) (turquoise)
- `LB` ![##a0dfff](https://via.placeholder.com/15/a0dfff/000000?text=+) (light blue)
- `BU` ![##0066ff](https://via.placeholder.com/15/0066ff/000000?text=+) (blue)
- `VT` ![##8000ff](https://via.placeholder.com/15/8000ff/000000?text=+) (violet)
- `BN` ![##895956](https://via.placeholder.com/15/895956/000000?text=+) (brown)
- `BG` ![##ceb673](https://via.placeholder.com/15/ceb673/000000?text=+) (beige)
- `IV` ![##f5f0d0](https://via.placeholder.com/15/f5f0d0/000000?text=+) (ivory)
- `SL` ![##708090](https://via.placeholder.com/15/708090/000000?text=+) (slate)
- `CU` ![##d6775e](https://via.placeholder.com/15/d6775e/000000?text=+) (copper)
- `SN` ![##aaaaaa](https://via.placeholder.com/15/aaaaaa/000000?text=+) (tin)
- `SR` ![##84878c](https://via.placeholder.com/15/84878c/000000?text=+) (silver)
- `GD` ![##ffcf80](https://via.placeholder.com/15/ffcf80/000000?text=+) (gold)
<!-- color list generated with a helper script: -->
<!-- https://gist.github.com/formatc1702/3c93fb4c5e392364899283f78672b952 -->
It is also possible to specify colors as hexadecimal RGB values, e.g. `#112233` or `#FFFF00:#009900`.
Remember quoting strings containing a `#` in the YAML file.
## Cable color codes
Supported color codes:
- `DIN` for [DIN 47100](https://en.wikipedia.org/wiki/DIN_47100)
![##ffffff](https://via.placeholder.com/15/ffffff/000000?text=+) ![##895956](https://via.placeholder.com/15/895956/000000?text=+) ![##00ff00](https://via.placeholder.com/15/00ff00/000000?text=+) ![##ffff00](https://via.placeholder.com/15/ffff00/000000?text=+) ![##999999](https://via.placeholder.com/15/999999/000000?text=+) ![##ff66cc](https://via.placeholder.com/15/ff66cc/000000?text=+) ![##0066ff](https://via.placeholder.com/15/0066ff/000000?text=+) ![##ff0000](https://via.placeholder.com/15/ff0000/000000?text=+) ![##000000](https://via.placeholder.com/15/000000/000000?text=+) ![##8000ff](https://via.placeholder.com/15/8000ff/000000?text=+) ...
- `IEC` for [IEC 60757](https://en.wikipedia.org/wiki/Electronic_color_code#Color_band_system) ("ROY G BIV")
![##895956](https://via.placeholder.com/15/895956/000000?text=+) ![##ff0000](https://via.placeholder.com/15/ff0000/000000?text=+) ![##ff8000](https://via.placeholder.com/15/ff8000/000000?text=+) ![##ffff00](https://via.placeholder.com/15/ffff00/000000?text=+) ![##00ff00](https://via.placeholder.com/15/00ff00/000000?text=+) ![##0066ff](https://via.placeholder.com/15/0066ff/000000?text=+) ![##8000ff](https://via.placeholder.com/15/8000ff/000000?text=+) ![##999999](https://via.placeholder.com/15/999999/000000?text=+) ![##ffffff](https://via.placeholder.com/15/ffffff/000000?text=+) ![##000000](https://via.placeholder.com/15/000000/000000?text=+) ...
- `TEL` and `TELALT` for [25-pair color code](https://en.wikipedia.org/wiki/25-pair_color_code)
- `T568A` and `T568B` for [TIA/EIA-568](https://en.wikipedia.org/wiki/TIA/EIA-568#Wiring) (e.g. Ethernet)
- `BW` for alternating black and white
## Images
Both connectors and cables accept including an image with a caption within their respective nodes.
```yaml
image:
src: <path> # path to the image file
# optional parameters:
caption: <str> # text to display below the image
bgcolor: <color> # Background color of entry in diagram component box
width: <int> # range: 1~65535; unit: points
height: <int> # range: 1~65535; unit: points
# if only one dimension (width/height) is specified, the image is scaled proportionally.
# if both width and height are specified, the image is stretched to fit.
```
For more fine grained control over the image parameters, please see [`advanced_image_usage.md`](advanced_image_usage.md).
## Multiline strings
The following attributes accept multiline strings:
- `type`
- `subtype` (connectors only)
- `notes`
- `manufacturer`
- `mpn`
- `supplier`
- `spn`
- `image.caption`
- `tweak.append`
### Method 1
By using `|`, every following indented line is treated as a new line.
```yaml
attribute: |
This is line 1.
This is line 2.
```
### Method 2
By using double quoted strings, `\n` within the string is converted to a new line.
```yaml
attribute: "This is line 1.\nThis is line 2."
```
Plain (no quotes) or single quoted strings do not convert `\n`.
See [yaml-multiline.info](https://yaml-multiline.info/) for more information.
## Inheritance
[YAML anchors and references](https://blog.daemonl.com/2016/02/yaml.html) are useful for defining and referencing information that is used more than once in a file, e.g. when using defining multiple connectors of the same type or family. See [Demo 02](../examples/demo02.yml) for an example.

View File

@ -1,64 +0,0 @@
templates: # defining templates to be used later on
- &molex_f
type: Molex KK 254
gender: female
- &con_i2c
pinout: [GND, +5V, SCL, SDA]
- &wire_i2c
mm2: 0.14
length: 0.2
colors: [BK, RD, YE, GN]
nodes:
X1:
<<: *molex_f # copying items from the template
pinout: [GND, +5V, SCL, SDA, MISO, MOSI, SCK, N/C]
X2:
<<: *molex_f
<<: *con_i2c # it is possible to copy from more than one template
X3:
<<: *molex_f
<<: *con_i2c
X4:
<<: *molex_f
pinout: [GND, +12V, MISO, MOSI, SCK]
X5:
type: Molex Micro-Fit
gender: male
pinout: [GND, +12V]
wires:
W1:
<<: *wire_i2c
type: bundle
W2:
<<: *wire_i2c
type: bundle
W3:
mm2: 0.14
length: 0.2
type: bundle
colors: [BK, BU, OG, VT]
W4:
mm2: 0.5
length: 0.35
colors: [BK, RD]
type: bundle
connections:
-
- X1: [1-4]
- W1: [1-4]
- X2: [1-4]
-
- X1: [1-4]
- W2: [1-4]
- X3: [1-4]
-
- X1: [1,5-7]
- W3: [1-4]
- X4: [1,3-5]
-
- X5: [1,2]
- W4: [1,2]
- X4: [1,2]

4
examples/demo01.bom.tsv generated Normal file
View File

@ -0,0 +1,4 @@
Id Description Qty Unit Designators
1 Cable, 3 x 0.25 mm² shielded 0.2 m W1
2 Connector, D-Sub, female, 9 pins 1 X1
3 Connector, Molex KK 254, female, 3 pins 1 X2
1 Id Description Qty Unit Designators
2 1 Cable, 3 x 0.25 mm² shielded 0.2 m W1
3 2 Connector, D-Sub, female, 9 pins 1 X1
4 3 Connector, Molex KK 254, female, 3 pins 1 X2

184
examples/demo01.gv generated Normal file
View File

@ -0,0 +1,184 @@
graph {
// Graph generated by WireViz 0.4.1
// https://github.com/wireviz/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]
X1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">D-Sub</td>
<td balign="left">female</td>
<td balign="left">9-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td>DCD</td>
<td port="p1r">1</td>
</tr>
<tr>
<td>RX</td>
<td port="p2r">2</td>
</tr>
<tr>
<td>TX</td>
<td port="p3r">3</td>
</tr>
<tr>
<td>DTR</td>
<td port="p4r">4</td>
</tr>
<tr>
<td>GND</td>
<td port="p5r">5</td>
</tr>
<tr>
<td>DSR</td>
<td port="p6r">6</td>
</tr>
<tr>
<td>RTS</td>
<td port="p7r">7</td>
</tr>
<tr>
<td>CTS</td>
<td port="p8r">8</td>
</tr>
<tr>
<td>RI</td>
<td port="p9r">9</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X2</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex KK 254</td>
<td balign="left">female</td>
<td balign="left">3-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1l">1</td>
<td>GND</td>
</tr>
<tr>
<td port="p2l">2</td>
<td>RX</td>
</tr>
<tr>
<td port="p3l">3</td>
<td>TX</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
edge [color="#000000:#ffffff:#000000"]
X1:p5r:e -- W1:w1:w
W1:w1:e -- X2:p1l:w
edge [color="#000000:#895956:#000000"]
X1:p2r:e -- W1:w2:w
W1:w2:e -- X2:p3l:w
edge [color="#000000:#00ff00:#000000"]
X1:p3r:e -- W1:w3:w
W1:w3:e -- X2:p2l:w
edge [color="#000000"]
X1:p5r:e -- W1:ws:w
W1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">3x</td>
<td balign="left">0.25 mm²</td>
<td balign="left">+ S</td>
<td balign="left">0.2 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td>X1:5:GND</td>
<td>
1:WH
</td>
<td>X2:1:GND</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:2:RX</td>
<td>
2:BN
</td>
<td>X2:3:TX</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#895956" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:3:TX</td>
<td>
3:GN
</td>
<td>X2:2:RX</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td>X1:5:GND</td>
<td>Shield</td>
<td><!-- s_out --></td>
</tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0" port="ws"></td></tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
}

245
examples/demo01.html generated Normal file
View File

@ -0,0 +1,245 @@
<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<meta name="generator" content="WireViz 0.4.1 - https://github.com/wireviz/WireViz">
<title>demo01</title>
<style>
#bom table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
#bom th, td {
padding: 4px;
text-align: left;
}
.bom_col_qty {
text-align: right;
}
</style>
</head><body style="font-family:arial;background-color:#ffffff">
<h1>demo01</h1>
<h2>Diagram</h2>
<div id="description">
<!-- %description% -->
</div>
<div id="diagram">
<!-- XML and DOCTYPE declarations from SVG file removed -->
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="814pt" height="293pt"
viewBox="0.00 0.00 813.50 292.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 288.5)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-288.5 809.5,-288.5 809.5,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="133.5,-254.5 0,-254.5 0,0 133.5,0 133.5,-254.5"/>
<polygon fill="none" stroke="black" points="0,-230.75 0,-254.5 133.5,-254.5 133.5,-230.75 0,-230.75"/>
<text text-anchor="start" x="58.5" y="-237.2" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-207 0,-230.75 46.25,-230.75 46.25,-207 0,-207"/>
<text text-anchor="start" x="4" y="-213.45" font-family="arial" font-size="14.00">D&#45;Sub</text>
<polygon fill="none" stroke="black" points="46.25,-207 46.25,-230.75 95.5,-230.75 95.5,-207 46.25,-207"/>
<text text-anchor="start" x="50.25" y="-213.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="95.5,-207 95.5,-230.75 133.5,-230.75 133.5,-207 95.5,-207"/>
<text text-anchor="start" x="99.5" y="-213.45" font-family="arial" font-size="14.00">9&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-184 0,-207 78.25,-207 78.25,-184 0,-184"/>
<text text-anchor="start" x="24.5" y="-189.7" font-family="arial" font-size="14.00">DCD</text>
<polygon fill="none" stroke="black" points="78.25,-184 78.25,-207 133.5,-207 133.5,-184 78.25,-184"/>
<text text-anchor="start" x="102.12" y="-189.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-161 0,-184 78.25,-184 78.25,-161 0,-161"/>
<text text-anchor="start" x="29.75" y="-166.7" font-family="arial" font-size="14.00">RX</text>
<polygon fill="none" stroke="black" points="78.25,-161 78.25,-184 133.5,-184 133.5,-161 78.25,-161"/>
<text text-anchor="start" x="102.12" y="-166.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="0,-138 0,-161 78.25,-161 78.25,-138 0,-138"/>
<text text-anchor="start" x="30.5" y="-143.7" font-family="arial" font-size="14.00">TX</text>
<polygon fill="none" stroke="black" points="78.25,-138 78.25,-161 133.5,-161 133.5,-138 78.25,-138"/>
<text text-anchor="start" x="102.12" y="-143.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="0,-115 0,-138 78.25,-138 78.25,-115 0,-115"/>
<text text-anchor="start" x="25.25" y="-120.7" font-family="arial" font-size="14.00">DTR</text>
<polygon fill="none" stroke="black" points="78.25,-115 78.25,-138 133.5,-138 133.5,-115 78.25,-115"/>
<text text-anchor="start" x="102.12" y="-120.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="0,-92 0,-115 78.25,-115 78.25,-92 0,-92"/>
<text text-anchor="start" x="23.75" y="-97.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="78.25,-92 78.25,-115 133.5,-115 133.5,-92 78.25,-92"/>
<text text-anchor="start" x="102.12" y="-97.7" font-family="arial" font-size="14.00">5</text>
<polygon fill="none" stroke="black" points="0,-69 0,-92 78.25,-92 78.25,-69 0,-69"/>
<text text-anchor="start" x="24.88" y="-74.7" font-family="arial" font-size="14.00">DSR</text>
<polygon fill="none" stroke="black" points="78.25,-69 78.25,-92 133.5,-92 133.5,-69 78.25,-69"/>
<text text-anchor="start" x="102.12" y="-74.7" font-family="arial" font-size="14.00">6</text>
<polygon fill="none" stroke="black" points="0,-46 0,-69 78.25,-69 78.25,-46 0,-46"/>
<text text-anchor="start" x="25.62" y="-51.7" font-family="arial" font-size="14.00">RTS</text>
<polygon fill="none" stroke="black" points="78.25,-46 78.25,-69 133.5,-69 133.5,-46 78.25,-46"/>
<text text-anchor="start" x="102.12" y="-51.7" font-family="arial" font-size="14.00">7</text>
<polygon fill="none" stroke="black" points="0,-23 0,-46 78.25,-46 78.25,-23 0,-23"/>
<text text-anchor="start" x="25.62" y="-28.7" font-family="arial" font-size="14.00">CTS</text>
<polygon fill="none" stroke="black" points="78.25,-23 78.25,-46 133.5,-46 133.5,-23 78.25,-23"/>
<text text-anchor="start" x="102.12" y="-28.7" font-family="arial" font-size="14.00">8</text>
<polygon fill="none" stroke="black" points="0,0 0,-23 78.25,-23 78.25,0 0,0"/>
<text text-anchor="start" x="32.38" y="-5.7" font-family="arial" font-size="14.00">RI</text>
<polygon fill="none" stroke="black" points="78.25,0 78.25,-23 133.5,-23 133.5,0 78.25,0"/>
<text text-anchor="start" x="102.12" y="-5.7" font-family="arial" font-size="14.00">9</text>
</g>
<!-- W1 -->
<g id="node3" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" points="481.5,-284.5 277.5,-284.5 277.5,-84 481.5,-84 481.5,-284.5"/>
<polygon fill="none" stroke="black" points="277.5,-260.75 277.5,-284.5 481.5,-284.5 481.5,-260.75 277.5,-260.75"/>
<text text-anchor="start" x="369" y="-267.2" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="277.5,-237 277.5,-260.75 310.69,-260.75 310.69,-237 277.5,-237"/>
<text text-anchor="start" x="286.97" y="-243.45" font-family="arial" font-size="14.00">3x</text>
<polygon fill="none" stroke="black" points="310.69,-237 310.69,-260.75 388.12,-260.75 388.12,-237 310.69,-237"/>
<text text-anchor="start" x="320.16" y="-243.45" font-family="arial" font-size="14.00">0.25 mm²</text>
<polygon fill="none" stroke="black" points="388.12,-237 388.12,-260.75 428.06,-260.75 428.06,-237 388.12,-237"/>
<text text-anchor="start" x="397.59" y="-243.45" font-family="arial" font-size="14.00">+ S</text>
<polygon fill="none" stroke="black" points="428.06,-237 428.06,-260.75 481.5,-260.75 481.5,-237 428.06,-237"/>
<text text-anchor="start" x="437.53" y="-243.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="308.62" y="-221.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="279.38" y="-202.7" font-family="arial" font-size="14.00">X1:5:GND</text>
<text text-anchor="start" x="345.38" y="-202.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:WH &#160;&#160;&#160;</text>
<text text-anchor="start" x="417.38" y="-202.7" font-family="arial" font-size="14.00">X2:1:GND</text>
<polygon fill="#000000" stroke="none" points="277.5,-197 277.5,-199 481.5,-199 481.5,-197 277.5,-197"/>
<polygon fill="#ffffff" stroke="none" points="277.5,-195 277.5,-197 481.5,-197 481.5,-195 277.5,-195"/>
<polygon fill="#000000" stroke="none" points="277.5,-193 277.5,-195 481.5,-195 481.5,-193 277.5,-193"/>
<text text-anchor="start" x="285.38" y="-177.7" font-family="arial" font-size="14.00">X1:2:RX</text>
<text text-anchor="start" x="347.62" y="-177.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:BN &#160;&#160;&#160;</text>
<text text-anchor="start" x="424.12" y="-177.7" font-family="arial" font-size="14.00">X2:3:TX</text>
<polygon fill="#000000" stroke="none" points="277.5,-172 277.5,-174 481.5,-174 481.5,-172 277.5,-172"/>
<polygon fill="#895956" stroke="none" points="277.5,-170 277.5,-172 481.5,-172 481.5,-170 277.5,-170"/>
<polygon fill="#000000" stroke="none" points="277.5,-168 277.5,-170 481.5,-170 481.5,-168 277.5,-168"/>
<text text-anchor="start" x="286.12" y="-152.7" font-family="arial" font-size="14.00">X1:3:TX</text>
<text text-anchor="start" x="346.5" y="-152.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;3:GN &#160;&#160;&#160;</text>
<text text-anchor="start" x="423.38" y="-152.7" font-family="arial" font-size="14.00">X2:2:RX</text>
<polygon fill="#000000" stroke="none" points="277.5,-147 277.5,-149 481.5,-149 481.5,-147 277.5,-147"/>
<polygon fill="#00ff00" stroke="none" points="277.5,-145 277.5,-147 481.5,-147 481.5,-145 277.5,-145"/>
<polygon fill="#000000" stroke="none" points="277.5,-143 277.5,-145 481.5,-145 481.5,-143 277.5,-143"/>
<text text-anchor="start" x="308.62" y="-127.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="279.38" y="-108.7" font-family="arial" font-size="14.00">X1:5:GND</text>
<text text-anchor="start" x="360.75" y="-108.7" font-family="arial" font-size="14.00">Shield</text>
<polygon fill="#000000" stroke="none" points="277.5,-103 277.5,-105 481.5,-105 481.5,-103 277.5,-103"/>
<text text-anchor="start" x="308.62" y="-87.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge1" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M133.5,-101.25C211.68,-103.43 203.31,-196.43 277.5,-194.25"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M133.5,-103.25C209.69,-103.25 201.31,-196.25 277.5,-196.25"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M133.5,-105.25C207.69,-103.07 199.32,-196.07 277.5,-198.25"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge3" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M133.5,-170.25C197.38,-170.25 213.37,-169.25 277.5,-169.25"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M133.5,-172.25C197.5,-172.25 213.5,-171.25 277.5,-171.25"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M133.5,-174.25C197.63,-174.25 213.62,-173.25 277.5,-173.25"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge5" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M133.5,-147.25C197.14,-147.28 213.12,-144.28 277.5,-144.25"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M133.5,-149.25C197.51,-149.25 213.49,-146.25 277.5,-146.25"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M133.5,-151.25C197.88,-151.22 213.86,-148.22 277.5,-148.25"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge7" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M133.5,-103.25C197.5,-103.25 213.5,-104.25 277.5,-104.25"/>
</g>
<!-- X2 -->
<g id="node2" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="805.5,-255.5 625.5,-255.5 625.5,-139 805.5,-139 805.5,-255.5"/>
<polygon fill="none" stroke="black" points="625.5,-231.75 625.5,-255.5 805.5,-255.5 805.5,-231.75 625.5,-231.75"/>
<text text-anchor="start" x="707.25" y="-238.2" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="625.5,-208 625.5,-231.75 718.25,-231.75 718.25,-208 625.5,-208"/>
<text text-anchor="start" x="629.5" y="-214.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="718.25,-208 718.25,-231.75 767.5,-231.75 767.5,-208 718.25,-208"/>
<text text-anchor="start" x="722.25" y="-214.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="767.5,-208 767.5,-231.75 805.5,-231.75 805.5,-208 767.5,-208"/>
<text text-anchor="start" x="771.5" y="-214.45" font-family="arial" font-size="14.00">3&#45;pin</text>
<polygon fill="none" stroke="black" points="625.5,-185 625.5,-208 704,-208 704,-185 625.5,-185"/>
<text text-anchor="start" x="661" y="-190.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="704,-185 704,-208 805.5,-208 805.5,-185 704,-185"/>
<text text-anchor="start" x="739.38" y="-190.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="625.5,-162 625.5,-185 704,-185 704,-162 625.5,-162"/>
<text text-anchor="start" x="661" y="-167.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="704,-162 704,-185 805.5,-185 805.5,-162 704,-162"/>
<text text-anchor="start" x="745.38" y="-167.7" font-family="arial" font-size="14.00">RX</text>
<polygon fill="none" stroke="black" points="625.5,-139 625.5,-162 704,-162 704,-139 625.5,-139"/>
<text text-anchor="start" x="661" y="-144.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="704,-139 704,-162 805.5,-162 805.5,-139 704,-139"/>
<text text-anchor="start" x="746.12" y="-144.7" font-family="arial" font-size="14.00">TX</text>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M481.5,-194.25C545.5,-194.25 561.5,-194.25 625.5,-194.25"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M481.5,-196.25C545.5,-196.25 561.5,-196.25 625.5,-196.25"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M481.5,-198.25C545.5,-198.25 561.5,-198.25 625.5,-198.25"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M481.5,-169.25C544.54,-170.11 559.18,-149.11 625.5,-148.25"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M481.5,-171.25C546.18,-171.25 560.82,-150.25 625.5,-150.25"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M481.5,-173.25C547.82,-172.39 562.46,-151.39 625.5,-152.25"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge6" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M481.5,-144.25C548.4,-145.34 562.17,-172.34 625.5,-171.25"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M481.5,-146.25C546.62,-146.25 560.38,-173.25 625.5,-173.25"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M481.5,-148.25C544.83,-147.16 558.6,-174.16 625.5,-175.25"/>
</g>
</g>
</svg>
</div>
<div id="notes">
<!-- %notes% -->
</div>
<h2>Bill of Materials</h2>
<div id="bom">
<table class="bom">
<tr>
<th class="bom_col_id">Id</th>
<th class="bom_col_description">Description</th>
<th class="bom_col_qty">Qty</th>
<th class="bom_col_unit">Unit</th>
<th class="bom_col_designators">Designators</th>
</tr>
<tr>
<td class="bom_col_id">1</td>
<td class="bom_col_description">Cable, 3 x 0.25 mm² shielded</td>
<td class="bom_col_qty">0.2</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1</td>
</tr>
<tr>
<td class="bom_col_id">2</td>
<td class="bom_col_description">Connector, D-Sub, female, 9 pins</td>
<td class="bom_col_qty">1</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X1</td>
</tr>
<tr>
<td class="bom_col_id">3</td>
<td class="bom_col_description">Connector, Molex KK 254, female, 3 pins</td>
<td class="bom_col_qty">1</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X2</td>
</tr>
</table>
</div>
</body></html>

BIN
examples/demo01.png generated Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

172
examples/demo01.svg generated Normal file
View File

@ -0,0 +1,172 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="814pt" height="293pt"
viewBox="0.00 0.00 813.50 292.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 288.5)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-288.5 809.5,-288.5 809.5,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="133.5,-254.5 0,-254.5 0,0 133.5,0 133.5,-254.5"/>
<polygon fill="none" stroke="black" points="0,-230.75 0,-254.5 133.5,-254.5 133.5,-230.75 0,-230.75"/>
<text text-anchor="start" x="58.5" y="-237.2" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-207 0,-230.75 46.25,-230.75 46.25,-207 0,-207"/>
<text text-anchor="start" x="4" y="-213.45" font-family="arial" font-size="14.00">D&#45;Sub</text>
<polygon fill="none" stroke="black" points="46.25,-207 46.25,-230.75 95.5,-230.75 95.5,-207 46.25,-207"/>
<text text-anchor="start" x="50.25" y="-213.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="95.5,-207 95.5,-230.75 133.5,-230.75 133.5,-207 95.5,-207"/>
<text text-anchor="start" x="99.5" y="-213.45" font-family="arial" font-size="14.00">9&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-184 0,-207 78.25,-207 78.25,-184 0,-184"/>
<text text-anchor="start" x="24.5" y="-189.7" font-family="arial" font-size="14.00">DCD</text>
<polygon fill="none" stroke="black" points="78.25,-184 78.25,-207 133.5,-207 133.5,-184 78.25,-184"/>
<text text-anchor="start" x="102.12" y="-189.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-161 0,-184 78.25,-184 78.25,-161 0,-161"/>
<text text-anchor="start" x="29.75" y="-166.7" font-family="arial" font-size="14.00">RX</text>
<polygon fill="none" stroke="black" points="78.25,-161 78.25,-184 133.5,-184 133.5,-161 78.25,-161"/>
<text text-anchor="start" x="102.12" y="-166.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="0,-138 0,-161 78.25,-161 78.25,-138 0,-138"/>
<text text-anchor="start" x="30.5" y="-143.7" font-family="arial" font-size="14.00">TX</text>
<polygon fill="none" stroke="black" points="78.25,-138 78.25,-161 133.5,-161 133.5,-138 78.25,-138"/>
<text text-anchor="start" x="102.12" y="-143.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="0,-115 0,-138 78.25,-138 78.25,-115 0,-115"/>
<text text-anchor="start" x="25.25" y="-120.7" font-family="arial" font-size="14.00">DTR</text>
<polygon fill="none" stroke="black" points="78.25,-115 78.25,-138 133.5,-138 133.5,-115 78.25,-115"/>
<text text-anchor="start" x="102.12" y="-120.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="0,-92 0,-115 78.25,-115 78.25,-92 0,-92"/>
<text text-anchor="start" x="23.75" y="-97.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="78.25,-92 78.25,-115 133.5,-115 133.5,-92 78.25,-92"/>
<text text-anchor="start" x="102.12" y="-97.7" font-family="arial" font-size="14.00">5</text>
<polygon fill="none" stroke="black" points="0,-69 0,-92 78.25,-92 78.25,-69 0,-69"/>
<text text-anchor="start" x="24.88" y="-74.7" font-family="arial" font-size="14.00">DSR</text>
<polygon fill="none" stroke="black" points="78.25,-69 78.25,-92 133.5,-92 133.5,-69 78.25,-69"/>
<text text-anchor="start" x="102.12" y="-74.7" font-family="arial" font-size="14.00">6</text>
<polygon fill="none" stroke="black" points="0,-46 0,-69 78.25,-69 78.25,-46 0,-46"/>
<text text-anchor="start" x="25.62" y="-51.7" font-family="arial" font-size="14.00">RTS</text>
<polygon fill="none" stroke="black" points="78.25,-46 78.25,-69 133.5,-69 133.5,-46 78.25,-46"/>
<text text-anchor="start" x="102.12" y="-51.7" font-family="arial" font-size="14.00">7</text>
<polygon fill="none" stroke="black" points="0,-23 0,-46 78.25,-46 78.25,-23 0,-23"/>
<text text-anchor="start" x="25.62" y="-28.7" font-family="arial" font-size="14.00">CTS</text>
<polygon fill="none" stroke="black" points="78.25,-23 78.25,-46 133.5,-46 133.5,-23 78.25,-23"/>
<text text-anchor="start" x="102.12" y="-28.7" font-family="arial" font-size="14.00">8</text>
<polygon fill="none" stroke="black" points="0,0 0,-23 78.25,-23 78.25,0 0,0"/>
<text text-anchor="start" x="32.38" y="-5.7" font-family="arial" font-size="14.00">RI</text>
<polygon fill="none" stroke="black" points="78.25,0 78.25,-23 133.5,-23 133.5,0 78.25,0"/>
<text text-anchor="start" x="102.12" y="-5.7" font-family="arial" font-size="14.00">9</text>
</g>
<!-- W1 -->
<g id="node3" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" points="481.5,-284.5 277.5,-284.5 277.5,-84 481.5,-84 481.5,-284.5"/>
<polygon fill="none" stroke="black" points="277.5,-260.75 277.5,-284.5 481.5,-284.5 481.5,-260.75 277.5,-260.75"/>
<text text-anchor="start" x="369" y="-267.2" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="277.5,-237 277.5,-260.75 310.69,-260.75 310.69,-237 277.5,-237"/>
<text text-anchor="start" x="286.97" y="-243.45" font-family="arial" font-size="14.00">3x</text>
<polygon fill="none" stroke="black" points="310.69,-237 310.69,-260.75 388.12,-260.75 388.12,-237 310.69,-237"/>
<text text-anchor="start" x="320.16" y="-243.45" font-family="arial" font-size="14.00">0.25 mm²</text>
<polygon fill="none" stroke="black" points="388.12,-237 388.12,-260.75 428.06,-260.75 428.06,-237 388.12,-237"/>
<text text-anchor="start" x="397.59" y="-243.45" font-family="arial" font-size="14.00">+ S</text>
<polygon fill="none" stroke="black" points="428.06,-237 428.06,-260.75 481.5,-260.75 481.5,-237 428.06,-237"/>
<text text-anchor="start" x="437.53" y="-243.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="308.62" y="-221.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="279.38" y="-202.7" font-family="arial" font-size="14.00">X1:5:GND</text>
<text text-anchor="start" x="345.38" y="-202.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:WH &#160;&#160;&#160;</text>
<text text-anchor="start" x="417.38" y="-202.7" font-family="arial" font-size="14.00">X2:1:GND</text>
<polygon fill="#000000" stroke="none" points="277.5,-197 277.5,-199 481.5,-199 481.5,-197 277.5,-197"/>
<polygon fill="#ffffff" stroke="none" points="277.5,-195 277.5,-197 481.5,-197 481.5,-195 277.5,-195"/>
<polygon fill="#000000" stroke="none" points="277.5,-193 277.5,-195 481.5,-195 481.5,-193 277.5,-193"/>
<text text-anchor="start" x="285.38" y="-177.7" font-family="arial" font-size="14.00">X1:2:RX</text>
<text text-anchor="start" x="347.62" y="-177.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:BN &#160;&#160;&#160;</text>
<text text-anchor="start" x="424.12" y="-177.7" font-family="arial" font-size="14.00">X2:3:TX</text>
<polygon fill="#000000" stroke="none" points="277.5,-172 277.5,-174 481.5,-174 481.5,-172 277.5,-172"/>
<polygon fill="#895956" stroke="none" points="277.5,-170 277.5,-172 481.5,-172 481.5,-170 277.5,-170"/>
<polygon fill="#000000" stroke="none" points="277.5,-168 277.5,-170 481.5,-170 481.5,-168 277.5,-168"/>
<text text-anchor="start" x="286.12" y="-152.7" font-family="arial" font-size="14.00">X1:3:TX</text>
<text text-anchor="start" x="346.5" y="-152.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;3:GN &#160;&#160;&#160;</text>
<text text-anchor="start" x="423.38" y="-152.7" font-family="arial" font-size="14.00">X2:2:RX</text>
<polygon fill="#000000" stroke="none" points="277.5,-147 277.5,-149 481.5,-149 481.5,-147 277.5,-147"/>
<polygon fill="#00ff00" stroke="none" points="277.5,-145 277.5,-147 481.5,-147 481.5,-145 277.5,-145"/>
<polygon fill="#000000" stroke="none" points="277.5,-143 277.5,-145 481.5,-145 481.5,-143 277.5,-143"/>
<text text-anchor="start" x="308.62" y="-127.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="279.38" y="-108.7" font-family="arial" font-size="14.00">X1:5:GND</text>
<text text-anchor="start" x="360.75" y="-108.7" font-family="arial" font-size="14.00">Shield</text>
<polygon fill="#000000" stroke="none" points="277.5,-103 277.5,-105 481.5,-105 481.5,-103 277.5,-103"/>
<text text-anchor="start" x="308.62" y="-87.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge1" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M133.5,-101.25C211.68,-103.43 203.31,-196.43 277.5,-194.25"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M133.5,-103.25C209.69,-103.25 201.31,-196.25 277.5,-196.25"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M133.5,-105.25C207.69,-103.07 199.32,-196.07 277.5,-198.25"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge3" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M133.5,-170.25C197.38,-170.25 213.37,-169.25 277.5,-169.25"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M133.5,-172.25C197.5,-172.25 213.5,-171.25 277.5,-171.25"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M133.5,-174.25C197.63,-174.25 213.62,-173.25 277.5,-173.25"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge5" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M133.5,-147.25C197.14,-147.28 213.12,-144.28 277.5,-144.25"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M133.5,-149.25C197.51,-149.25 213.49,-146.25 277.5,-146.25"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M133.5,-151.25C197.88,-151.22 213.86,-148.22 277.5,-148.25"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge7" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M133.5,-103.25C197.5,-103.25 213.5,-104.25 277.5,-104.25"/>
</g>
<!-- X2 -->
<g id="node2" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="805.5,-255.5 625.5,-255.5 625.5,-139 805.5,-139 805.5,-255.5"/>
<polygon fill="none" stroke="black" points="625.5,-231.75 625.5,-255.5 805.5,-255.5 805.5,-231.75 625.5,-231.75"/>
<text text-anchor="start" x="707.25" y="-238.2" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="625.5,-208 625.5,-231.75 718.25,-231.75 718.25,-208 625.5,-208"/>
<text text-anchor="start" x="629.5" y="-214.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="718.25,-208 718.25,-231.75 767.5,-231.75 767.5,-208 718.25,-208"/>
<text text-anchor="start" x="722.25" y="-214.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="767.5,-208 767.5,-231.75 805.5,-231.75 805.5,-208 767.5,-208"/>
<text text-anchor="start" x="771.5" y="-214.45" font-family="arial" font-size="14.00">3&#45;pin</text>
<polygon fill="none" stroke="black" points="625.5,-185 625.5,-208 704,-208 704,-185 625.5,-185"/>
<text text-anchor="start" x="661" y="-190.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="704,-185 704,-208 805.5,-208 805.5,-185 704,-185"/>
<text text-anchor="start" x="739.38" y="-190.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="625.5,-162 625.5,-185 704,-185 704,-162 625.5,-162"/>
<text text-anchor="start" x="661" y="-167.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="704,-162 704,-185 805.5,-185 805.5,-162 704,-162"/>
<text text-anchor="start" x="745.38" y="-167.7" font-family="arial" font-size="14.00">RX</text>
<polygon fill="none" stroke="black" points="625.5,-139 625.5,-162 704,-162 704,-139 625.5,-139"/>
<text text-anchor="start" x="661" y="-144.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="704,-139 704,-162 805.5,-162 805.5,-139 704,-139"/>
<text text-anchor="start" x="746.12" y="-144.7" font-family="arial" font-size="14.00">TX</text>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M481.5,-194.25C545.5,-194.25 561.5,-194.25 625.5,-194.25"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M481.5,-196.25C545.5,-196.25 561.5,-196.25 625.5,-196.25"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M481.5,-198.25C545.5,-198.25 561.5,-198.25 625.5,-198.25"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M481.5,-169.25C544.54,-170.11 559.18,-149.11 625.5,-148.25"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M481.5,-171.25C546.18,-171.25 560.82,-150.25 625.5,-150.25"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M481.5,-173.25C547.82,-172.39 562.46,-151.39 625.5,-152.25"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge6" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M481.5,-144.25C548.4,-145.34 562.17,-172.34 625.5,-171.25"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M481.5,-146.25C546.62,-146.25 560.38,-173.25 625.5,-173.25"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M481.5,-148.25C544.83,-147.16 558.6,-174.16 625.5,-175.25"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

26
examples/demo01.yml Normal file
View File

@ -0,0 +1,26 @@
connectors:
X1:
type: D-Sub
subtype: female
pinlabels: [DCD, RX, TX, DTR, GND, DSR, RTS, CTS, RI]
X2:
type: Molex KK 254
subtype: female
pinlabels: [GND, RX, TX]
cables:
W1:
gauge: 0.25 mm2
length: 0.2
color_code: DIN
wirecount: 3
shield: true
connections:
-
- X1: [5,2,3]
- W1: [1,2,3]
- X2: [1,3,2]
-
- X1: 5
- W1: s

13
examples/demo02.bom.tsv generated Normal file
View File

@ -0,0 +1,13 @@
Id Description Qty Unit Designators
1 Cable, 2 x 0.25 mm² 0.3 m W4
2 Connector, Crimp ferrule, 0.25 mm², YE 2
3 Connector, Molex KK 254, female, 4 pins 2 X2, X3
4 Connector, Molex KK 254, female, 5 pins 1 X4
5 Connector, Molex KK 254, female, 8 pins 1 X1
6 Wire, 0.14 mm², BK 0.9 m W1, W2, W3
7 Wire, 0.14 mm², BU 0.3 m W3
8 Wire, 0.14 mm², GN 0.6 m W1, W2
9 Wire, 0.14 mm², OG 0.3 m W3
10 Wire, 0.14 mm², RD 0.6 m W1, W2
11 Wire, 0.14 mm², VT 0.3 m W3
12 Wire, 0.14 mm², YE 0.6 m W1, W2
1 Id Description Qty Unit Designators
2 1 Cable, 2 x 0.25 mm² 0.3 m W4
3 2 Connector, Crimp ferrule, 0.25 mm², YE 2
4 3 Connector, Molex KK 254, female, 4 pins 2 X2, X3
5 4 Connector, Molex KK 254, female, 5 pins 1 X4
6 5 Connector, Molex KK 254, female, 8 pins 1 X1
7 6 Wire, 0.14 mm², BK 0.9 m W1, W2, W3
8 7 Wire, 0.14 mm², BU 0.3 m W3
9 8 Wire, 0.14 mm², GN 0.6 m W1, W2
10 9 Wire, 0.14 mm², OG 0.3 m W3
11 10 Wire, 0.14 mm², RD 0.6 m W1, W2
12 11 Wire, 0.14 mm², VT 0.3 m W3
13 12 Wire, 0.14 mm², YE 0.6 m W1, W2

549
examples/demo02.gv generated Normal file
View File

@ -0,0 +1,549 @@
graph {
// Graph generated by WireViz 0.4.1
// https://github.com/wireviz/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]
X1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex KK 254</td>
<td balign="left">female</td>
<td balign="left">8-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td>GND</td>
<td port="p1r">1</td>
</tr>
<tr>
<td>+5V</td>
<td port="p2r">2</td>
</tr>
<tr>
<td>SCL</td>
<td port="p3r">3</td>
</tr>
<tr>
<td>SDA</td>
<td port="p4r">4</td>
</tr>
<tr>
<td>MISO</td>
<td port="p5r">5</td>
</tr>
<tr>
<td>MOSI</td>
<td port="p6r">6</td>
</tr>
<tr>
<td>SCK</td>
<td port="p7r">7</td>
</tr>
<tr>
<td>N/C</td>
<td port="p8r">8</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X2</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex KK 254</td>
<td balign="left">female</td>
<td balign="left">4-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1l">1</td>
<td>GND</td>
</tr>
<tr>
<td port="p2l">2</td>
<td>+5V</td>
</tr>
<tr>
<td port="p3l">3</td>
<td>SCL</td>
</tr>
<tr>
<td port="p4l">4</td>
<td>SDA</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X3 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X3</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex KK 254</td>
<td balign="left">female</td>
<td balign="left">4-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1l">1</td>
<td>GND</td>
</tr>
<tr>
<td port="p2l">2</td>
<td>+5V</td>
</tr>
<tr>
<td port="p3l">3</td>
<td>SCL</td>
</tr>
<tr>
<td port="p4l">4</td>
<td>SDA</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X4 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X4</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex KK 254</td>
<td balign="left">female</td>
<td balign="left">5-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1l">1</td>
<td>GND</td>
</tr>
<tr>
<td port="p2l">2</td>
<td>+12V</td>
</tr>
<tr>
<td port="p3l">3</td>
<td>MISO</td>
</tr>
<tr>
<td port="p4l">4</td>
<td>MOSI</td>
</tr>
<tr>
<td port="p5l">5</td>
<td>SCK</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
__F_1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Crimp ferrule</td>
<td balign="left">0.25 mm²</td>
<td balign="left">YE</td>
<td balign="left" bgcolor="#FFFF00" width="4"></td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
__F_2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Crimp ferrule</td>
<td balign="left">0.25 mm²</td>
<td balign="left">YE</td>
<td balign="left" bgcolor="#FFFF00" width="4"></td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
edge [color="#000000:#000000:#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:#ffff00:#000000"]
X1:p3r:e -- W1:w3:w
W1:w3:e -- X2:p3l:w
edge [color="#000000:#00ff00:#000000"]
X1:p4r:e -- W1:w4:w
W1:w4:e -- X2:p4l:w
W1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">4x</td>
<td balign="left">0.14 mm² (26 AWG)</td>
<td balign="left">0.2 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td>X1:1:GND</td>
<td>
BK
</td>
<td>X2:1:GND</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:2:+5V</td>
<td>
RD
</td>
<td>X2:2:+5V</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff0000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:3:SCL</td>
<td>
YE
</td>
<td>X2:3:SCL</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:4:SDA</td>
<td>
GN
</td>
<td>X2:4:SDA</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style="filled,dashed"]
edge [color="#000000:#000000:#000000"]
X1:p1r:e -- W2:w1:w
W2:w1:e -- X3:p1l:w
edge [color="#000000:#ff0000:#000000"]
X1:p2r:e -- W2:w2:w
W2:w2:e -- X3:p2l:w
edge [color="#000000:#ffff00:#000000"]
X1:p3r:e -- W2:w3:w
W2:w3:e -- X3:p3l:w
edge [color="#000000:#00ff00:#000000"]
X1:p4r:e -- W2:w4:w
W2:w4:e -- X3:p4l:w
W2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W2</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">4x</td>
<td balign="left">0.14 mm² (26 AWG)</td>
<td balign="left">0.4 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td>X1:1:GND</td>
<td>
BK
</td>
<td>X3:1:GND</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:2:+5V</td>
<td>
RD
</td>
<td>X3:2:+5V</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff0000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:3:SCL</td>
<td>
YE
</td>
<td>X3:3:SCL</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:4:SDA</td>
<td>
GN
</td>
<td>X3:4:SDA</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style="filled,dashed"]
edge [color="#000000:#000000:#000000"]
X1:p1r:e -- W3:w1:w
W3:w1:e -- X4:p1l:w
edge [color="#000000:#0066ff:#000000"]
X1:p5r:e -- W3:w2:w
W3:w2:e -- X4:p3l:w
edge [color="#000000:#ff8000:#000000"]
X1:p6r:e -- W3:w3:w
W3:w3:e -- X4:p4l:w
edge [color="#000000:#8000ff:#000000"]
X1:p7r:e -- W3:w4:w
W3:w4:e -- X4:p5l:w
W3 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W3</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">4x</td>
<td balign="left">0.14 mm² (26 AWG)</td>
<td balign="left">0.3 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td>X1:1:GND</td>
<td>
BK
</td>
<td>X4:1:GND</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:5:MISO</td>
<td>
BU
</td>
<td>X4:3:MISO</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#0066ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:6:MOSI</td>
<td>
OG
</td>
<td>X4:4:MOSI</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff8000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:7:SCK</td>
<td>
VT
</td>
<td>X4:5:SCK</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#8000ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style="filled,dashed"]
edge [color="#000000:#000000:#000000"]
__F_1:e -- W4:w1:w
W4:w1:e -- X4:p1l:w
edge [color="#000000:#ff0000:#000000"]
__F_2:e -- W4:w2:w
W4:w2:e -- X4:p2l:w
W4 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W4</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">2x</td>
<td balign="left">0.25 mm² (24 AWG)</td>
<td balign="left">0.3 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td></td>
<td>
1:BK
</td>
<td>X4:1:GND</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td></td>
<td>
2:RD
</td>
<td>X4:2:+12V</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff0000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
}

889
examples/demo02.html generated Normal file
View File

@ -0,0 +1,889 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="generator" content="WireViz 0.4.1 - https://github.com/wireviz/WireViz">
<title>WireViz Demo 2</title>
<style>
body {
font-family: arial;
background-color: #ffffff;
}
table, td, th, #frame {
border: 0.35mm solid black; /* line weight based on DIN 15 */
}
table {
padding: 0;
border-bottom: 0;
border-right: 0;
border-spacing: 0mm;
}
td, th {
border-top: 0;
border-left: 0;
overflow: hidden;
/* display: inline-block; */
white-space: nowrap;
font-size: 2.8mm;
}
/* Canvas size based on DIN 823 / DIN 6771 / EN ISO 5457 */
#frame {
position: relative;
}
.A4, .sheetsize_default { /* portrait */
width: 180mm;
height: 277mm;
}
.A3 { /* landscape */
width: 390mm;
height: 277mm;
}
.A2 { /* landscape */
width: 564mm;
height: 400mm;
}
#diagram {
position: relative;
top: 0;
left: 0;
max-width: 100%;
height: calc(100% - 13 * 4.25mm);
/* TODO: auto-adapt to height of title block + BOM table;
BOM table might be above (A4) or to the left (A3 and larger) of the title block */
text-align: center;
vertical-align: middle;
}
#diagram svg, #diagram img {
max-width: 95%;
max-height: 100%;
position: relative;
top: 50%;
transform: translateY(-50%);
}
#titleblock {
position: absolute;
bottom: 0mm;
right: -0mm;
}
#titleblock table {
width: 180mm;
height: 38.25mm;
}
#titleblock tr, #bom tr {
height: 4.25mm;
}
.A4 #bom { /* BOM on top of title block */
position: absolute;
bottom: 38.25mm;
right: 0;
}
.A3 #bom, .A2 #bom { /* BOM to the left of title block */
position: absolute;
bottom: 0mm;
left: 0mm;
}
#bom table {
width:180mm;
}
#bom th, td {
text-align: left;
}
#bom .bom_col_id {
text-align: center;
}
#bom .bom_col_qty {
text-align: right;
}
.name {
width: 16mm;
}
.date {
width: 10mm;
}
.revno {
text-align: center;
width: 6mm;
}
.changelog {
width: 22mm;
}
.process {
width: 18mm;
}
.title {
width: 82mm;
font-size: 5.6mm;
text-align: center;
white-space: normal;
}
.company {
font-size: 4mm;
text-align: center;
white-space: normal;
}
.partno {
font-size: 4mm;
text-align: center;
white-space: normal;
}
.sheetno {
width: 12.75mm;
text-align: center;
}
</style>
<style type="text/css" media="print">
@page {
size: auto;
margin: 0;
}
/* TODO: auto-adjust based on portrait (larger margin on left) or landscape (larger margin on top) */
#page {
margin: 10mm;
margin-left: 20mm;
}
</style>
</head>
<body>
<div id="page">
<div id="frame" class="A3">
<div id="diagram">
<div id="description">
<!-- %description% -->
</div>
<!-- XML and DOCTYPE declarations from SVG file removed -->
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="865pt" height="775pt"
viewBox="0.00 0.00 865.25 774.62" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 770.62)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-770.62 861.25,-770.62 861.25,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="183.62,-523.62 3.62,-523.62 3.62,-292.12 183.62,-292.12 183.62,-523.62"/>
<polygon fill="none" stroke="black" points="3.62,-499.88 3.62,-523.62 183.62,-523.62 183.62,-499.88 3.62,-499.88"/>
<text text-anchor="start" x="85.38" y="-506.32" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="3.62,-476.12 3.62,-499.88 96.38,-499.88 96.38,-476.12 3.62,-476.12"/>
<text text-anchor="start" x="7.62" y="-482.57" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="96.38,-476.12 96.38,-499.88 145.62,-499.88 145.62,-476.12 96.38,-476.12"/>
<text text-anchor="start" x="100.38" y="-482.57" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="145.62,-476.12 145.62,-499.88 183.62,-499.88 183.62,-476.12 145.62,-476.12"/>
<text text-anchor="start" x="149.62" y="-482.57" font-family="arial" font-size="14.00">8&#45;pin</text>
<polygon fill="none" stroke="black" points="3.62,-453.12 3.62,-476.12 108.12,-476.12 108.12,-453.12 3.62,-453.12"/>
<text text-anchor="start" x="40.5" y="-458.82" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="108.12,-453.12 108.12,-476.12 183.62,-476.12 183.62,-453.12 108.12,-453.12"/>
<text text-anchor="start" x="142.12" y="-458.82" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="3.62,-430.12 3.62,-453.12 108.12,-453.12 108.12,-430.12 3.62,-430.12"/>
<text text-anchor="start" x="43.5" y="-435.82" font-family="arial" font-size="14.00">+5V</text>
<polygon fill="none" stroke="black" points="108.12,-430.12 108.12,-453.12 183.62,-453.12 183.62,-430.12 108.12,-430.12"/>
<text text-anchor="start" x="142.12" y="-435.82" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="3.62,-407.12 3.62,-430.12 108.12,-430.12 108.12,-407.12 3.62,-407.12"/>
<text text-anchor="start" x="42.75" y="-412.82" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="108.12,-407.12 108.12,-430.12 183.62,-430.12 183.62,-407.12 108.12,-407.12"/>
<text text-anchor="start" x="142.12" y="-412.82" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="3.62,-384.12 3.62,-407.12 108.12,-407.12 108.12,-384.12 3.62,-384.12"/>
<text text-anchor="start" x="42" y="-389.82" font-family="arial" font-size="14.00">SDA</text>
<polygon fill="none" stroke="black" points="108.12,-384.12 108.12,-407.12 183.62,-407.12 183.62,-384.12 108.12,-384.12"/>
<text text-anchor="start" x="142.12" y="-389.82" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="3.62,-361.12 3.62,-384.12 108.12,-384.12 108.12,-361.12 3.62,-361.12"/>
<text text-anchor="start" x="37.88" y="-366.82" font-family="arial" font-size="14.00">MISO</text>
<polygon fill="none" stroke="black" points="108.12,-361.12 108.12,-384.12 183.62,-384.12 183.62,-361.12 108.12,-361.12"/>
<text text-anchor="start" x="142.12" y="-366.82" font-family="arial" font-size="14.00">5</text>
<polygon fill="none" stroke="black" points="3.62,-338.12 3.62,-361.12 108.12,-361.12 108.12,-338.12 3.62,-338.12"/>
<text text-anchor="start" x="37.88" y="-343.82" font-family="arial" font-size="14.00">MOSI</text>
<polygon fill="none" stroke="black" points="108.12,-338.12 108.12,-361.12 183.62,-361.12 183.62,-338.12 108.12,-338.12"/>
<text text-anchor="start" x="142.12" y="-343.82" font-family="arial" font-size="14.00">6</text>
<polygon fill="none" stroke="black" points="3.62,-315.12 3.62,-338.12 108.12,-338.12 108.12,-315.12 3.62,-315.12"/>
<text text-anchor="start" x="42" y="-320.82" font-family="arial" font-size="14.00">SCK</text>
<polygon fill="none" stroke="black" points="108.12,-315.12 108.12,-338.12 183.62,-338.12 183.62,-315.12 108.12,-315.12"/>
<text text-anchor="start" x="142.12" y="-320.82" font-family="arial" font-size="14.00">7</text>
<polygon fill="none" stroke="black" points="3.62,-292.12 3.62,-315.12 108.12,-315.12 108.12,-292.12 3.62,-292.12"/>
<text text-anchor="start" x="44.25" y="-297.82" font-family="arial" font-size="14.00">N/C</text>
<polygon fill="none" stroke="black" points="108.12,-292.12 108.12,-315.12 183.62,-315.12 183.62,-292.12 108.12,-292.12"/>
<text text-anchor="start" x="142.12" y="-297.82" font-family="arial" font-size="14.00">8</text>
</g>
<!-- W1 -->
<g id="node7" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="530.12,-766.62 334.38,-766.62 334.38,-581.12 530.12,-581.12 530.12,-766.62"/>
<polygon fill="none" stroke="black" points="334.38,-742.88 334.38,-766.62 530.12,-766.62 530.12,-742.88 334.38,-742.88"/>
<text text-anchor="start" x="421.75" y="-749.33" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="334.38,-719.12 334.38,-742.88 356.62,-742.88 356.62,-719.12 334.38,-719.12"/>
<text text-anchor="start" x="338.38" y="-725.58" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="356.62,-719.12 356.62,-742.88 487.62,-742.88 487.62,-719.12 356.62,-719.12"/>
<text text-anchor="start" x="360.62" y="-725.58" font-family="arial" font-size="14.00">0.14 mm² (26 AWG)</text>
<polygon fill="none" stroke="black" points="487.62,-719.12 487.62,-742.88 530.12,-742.88 530.12,-719.12 487.62,-719.12"/>
<text text-anchor="start" x="491.62" y="-725.58" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="366.46" y="-703.83" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="337.21" y="-684.83" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="406.38" y="-684.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="465.04" y="-684.83" font-family="arial" font-size="14.00">X2:1:GND</text>
<polygon fill="#000000" stroke="none" points="334.38,-679.12 334.38,-681.12 530.12,-681.12 530.12,-679.12 334.38,-679.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-677.12 334.38,-679.12 530.12,-679.12 530.12,-677.12 334.38,-677.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-675.12 334.38,-677.12 530.12,-677.12 530.12,-675.12 334.38,-675.12"/>
<text text-anchor="start" x="340.21" y="-659.83" font-family="arial" font-size="14.00">X1:2:+5V</text>
<text text-anchor="start" x="405.62" y="-659.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="468.04" y="-659.83" font-family="arial" font-size="14.00">X2:2:+5V</text>
<polygon fill="#000000" stroke="none" points="334.38,-654.12 334.38,-656.12 530.12,-656.12 530.12,-654.12 334.38,-654.12"/>
<polygon fill="#ff0000" stroke="none" points="334.38,-652.12 334.38,-654.12 530.12,-654.12 530.12,-652.12 334.38,-652.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-650.12 334.38,-652.12 530.12,-652.12 530.12,-650.12 334.38,-650.12"/>
<text text-anchor="start" x="339.46" y="-634.83" font-family="arial" font-size="14.00">X1:3:SCL</text>
<text text-anchor="start" x="406.38" y="-634.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="467.29" y="-634.83" font-family="arial" font-size="14.00">X2:3:SCL</text>
<polygon fill="#000000" stroke="none" points="334.38,-629.12 334.38,-631.12 530.12,-631.12 530.12,-629.12 334.38,-629.12"/>
<polygon fill="#ffff00" stroke="none" points="334.38,-627.12 334.38,-629.12 530.12,-629.12 530.12,-627.12 334.38,-627.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-625.12 334.38,-627.12 530.12,-627.12 530.12,-625.12 334.38,-625.12"/>
<text text-anchor="start" x="338.71" y="-609.83" font-family="arial" font-size="14.00">X1:4:SDA</text>
<text text-anchor="start" x="404.88" y="-609.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;GN &#160;&#160;&#160;</text>
<text text-anchor="start" x="466.54" y="-609.83" font-family="arial" font-size="14.00">X2:4:SDA</text>
<polygon fill="#000000" stroke="none" points="334.38,-604.12 334.38,-606.12 530.12,-606.12 530.12,-604.12 334.38,-604.12"/>
<polygon fill="#00ff00" stroke="none" points="334.38,-602.12 334.38,-604.12 530.12,-604.12 530.12,-602.12 334.38,-602.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-600.12 334.38,-602.12 530.12,-602.12 530.12,-600.12 334.38,-600.12"/>
<text text-anchor="start" x="366.46" y="-584.83" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge1" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-462.88C301.93,-465.6 219.68,-678.6 333.25,-675.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-464.88C300.06,-464.88 217.82,-677.88 333.25,-677.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-466.87C298.19,-464.15 215.95,-677.15 333.25,-679.87"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge3" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-439.88C301.2,-442.59 220.41,-653.59 333.25,-650.88"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M184.62,-441.87C299.33,-441.87 218.54,-652.88 333.25,-652.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-443.87C297.46,-441.16 216.68,-652.16 333.25,-654.87"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge5" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-416.88C300.48,-419.58 221.14,-628.58 333.25,-625.88"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M184.62,-418.88C298.61,-418.88 219.27,-627.88 333.25,-627.87"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-420.87C296.74,-418.17 217.4,-627.17 333.25,-629.87"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge7" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-393.88C299.75,-396.58 221.86,-603.58 333.25,-600.88"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M184.62,-395.88C297.88,-395.87 219.99,-602.88 333.25,-602.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-397.87C296.01,-395.17 218.12,-602.17 333.25,-604.87"/>
</g>
<!-- W2 -->
<g id="node8" class="node">
<title>W2</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="530.12,-556.62 334.38,-556.62 334.38,-371.12 530.12,-371.12 530.12,-556.62"/>
<polygon fill="none" stroke="black" points="334.38,-532.88 334.38,-556.62 530.12,-556.62 530.12,-532.88 334.38,-532.88"/>
<text text-anchor="start" x="421.75" y="-539.33" font-family="arial" font-size="14.00">W2</text>
<polygon fill="none" stroke="black" points="334.38,-509.12 334.38,-532.88 356.62,-532.88 356.62,-509.12 334.38,-509.12"/>
<text text-anchor="start" x="338.38" y="-515.58" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="356.62,-509.12 356.62,-532.88 487.62,-532.88 487.62,-509.12 356.62,-509.12"/>
<text text-anchor="start" x="360.62" y="-515.58" font-family="arial" font-size="14.00">0.14 mm² (26 AWG)</text>
<polygon fill="none" stroke="black" points="487.62,-509.12 487.62,-532.88 530.12,-532.88 530.12,-509.12 487.62,-509.12"/>
<text text-anchor="start" x="491.62" y="-515.58" font-family="arial" font-size="14.00">0.4 m</text>
<text text-anchor="start" x="366.46" y="-493.82" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="337.21" y="-474.82" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="406.38" y="-474.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="465.04" y="-474.82" font-family="arial" font-size="14.00">X3:1:GND</text>
<polygon fill="#000000" stroke="none" points="334.38,-469.12 334.38,-471.12 530.12,-471.12 530.12,-469.12 334.38,-469.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-467.12 334.38,-469.12 530.12,-469.12 530.12,-467.12 334.38,-467.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-465.12 334.38,-467.12 530.12,-467.12 530.12,-465.12 334.38,-465.12"/>
<text text-anchor="start" x="340.21" y="-449.82" font-family="arial" font-size="14.00">X1:2:+5V</text>
<text text-anchor="start" x="405.62" y="-449.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="468.04" y="-449.82" font-family="arial" font-size="14.00">X3:2:+5V</text>
<polygon fill="#000000" stroke="none" points="334.38,-444.12 334.38,-446.12 530.12,-446.12 530.12,-444.12 334.38,-444.12"/>
<polygon fill="#ff0000" stroke="none" points="334.38,-442.12 334.38,-444.12 530.12,-444.12 530.12,-442.12 334.38,-442.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-440.12 334.38,-442.12 530.12,-442.12 530.12,-440.12 334.38,-440.12"/>
<text text-anchor="start" x="339.46" y="-424.82" font-family="arial" font-size="14.00">X1:3:SCL</text>
<text text-anchor="start" x="406.38" y="-424.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="467.29" y="-424.82" font-family="arial" font-size="14.00">X3:3:SCL</text>
<polygon fill="#000000" stroke="none" points="334.38,-419.12 334.38,-421.12 530.12,-421.12 530.12,-419.12 334.38,-419.12"/>
<polygon fill="#ffff00" stroke="none" points="334.38,-417.12 334.38,-419.12 530.12,-419.12 530.12,-417.12 334.38,-417.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-415.12 334.38,-417.12 530.12,-417.12 530.12,-415.12 334.38,-415.12"/>
<text text-anchor="start" x="338.71" y="-399.82" font-family="arial" font-size="14.00">X1:4:SDA</text>
<text text-anchor="start" x="404.88" y="-399.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;GN &#160;&#160;&#160;</text>
<text text-anchor="start" x="466.54" y="-399.82" font-family="arial" font-size="14.00">X3:4:SDA</text>
<polygon fill="#000000" stroke="none" points="334.38,-394.12 334.38,-396.12 530.12,-396.12 530.12,-394.12 334.38,-394.12"/>
<polygon fill="#00ff00" stroke="none" points="334.38,-392.12 334.38,-394.12 530.12,-394.12 530.12,-392.12 334.38,-392.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-390.12 334.38,-392.12 530.12,-392.12 530.12,-390.12 334.38,-390.12"/>
<text text-anchor="start" x="366.46" y="-374.82" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W2 -->
<g id="edge9" class="edge">
<title>X1:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-462.88C251.05,-462.91 267.54,-465.91 333.25,-465.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-464.88C250.69,-464.88 267.18,-467.88 333.25,-467.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-466.87C250.34,-466.84 266.82,-469.84 333.25,-469.87"/>
</g>
<!-- X1&#45;&#45;W2 -->
<g id="edge11" class="edge">
<title>X1:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-439.88C250.8,-439.88 267.31,-440.88 333.25,-440.88"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M184.62,-441.87C250.68,-441.88 267.19,-442.88 333.25,-442.87"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-443.87C250.56,-443.87 267.07,-444.87 333.25,-444.87"/>
</g>
<!-- X1&#45;&#45;W2 -->
<g id="edge13" class="edge">
<title>X1:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-416.88C250.56,-416.88 267.07,-415.88 333.25,-415.88"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M184.62,-418.87C250.68,-418.88 267.19,-417.88 333.25,-417.87"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-420.87C250.8,-420.87 267.31,-419.87 333.25,-419.87"/>
</g>
<!-- X1&#45;&#45;W2 -->
<g id="edge15" class="edge">
<title>X1:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-393.88C250.34,-393.91 266.82,-390.91 333.25,-390.88"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M184.62,-395.88C250.69,-395.88 267.18,-392.88 333.25,-392.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-397.87C251.05,-397.84 267.54,-394.84 333.25,-394.87"/>
</g>
<!-- W3 -->
<g id="node9" class="node">
<title>W3</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="533.25,-346.62 331.25,-346.62 331.25,-161.12 533.25,-161.12 533.25,-346.62"/>
<polygon fill="none" stroke="black" points="331.25,-322.88 331.25,-346.62 533.25,-346.62 533.25,-322.88 331.25,-322.88"/>
<text text-anchor="start" x="421.75" y="-329.32" font-family="arial" font-size="14.00">W3</text>
<polygon fill="none" stroke="black" points="331.25,-299.12 331.25,-322.88 355.58,-322.88 355.58,-299.12 331.25,-299.12"/>
<text text-anchor="start" x="336.29" y="-305.57" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="355.58,-299.12 355.58,-322.88 488.67,-322.88 488.67,-299.12 355.58,-299.12"/>
<text text-anchor="start" x="360.62" y="-305.57" font-family="arial" font-size="14.00">0.14 mm² (26 AWG)</text>
<polygon fill="none" stroke="black" points="488.67,-299.12 488.67,-322.88 533.25,-322.88 533.25,-299.12 488.67,-299.12"/>
<text text-anchor="start" x="493.71" y="-305.57" font-family="arial" font-size="14.00">0.3 m</text>
<text text-anchor="start" x="364.88" y="-283.82" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="335.62" y="-264.82" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="406.38" y="-264.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="466.62" y="-264.82" font-family="arial" font-size="14.00">X4:1:GND</text>
<polygon fill="#000000" stroke="none" points="331.25,-259.12 331.25,-261.12 533.25,-261.12 533.25,-259.12 331.25,-259.12"/>
<polygon fill="#000000" stroke="none" points="331.25,-257.12 331.25,-259.12 533.25,-259.12 533.25,-257.12 331.25,-257.12"/>
<polygon fill="#000000" stroke="none" points="331.25,-255.12 331.25,-257.12 533.25,-257.12 533.25,-255.12 331.25,-255.12"/>
<text text-anchor="start" x="333" y="-239.82" font-family="arial" font-size="14.00">X1:5:MISO</text>
<text text-anchor="start" x="406" y="-239.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BU &#160;&#160;&#160;</text>
<text text-anchor="start" x="464" y="-239.82" font-family="arial" font-size="14.00">X4:3:MISO</text>
<polygon fill="#000000" stroke="none" points="331.25,-234.12 331.25,-236.12 533.25,-236.12 533.25,-234.12 331.25,-234.12"/>
<polygon fill="#0066ff" stroke="none" points="331.25,-232.12 331.25,-234.12 533.25,-234.12 533.25,-232.12 331.25,-232.12"/>
<polygon fill="#000000" stroke="none" points="331.25,-230.12 331.25,-232.12 533.25,-232.12 533.25,-230.12 331.25,-230.12"/>
<text text-anchor="start" x="333" y="-214.82" font-family="arial" font-size="14.00">X1:6:MOSI</text>
<text text-anchor="start" x="404.12" y="-214.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;OG &#160;&#160;&#160;</text>
<text text-anchor="start" x="464" y="-214.82" font-family="arial" font-size="14.00">X4:4:MOSI</text>
<polygon fill="#000000" stroke="none" points="331.25,-209.12 331.25,-211.12 533.25,-211.12 533.25,-209.12 331.25,-209.12"/>
<polygon fill="#ff8000" stroke="none" points="331.25,-207.12 331.25,-209.12 533.25,-209.12 533.25,-207.12 331.25,-207.12"/>
<polygon fill="#000000" stroke="none" points="331.25,-205.12 331.25,-207.12 533.25,-207.12 533.25,-205.12 331.25,-205.12"/>
<text text-anchor="start" x="337.12" y="-189.82" font-family="arial" font-size="14.00">X1:7:SCK</text>
<text text-anchor="start" x="406.75" y="-189.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;VT &#160;&#160;&#160;</text>
<text text-anchor="start" x="468.12" y="-189.82" font-family="arial" font-size="14.00">X4:5:SCK</text>
<polygon fill="#000000" stroke="none" points="331.25,-184.12 331.25,-186.12 533.25,-186.12 533.25,-184.12 331.25,-184.12"/>
<polygon fill="#8000ff" stroke="none" points="331.25,-182.12 331.25,-184.12 533.25,-184.12 533.25,-182.12 331.25,-182.12"/>
<polygon fill="#000000" stroke="none" points="331.25,-180.12 331.25,-182.12 533.25,-182.12 533.25,-180.12 331.25,-180.12"/>
<text text-anchor="start" x="364.88" y="-164.82" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W3 -->
<g id="edge17" class="edge">
<title>X1:e&#45;&#45;W3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-462.88C295.5,-465.59 216.64,-258.59 331.25,-255.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-464.87C297.37,-464.88 218.51,-257.88 331.25,-257.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-466.87C299.24,-464.16 220.38,-257.16 331.25,-259.87"/>
</g>
<!-- X1&#45;&#45;W3 -->
<g id="edge19" class="edge">
<title>X1:e&#45;&#45;W3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-370.88C272.78,-373.34 239.2,-233.34 331.25,-230.88"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M184.62,-372.88C274.73,-372.87 241.15,-232.88 331.25,-232.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-374.87C276.67,-372.41 243.09,-232.41 331.25,-234.87"/>
</g>
<!-- X1&#45;&#45;W3 -->
<g id="edge21" class="edge">
<title>X1:e&#45;&#45;W3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-347.88C273.4,-350.35 238.59,-208.35 331.25,-205.88"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M184.62,-349.88C275.34,-349.87 240.53,-207.88 331.25,-207.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-351.87C277.29,-349.4 242.47,-207.4 331.25,-209.87"/>
</g>
<!-- X1&#45;&#45;W3 -->
<g id="edge23" class="edge">
<title>X1:e&#45;&#45;W3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-324.88C274.02,-327.36 237.97,-183.36 331.25,-180.88"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M184.62,-326.88C275.96,-326.87 239.91,-182.88 331.25,-182.87"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-328.87C277.9,-326.39 241.85,-182.39 331.25,-184.87"/>
</g>
<!-- X2 -->
<g id="node2" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="857.25,-733.62 677.25,-733.62 677.25,-594.12 857.25,-594.12 857.25,-733.62"/>
<polygon fill="none" stroke="black" points="677.25,-709.88 677.25,-733.62 857.25,-733.62 857.25,-709.88 677.25,-709.88"/>
<text text-anchor="start" x="759" y="-716.33" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="677.25,-686.12 677.25,-709.88 770,-709.88 770,-686.12 677.25,-686.12"/>
<text text-anchor="start" x="681.25" y="-692.58" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="770,-686.12 770,-709.88 819.25,-709.88 819.25,-686.12 770,-686.12"/>
<text text-anchor="start" x="774" y="-692.58" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="819.25,-686.12 819.25,-709.88 857.25,-709.88 857.25,-686.12 819.25,-686.12"/>
<text text-anchor="start" x="823.25" y="-692.58" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="677.25,-663.12 677.25,-686.12 755.75,-686.12 755.75,-663.12 677.25,-663.12"/>
<text text-anchor="start" x="712.75" y="-668.83" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="755.75,-663.12 755.75,-686.12 857.25,-686.12 857.25,-663.12 755.75,-663.12"/>
<text text-anchor="start" x="791.12" y="-668.83" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="677.25,-640.12 677.25,-663.12 755.75,-663.12 755.75,-640.12 677.25,-640.12"/>
<text text-anchor="start" x="712.75" y="-645.83" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="755.75,-640.12 755.75,-663.12 857.25,-663.12 857.25,-640.12 755.75,-640.12"/>
<text text-anchor="start" x="794.12" y="-645.83" font-family="arial" font-size="14.00">+5V</text>
<polygon fill="none" stroke="black" points="677.25,-617.12 677.25,-640.12 755.75,-640.12 755.75,-617.12 677.25,-617.12"/>
<text text-anchor="start" x="712.75" y="-622.83" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="755.75,-617.12 755.75,-640.12 857.25,-640.12 857.25,-617.12 755.75,-617.12"/>
<text text-anchor="start" x="793.38" y="-622.83" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="677.25,-594.12 677.25,-617.12 755.75,-617.12 755.75,-594.12 677.25,-594.12"/>
<text text-anchor="start" x="712.75" y="-599.83" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="755.75,-594.12 755.75,-617.12 857.25,-617.12 857.25,-594.12 755.75,-594.12"/>
<text text-anchor="start" x="792.62" y="-599.83" font-family="arial" font-size="14.00">SDA</text>
</g>
<!-- X3 -->
<g id="node3" class="node">
<title>X3</title>
<polygon fill="#ffffff" stroke="black" points="857.25,-523.62 677.25,-523.62 677.25,-384.12 857.25,-384.12 857.25,-523.62"/>
<polygon fill="none" stroke="black" points="677.25,-499.88 677.25,-523.62 857.25,-523.62 857.25,-499.88 677.25,-499.88"/>
<text text-anchor="start" x="759" y="-506.32" font-family="arial" font-size="14.00">X3</text>
<polygon fill="none" stroke="black" points="677.25,-476.12 677.25,-499.88 770,-499.88 770,-476.12 677.25,-476.12"/>
<text text-anchor="start" x="681.25" y="-482.57" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="770,-476.12 770,-499.88 819.25,-499.88 819.25,-476.12 770,-476.12"/>
<text text-anchor="start" x="774" y="-482.57" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="819.25,-476.12 819.25,-499.88 857.25,-499.88 857.25,-476.12 819.25,-476.12"/>
<text text-anchor="start" x="823.25" y="-482.57" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="677.25,-453.12 677.25,-476.12 755.75,-476.12 755.75,-453.12 677.25,-453.12"/>
<text text-anchor="start" x="712.75" y="-458.82" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="755.75,-453.12 755.75,-476.12 857.25,-476.12 857.25,-453.12 755.75,-453.12"/>
<text text-anchor="start" x="791.12" y="-458.82" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="677.25,-430.12 677.25,-453.12 755.75,-453.12 755.75,-430.12 677.25,-430.12"/>
<text text-anchor="start" x="712.75" y="-435.82" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="755.75,-430.12 755.75,-453.12 857.25,-453.12 857.25,-430.12 755.75,-430.12"/>
<text text-anchor="start" x="794.12" y="-435.82" font-family="arial" font-size="14.00">+5V</text>
<polygon fill="none" stroke="black" points="677.25,-407.12 677.25,-430.12 755.75,-430.12 755.75,-407.12 677.25,-407.12"/>
<text text-anchor="start" x="712.75" y="-412.82" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="755.75,-407.12 755.75,-430.12 857.25,-430.12 857.25,-407.12 755.75,-407.12"/>
<text text-anchor="start" x="793.38" y="-412.82" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="677.25,-384.12 677.25,-407.12 755.75,-407.12 755.75,-384.12 677.25,-384.12"/>
<text text-anchor="start" x="712.75" y="-389.82" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="755.75,-384.12 755.75,-407.12 857.25,-407.12 857.25,-384.12 755.75,-384.12"/>
<text text-anchor="start" x="792.62" y="-389.82" font-family="arial" font-size="14.00">SDA</text>
</g>
<!-- X4 -->
<g id="node4" class="node">
<title>X4</title>
<polygon fill="#ffffff" stroke="black" points="857.25,-325.12 677.25,-325.12 677.25,-162.62 857.25,-162.62 857.25,-325.12"/>
<polygon fill="none" stroke="black" points="677.25,-301.38 677.25,-325.12 857.25,-325.12 857.25,-301.38 677.25,-301.38"/>
<text text-anchor="start" x="759" y="-307.82" font-family="arial" font-size="14.00">X4</text>
<polygon fill="none" stroke="black" points="677.25,-277.62 677.25,-301.38 770,-301.38 770,-277.62 677.25,-277.62"/>
<text text-anchor="start" x="681.25" y="-284.07" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="770,-277.62 770,-301.38 819.25,-301.38 819.25,-277.62 770,-277.62"/>
<text text-anchor="start" x="774" y="-284.07" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="819.25,-277.62 819.25,-301.38 857.25,-301.38 857.25,-277.62 819.25,-277.62"/>
<text text-anchor="start" x="823.25" y="-284.07" font-family="arial" font-size="14.00">5&#45;pin</text>
<polygon fill="none" stroke="black" points="677.25,-254.62 677.25,-277.62 752.75,-277.62 752.75,-254.62 677.25,-254.62"/>
<text text-anchor="start" x="711.25" y="-260.32" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="752.75,-254.62 752.75,-277.62 857.25,-277.62 857.25,-254.62 752.75,-254.62"/>
<text text-anchor="start" x="789.62" y="-260.32" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="677.25,-231.62 677.25,-254.62 752.75,-254.62 752.75,-231.62 677.25,-231.62"/>
<text text-anchor="start" x="711.25" y="-237.32" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="752.75,-231.62 752.75,-254.62 857.25,-254.62 857.25,-231.62 752.75,-231.62"/>
<text text-anchor="start" x="788.88" y="-237.32" font-family="arial" font-size="14.00">+12V</text>
<polygon fill="none" stroke="black" points="677.25,-208.62 677.25,-231.62 752.75,-231.62 752.75,-208.62 677.25,-208.62"/>
<text text-anchor="start" x="711.25" y="-214.32" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="752.75,-208.62 752.75,-231.62 857.25,-231.62 857.25,-208.62 752.75,-208.62"/>
<text text-anchor="start" x="787" y="-214.32" font-family="arial" font-size="14.00">MISO</text>
<polygon fill="none" stroke="black" points="677.25,-185.62 677.25,-208.62 752.75,-208.62 752.75,-185.62 677.25,-185.62"/>
<text text-anchor="start" x="711.25" y="-191.32" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="752.75,-185.62 752.75,-208.62 857.25,-208.62 857.25,-185.62 752.75,-185.62"/>
<text text-anchor="start" x="787" y="-191.32" font-family="arial" font-size="14.00">MOSI</text>
<polygon fill="none" stroke="black" points="677.25,-162.62 677.25,-185.62 752.75,-185.62 752.75,-162.62 677.25,-162.62"/>
<text text-anchor="start" x="711.25" y="-168.32" font-family="arial" font-size="14.00">5</text>
<polygon fill="none" stroke="black" points="752.75,-162.62 752.75,-185.62 857.25,-185.62 857.25,-162.62 752.75,-162.62"/>
<text text-anchor="start" x="791.12" y="-168.32" font-family="arial" font-size="14.00">SCK</text>
</g>
<!-- __F_1 -->
<g id="node5" class="node">
<title>__F_1</title>
<polygon fill="#ffffff" stroke="black" points="187.25,-71.75 0,-71.75 0,-48 187.25,-48 187.25,-71.75"/>
<polygon fill="none" stroke="black" points="0,-48 0,-71.75 86.75,-71.75 86.75,-48 0,-48"/>
<text text-anchor="start" x="4" y="-54.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
<polygon fill="none" stroke="black" points="86.75,-48 86.75,-71.75 153.25,-71.75 153.25,-48 86.75,-48"/>
<text text-anchor="start" x="90.75" y="-54.45" font-family="arial" font-size="14.00">0.25 mm²</text>
<polygon fill="none" stroke="black" points="153.25,-48 153.25,-71.75 179.25,-71.75 179.25,-48 153.25,-48"/>
<text text-anchor="start" x="157.25" y="-54.45" font-family="arial" font-size="14.00">YE</text>
<polygon fill="#ffff00" stroke="none" points="179.25,-48 179.25,-71.75 187.25,-71.75 187.25,-48 179.25,-48"/>
<polygon fill="none" stroke="black" points="179.25,-48 179.25,-71.75 187.25,-71.75 187.25,-48 179.25,-48"/>
</g>
<!-- W4 -->
<g id="node10" class="node">
<title>W4</title>
<polygon fill="#ffffff" stroke="black" points="530.12,-136.62 334.38,-136.62 334.38,-1.12 530.12,-1.12 530.12,-136.62"/>
<polygon fill="none" stroke="black" points="334.38,-112.88 334.38,-136.62 530.12,-136.62 530.12,-112.88 334.38,-112.88"/>
<text text-anchor="start" x="421.75" y="-119.33" font-family="arial" font-size="14.00">W4</text>
<polygon fill="none" stroke="black" points="334.38,-89.12 334.38,-112.88 356.62,-112.88 356.62,-89.12 334.38,-89.12"/>
<text text-anchor="start" x="338.38" y="-95.58" font-family="arial" font-size="14.00">2x</text>
<polygon fill="none" stroke="black" points="356.62,-89.12 356.62,-112.88 487.62,-112.88 487.62,-89.12 356.62,-89.12"/>
<text text-anchor="start" x="360.62" y="-95.58" font-family="arial" font-size="14.00">0.25 mm² (24 AWG)</text>
<polygon fill="none" stroke="black" points="487.62,-89.12 487.62,-112.88 530.12,-112.88 530.12,-89.12 487.62,-89.12"/>
<text text-anchor="start" x="491.62" y="-95.58" font-family="arial" font-size="14.00">0.3 m</text>
<text text-anchor="start" x="344.96" y="-73.83" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="370.75" y="-54.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="456.54" y="-54.83" font-family="arial" font-size="14.00">X4:1:GND</text>
<polygon fill="#000000" stroke="none" points="334.38,-49.12 334.38,-51.12 530.12,-51.12 530.12,-49.12 334.38,-49.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-47.12 334.38,-49.12 530.12,-49.12 530.12,-47.12 334.38,-47.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-45.12 334.38,-47.12 530.12,-47.12 530.12,-45.12 334.38,-45.12"/>
<text text-anchor="start" x="370" y="-29.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="455.79" y="-29.82" font-family="arial" font-size="14.00">X4:2:+12V</text>
<polygon fill="#000000" stroke="none" points="334.38,-24.12 334.38,-26.12 530.12,-26.12 530.12,-24.12 334.38,-24.12"/>
<polygon fill="#ff0000" stroke="none" points="334.38,-22.12 334.38,-24.12 530.12,-24.12 530.12,-22.12 334.38,-22.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-20.12 334.38,-22.12 530.12,-22.12 530.12,-20.12 334.38,-20.12"/>
<text text-anchor="start" x="344.96" y="-4.83" font-family="arial" font-size="14.00"> </text>
</g>
<!-- __F_1&#45;&#45;W4 -->
<g id="edge25" class="edge">
<title>__F_1:e&#45;&#45;W4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M187.25,-57.88C251.15,-58.28 266.93,-46.28 333.25,-45.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M187.25,-59.87C252.36,-59.88 268.14,-47.88 333.25,-47.87"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M187.25,-61.87C253.57,-61.47 269.35,-49.47 333.25,-49.87"/>
</g>
<!-- __F_2 -->
<g id="node6" class="node">
<title>__F_2</title>
<polygon fill="#ffffff" stroke="black" points="187.25,-23.75 0,-23.75 0,0 187.25,0 187.25,-23.75"/>
<polygon fill="none" stroke="black" points="0,0 0,-23.75 86.75,-23.75 86.75,0 0,0"/>
<text text-anchor="start" x="4" y="-6.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
<polygon fill="none" stroke="black" points="86.75,0 86.75,-23.75 153.25,-23.75 153.25,0 86.75,0"/>
<text text-anchor="start" x="90.75" y="-6.45" font-family="arial" font-size="14.00">0.25 mm²</text>
<polygon fill="none" stroke="black" points="153.25,0 153.25,-23.75 179.25,-23.75 179.25,0 153.25,0"/>
<text text-anchor="start" x="157.25" y="-6.45" font-family="arial" font-size="14.00">YE</text>
<polygon fill="#ffff00" stroke="none" points="179.25,0 179.25,-23.75 187.25,-23.75 187.25,0 179.25,0"/>
<polygon fill="none" stroke="black" points="179.25,0 179.25,-23.75 187.25,-23.75 187.25,0 179.25,0"/>
</g>
<!-- __F_2&#45;&#45;W4 -->
<g id="edge27" class="edge">
<title>__F_2:e&#45;&#45;W4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M187.25,-9.88C253.46,-10.23 269.32,-21.23 333.25,-20.88"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M187.25,-11.88C252.32,-11.88 268.18,-22.88 333.25,-22.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M187.25,-13.87C251.18,-13.52 267.04,-24.52 333.25,-24.87"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-675.88C595.79,-675.91 611.98,-672.91 677.25,-672.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-677.88C596.15,-677.88 612.35,-674.88 677.25,-674.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-679.87C596.52,-679.84 612.71,-676.84 677.25,-676.87"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-650.88C596.02,-650.88 612.24,-649.88 677.25,-649.88"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M531.25,-652.88C596.14,-652.88 612.36,-651.88 677.25,-651.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-654.87C596.26,-654.87 612.48,-653.87 677.25,-653.87"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge6" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-625.88C596.26,-625.88 612.48,-626.88 677.25,-626.88"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M531.25,-627.88C596.14,-627.88 612.36,-628.88 677.25,-628.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-629.87C596.02,-629.87 612.24,-630.87 677.25,-630.87"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge8" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-600.88C596.52,-600.91 612.71,-603.91 677.25,-603.88"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M531.25,-602.88C596.15,-602.88 612.35,-605.88 677.25,-605.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-604.87C595.79,-604.84 611.98,-607.84 677.25,-607.87"/>
</g>
<!-- W2&#45;&#45;X3 -->
<g id="edge10" class="edge">
<title>W2:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-465.88C595.79,-465.91 611.98,-462.91 677.25,-462.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-467.88C596.15,-467.88 612.35,-464.88 677.25,-464.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-469.87C596.52,-469.84 612.71,-466.84 677.25,-466.87"/>
</g>
<!-- W2&#45;&#45;X3 -->
<g id="edge12" class="edge">
<title>W2:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-440.88C596.02,-440.88 612.24,-439.88 677.25,-439.88"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M531.25,-442.87C596.14,-442.88 612.36,-441.88 677.25,-441.87"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-444.87C596.26,-444.87 612.48,-443.87 677.25,-443.87"/>
</g>
<!-- W2&#45;&#45;X3 -->
<g id="edge14" class="edge">
<title>W2:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-415.88C596.26,-415.88 612.48,-416.88 677.25,-416.88"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M531.25,-417.87C596.14,-417.88 612.36,-418.88 677.25,-418.87"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-419.87C596.02,-419.87 612.24,-420.87 677.25,-420.87"/>
</g>
<!-- W2&#45;&#45;X3 -->
<g id="edge16" class="edge">
<title>W2:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-390.88C596.52,-390.91 612.71,-393.91 677.25,-393.88"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M531.25,-392.88C596.15,-392.88 612.35,-395.88 677.25,-395.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-394.87C595.79,-394.84 611.98,-397.84 677.25,-397.87"/>
</g>
<!-- W3&#45;&#45;X4 -->
<g id="edge18" class="edge">
<title>W3:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M533.25,-255.88C598.25,-256.09 614.05,-264.09 677.25,-263.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M533.25,-257.88C597.35,-257.88 613.15,-265.88 677.25,-265.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M533.25,-259.87C596.45,-259.66 612.25,-267.66 677.25,-267.87"/>
</g>
<!-- W3&#45;&#45;X4 -->
<g id="edge20" class="edge">
<title>W3:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M533.25,-230.88C596.22,-231.34 611.7,-218.34 677.25,-217.88"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M533.25,-232.88C597.51,-232.88 612.99,-219.88 677.25,-219.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M533.25,-234.87C598.8,-234.41 614.28,-221.41 677.25,-221.87"/>
</g>
<!-- W3&#45;&#45;X4 -->
<g id="edge22" class="edge">
<title>W3:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M533.25,-205.88C596.29,-206.24 611.91,-195.24 677.25,-194.88"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M533.25,-207.88C597.44,-207.88 613.06,-196.88 677.25,-196.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M533.25,-209.87C598.59,-209.51 614.21,-198.51 677.25,-198.87"/>
</g>
<!-- W3&#45;&#45;X4 -->
<g id="edge24" class="edge">
<title>W3:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M533.25,-180.88C596.38,-181.14 612.13,-172.14 677.25,-171.88"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M533.25,-182.88C597.37,-182.88 613.13,-173.88 677.25,-173.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M533.25,-184.87C598.37,-184.61 614.12,-175.61 677.25,-175.87"/>
</g>
<!-- W4&#45;&#45;X4 -->
<g id="edge26" class="edge">
<title>W4:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-45.88C649.72,-48.62 562.5,-266.62 677.25,-263.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-47.88C647.86,-47.88 560.64,-265.88 677.25,-265.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-49.87C646,-47.13 558.78,-265.13 677.25,-267.87"/>
</g>
<!-- W4&#45;&#45;X4 -->
<g id="edge28" class="edge">
<title>W4:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-20.88C650.46,-23.62 561.75,-243.62 677.25,-240.88"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M531.25,-22.88C648.6,-22.88 559.9,-242.88 677.25,-242.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-24.87C646.75,-22.13 558.04,-242.13 677.25,-244.87"/>
</g>
</g>
</svg>
<div id="notes">
<!-- %notes% -->
</div>
</div>
<div id="bom">
<table class="bom">
<tr>
<td class="bom_col_id">12</td>
<td class="bom_col_description">Wire, 0.14 mm², YE</td>
<td class="bom_col_qty">0.6</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1, W2</td>
</tr>
<tr>
<td class="bom_col_id">11</td>
<td class="bom_col_description">Wire, 0.14 mm², VT</td>
<td class="bom_col_qty">0.3</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W3</td>
</tr>
<tr>
<td class="bom_col_id">10</td>
<td class="bom_col_description">Wire, 0.14 mm², RD</td>
<td class="bom_col_qty">0.6</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1, W2</td>
</tr>
<tr>
<td class="bom_col_id">9</td>
<td class="bom_col_description">Wire, 0.14 mm², OG</td>
<td class="bom_col_qty">0.3</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W3</td>
</tr>
<tr>
<td class="bom_col_id">8</td>
<td class="bom_col_description">Wire, 0.14 mm², GN</td>
<td class="bom_col_qty">0.6</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1, W2</td>
</tr>
<tr>
<td class="bom_col_id">7</td>
<td class="bom_col_description">Wire, 0.14 mm², BU</td>
<td class="bom_col_qty">0.3</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W3</td>
</tr>
<tr>
<td class="bom_col_id">6</td>
<td class="bom_col_description">Wire, 0.14 mm², BK</td>
<td class="bom_col_qty">0.9</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1, W2, W3</td>
</tr>
<tr>
<td class="bom_col_id">5</td>
<td class="bom_col_description">Connector, Molex KK 254, female, 8 pins</td>
<td class="bom_col_qty">1</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X1</td>
</tr>
<tr>
<td class="bom_col_id">4</td>
<td class="bom_col_description">Connector, Molex KK 254, female, 5 pins</td>
<td class="bom_col_qty">1</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X4</td>
</tr>
<tr>
<td class="bom_col_id">3</td>
<td class="bom_col_description">Connector, Molex KK 254, female, 4 pins</td>
<td class="bom_col_qty">2</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X2, X3</td>
</tr>
<tr>
<td class="bom_col_id">2</td>
<td class="bom_col_description">Connector, Crimp ferrule, 0.25 mm², YE</td>
<td class="bom_col_qty">2</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators"></td>
</tr>
<tr>
<td class="bom_col_id">1</td>
<td class="bom_col_description">Cable, 2 x 0.25 mm²</td>
<td class="bom_col_qty">0.3</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W4</td>
</tr>
<tr>
<th class="bom_col_id">Id</th>
<th class="bom_col_description">Description</th>
<th class="bom_col_qty">Qty</th>
<th class="bom_col_unit">Unit</th>
<th class="bom_col_designators">Designators</th>
</tr>
</table>
</div>
<div id="titleblock">
<table>
<tr>
<td class="revno"><!-- %revisions_8% --></td>
<td class="changelog"><!-- %revisions_8_changelog% --></td>
<td class="date"><!-- %revisions_8_date% --></td>
<td class="name"><!-- %revisions_8_name% --></td>
<td class="process"></td>
<td class="date">Date</td>
<td class="name">Name</td>
<td class="title" colspan="3" rowspan="5">WireViz Demo 2</td>
</tr>
<tr>
<td class="revno"><!-- %revisions_7% --></td>
<td><!-- %revisions_7_changelog% --></td>
<td><!-- %revisions_7_date% --></td>
<td><!-- %revisions_7_name% --></td>
<td>Created</td>
<td>2020-05-20</td>
<td>D. Rojas</td>
</tr>
<tr>
<td class="revno"><!-- %revisions_6% --></td>
<td><!-- %revisions_6_changelog% --></td>
<td><!-- %revisions_6_date% --></td>
<td><!-- %revisions_6_name% --></td>
<td>Approved</td>
<td>2020-05-20</td>
<td>D. Rojas</td>
</tr>
<tr>
<td class="revno"><!-- %revisions_5% --></td>
<td><!-- %revisions_5_changelog% --></td>
<td><!-- %revisions_5_date% --></td>
<td><!-- %revisions_5_name% --></td>
<td><!-- %authors_3% --></td>
<td><!-- %authors_3_date% --></td>
<td><!-- %authors_3_name% --></td>
</tr>
<tr>
<td class="revno"><!-- %revisions_4% --></td>
<td><!-- %revisions_4_changelog% --></td>
<td><!-- %revisions_4_date% --></td>
<td><!-- %revisions_4_name% --></td>
<td colspan="2"></td>
<td></td>
</tr>
<tr>
<td class="revno"><!-- %revisions_3% --></td>
<td><!-- %revisions_3_changelog% --></td>
<td><!-- %revisions_3_date% --></td>
<td><!-- %revisions_3_name% --></td>
<td class="company" colspan="3" rowspan="3"><!-- %company% --></td>
<td class="partno" colspan="2" rowspan="3">WV-DEMO-02</td>
<td class="sheetno" rowspan="2">Sheet<br />1</td>
</tr>
<tr>
<td class="revno"><!-- %revisions_2% --></td>
<td><!-- %revisions_2_changelog% --></td>
<td><!-- %revisions_2_date% --></td>
<td><!-- %revisions_2_name% --></td>
</tr>
<tr>
<td class="revno">A</td>
<td>WireViz 0.2 release</td>
<td>2020-10-17</td>
<td>D. Rojas</td>
<td class="sheetno">of 1</td>
</tr>
<tr>
<td>Rev</td>
<td>Changelog</td>
<td>Date</td>
<td>Name</td>
<td colspan="3"></td>
<td></td>
<td colspan="2"></td>
</tr>
</table>
</div> <!-- /titleblock -->
</div> <!-- /frame -->
</div> <!-- /page -->
</body>
</html>

BIN
examples/demo02.png generated Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

512
examples/demo02.svg generated Normal file
View File

@ -0,0 +1,512 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="865pt" height="775pt"
viewBox="0.00 0.00 865.25 774.62" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 770.62)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-770.62 861.25,-770.62 861.25,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="183.62,-523.62 3.62,-523.62 3.62,-292.12 183.62,-292.12 183.62,-523.62"/>
<polygon fill="none" stroke="black" points="3.62,-499.88 3.62,-523.62 183.62,-523.62 183.62,-499.88 3.62,-499.88"/>
<text text-anchor="start" x="85.38" y="-506.32" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="3.62,-476.12 3.62,-499.88 96.38,-499.88 96.38,-476.12 3.62,-476.12"/>
<text text-anchor="start" x="7.62" y="-482.57" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="96.38,-476.12 96.38,-499.88 145.62,-499.88 145.62,-476.12 96.38,-476.12"/>
<text text-anchor="start" x="100.38" y="-482.57" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="145.62,-476.12 145.62,-499.88 183.62,-499.88 183.62,-476.12 145.62,-476.12"/>
<text text-anchor="start" x="149.62" y="-482.57" font-family="arial" font-size="14.00">8&#45;pin</text>
<polygon fill="none" stroke="black" points="3.62,-453.12 3.62,-476.12 108.12,-476.12 108.12,-453.12 3.62,-453.12"/>
<text text-anchor="start" x="40.5" y="-458.82" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="108.12,-453.12 108.12,-476.12 183.62,-476.12 183.62,-453.12 108.12,-453.12"/>
<text text-anchor="start" x="142.12" y="-458.82" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="3.62,-430.12 3.62,-453.12 108.12,-453.12 108.12,-430.12 3.62,-430.12"/>
<text text-anchor="start" x="43.5" y="-435.82" font-family="arial" font-size="14.00">+5V</text>
<polygon fill="none" stroke="black" points="108.12,-430.12 108.12,-453.12 183.62,-453.12 183.62,-430.12 108.12,-430.12"/>
<text text-anchor="start" x="142.12" y="-435.82" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="3.62,-407.12 3.62,-430.12 108.12,-430.12 108.12,-407.12 3.62,-407.12"/>
<text text-anchor="start" x="42.75" y="-412.82" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="108.12,-407.12 108.12,-430.12 183.62,-430.12 183.62,-407.12 108.12,-407.12"/>
<text text-anchor="start" x="142.12" y="-412.82" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="3.62,-384.12 3.62,-407.12 108.12,-407.12 108.12,-384.12 3.62,-384.12"/>
<text text-anchor="start" x="42" y="-389.82" font-family="arial" font-size="14.00">SDA</text>
<polygon fill="none" stroke="black" points="108.12,-384.12 108.12,-407.12 183.62,-407.12 183.62,-384.12 108.12,-384.12"/>
<text text-anchor="start" x="142.12" y="-389.82" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="3.62,-361.12 3.62,-384.12 108.12,-384.12 108.12,-361.12 3.62,-361.12"/>
<text text-anchor="start" x="37.88" y="-366.82" font-family="arial" font-size="14.00">MISO</text>
<polygon fill="none" stroke="black" points="108.12,-361.12 108.12,-384.12 183.62,-384.12 183.62,-361.12 108.12,-361.12"/>
<text text-anchor="start" x="142.12" y="-366.82" font-family="arial" font-size="14.00">5</text>
<polygon fill="none" stroke="black" points="3.62,-338.12 3.62,-361.12 108.12,-361.12 108.12,-338.12 3.62,-338.12"/>
<text text-anchor="start" x="37.88" y="-343.82" font-family="arial" font-size="14.00">MOSI</text>
<polygon fill="none" stroke="black" points="108.12,-338.12 108.12,-361.12 183.62,-361.12 183.62,-338.12 108.12,-338.12"/>
<text text-anchor="start" x="142.12" y="-343.82" font-family="arial" font-size="14.00">6</text>
<polygon fill="none" stroke="black" points="3.62,-315.12 3.62,-338.12 108.12,-338.12 108.12,-315.12 3.62,-315.12"/>
<text text-anchor="start" x="42" y="-320.82" font-family="arial" font-size="14.00">SCK</text>
<polygon fill="none" stroke="black" points="108.12,-315.12 108.12,-338.12 183.62,-338.12 183.62,-315.12 108.12,-315.12"/>
<text text-anchor="start" x="142.12" y="-320.82" font-family="arial" font-size="14.00">7</text>
<polygon fill="none" stroke="black" points="3.62,-292.12 3.62,-315.12 108.12,-315.12 108.12,-292.12 3.62,-292.12"/>
<text text-anchor="start" x="44.25" y="-297.82" font-family="arial" font-size="14.00">N/C</text>
<polygon fill="none" stroke="black" points="108.12,-292.12 108.12,-315.12 183.62,-315.12 183.62,-292.12 108.12,-292.12"/>
<text text-anchor="start" x="142.12" y="-297.82" font-family="arial" font-size="14.00">8</text>
</g>
<!-- W1 -->
<g id="node7" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="530.12,-766.62 334.38,-766.62 334.38,-581.12 530.12,-581.12 530.12,-766.62"/>
<polygon fill="none" stroke="black" points="334.38,-742.88 334.38,-766.62 530.12,-766.62 530.12,-742.88 334.38,-742.88"/>
<text text-anchor="start" x="421.75" y="-749.33" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="334.38,-719.12 334.38,-742.88 356.62,-742.88 356.62,-719.12 334.38,-719.12"/>
<text text-anchor="start" x="338.38" y="-725.58" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="356.62,-719.12 356.62,-742.88 487.62,-742.88 487.62,-719.12 356.62,-719.12"/>
<text text-anchor="start" x="360.62" y="-725.58" font-family="arial" font-size="14.00">0.14 mm² (26 AWG)</text>
<polygon fill="none" stroke="black" points="487.62,-719.12 487.62,-742.88 530.12,-742.88 530.12,-719.12 487.62,-719.12"/>
<text text-anchor="start" x="491.62" y="-725.58" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="366.46" y="-703.83" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="337.21" y="-684.83" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="406.38" y="-684.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="465.04" y="-684.83" font-family="arial" font-size="14.00">X2:1:GND</text>
<polygon fill="#000000" stroke="none" points="334.38,-679.12 334.38,-681.12 530.12,-681.12 530.12,-679.12 334.38,-679.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-677.12 334.38,-679.12 530.12,-679.12 530.12,-677.12 334.38,-677.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-675.12 334.38,-677.12 530.12,-677.12 530.12,-675.12 334.38,-675.12"/>
<text text-anchor="start" x="340.21" y="-659.83" font-family="arial" font-size="14.00">X1:2:+5V</text>
<text text-anchor="start" x="405.62" y="-659.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="468.04" y="-659.83" font-family="arial" font-size="14.00">X2:2:+5V</text>
<polygon fill="#000000" stroke="none" points="334.38,-654.12 334.38,-656.12 530.12,-656.12 530.12,-654.12 334.38,-654.12"/>
<polygon fill="#ff0000" stroke="none" points="334.38,-652.12 334.38,-654.12 530.12,-654.12 530.12,-652.12 334.38,-652.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-650.12 334.38,-652.12 530.12,-652.12 530.12,-650.12 334.38,-650.12"/>
<text text-anchor="start" x="339.46" y="-634.83" font-family="arial" font-size="14.00">X1:3:SCL</text>
<text text-anchor="start" x="406.38" y="-634.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="467.29" y="-634.83" font-family="arial" font-size="14.00">X2:3:SCL</text>
<polygon fill="#000000" stroke="none" points="334.38,-629.12 334.38,-631.12 530.12,-631.12 530.12,-629.12 334.38,-629.12"/>
<polygon fill="#ffff00" stroke="none" points="334.38,-627.12 334.38,-629.12 530.12,-629.12 530.12,-627.12 334.38,-627.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-625.12 334.38,-627.12 530.12,-627.12 530.12,-625.12 334.38,-625.12"/>
<text text-anchor="start" x="338.71" y="-609.83" font-family="arial" font-size="14.00">X1:4:SDA</text>
<text text-anchor="start" x="404.88" y="-609.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;GN &#160;&#160;&#160;</text>
<text text-anchor="start" x="466.54" y="-609.83" font-family="arial" font-size="14.00">X2:4:SDA</text>
<polygon fill="#000000" stroke="none" points="334.38,-604.12 334.38,-606.12 530.12,-606.12 530.12,-604.12 334.38,-604.12"/>
<polygon fill="#00ff00" stroke="none" points="334.38,-602.12 334.38,-604.12 530.12,-604.12 530.12,-602.12 334.38,-602.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-600.12 334.38,-602.12 530.12,-602.12 530.12,-600.12 334.38,-600.12"/>
<text text-anchor="start" x="366.46" y="-584.83" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge1" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-462.88C301.93,-465.6 219.68,-678.6 333.25,-675.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-464.88C300.06,-464.88 217.82,-677.88 333.25,-677.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-466.87C298.19,-464.15 215.95,-677.15 333.25,-679.87"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge3" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-439.88C301.2,-442.59 220.41,-653.59 333.25,-650.88"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M184.62,-441.87C299.33,-441.87 218.54,-652.88 333.25,-652.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-443.87C297.46,-441.16 216.68,-652.16 333.25,-654.87"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge5" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-416.88C300.48,-419.58 221.14,-628.58 333.25,-625.88"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M184.62,-418.88C298.61,-418.88 219.27,-627.88 333.25,-627.87"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-420.87C296.74,-418.17 217.4,-627.17 333.25,-629.87"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge7" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-393.88C299.75,-396.58 221.86,-603.58 333.25,-600.88"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M184.62,-395.88C297.88,-395.87 219.99,-602.88 333.25,-602.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-397.87C296.01,-395.17 218.12,-602.17 333.25,-604.87"/>
</g>
<!-- W2 -->
<g id="node8" class="node">
<title>W2</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="530.12,-556.62 334.38,-556.62 334.38,-371.12 530.12,-371.12 530.12,-556.62"/>
<polygon fill="none" stroke="black" points="334.38,-532.88 334.38,-556.62 530.12,-556.62 530.12,-532.88 334.38,-532.88"/>
<text text-anchor="start" x="421.75" y="-539.33" font-family="arial" font-size="14.00">W2</text>
<polygon fill="none" stroke="black" points="334.38,-509.12 334.38,-532.88 356.62,-532.88 356.62,-509.12 334.38,-509.12"/>
<text text-anchor="start" x="338.38" y="-515.58" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="356.62,-509.12 356.62,-532.88 487.62,-532.88 487.62,-509.12 356.62,-509.12"/>
<text text-anchor="start" x="360.62" y="-515.58" font-family="arial" font-size="14.00">0.14 mm² (26 AWG)</text>
<polygon fill="none" stroke="black" points="487.62,-509.12 487.62,-532.88 530.12,-532.88 530.12,-509.12 487.62,-509.12"/>
<text text-anchor="start" x="491.62" y="-515.58" font-family="arial" font-size="14.00">0.4 m</text>
<text text-anchor="start" x="366.46" y="-493.82" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="337.21" y="-474.82" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="406.38" y="-474.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="465.04" y="-474.82" font-family="arial" font-size="14.00">X3:1:GND</text>
<polygon fill="#000000" stroke="none" points="334.38,-469.12 334.38,-471.12 530.12,-471.12 530.12,-469.12 334.38,-469.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-467.12 334.38,-469.12 530.12,-469.12 530.12,-467.12 334.38,-467.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-465.12 334.38,-467.12 530.12,-467.12 530.12,-465.12 334.38,-465.12"/>
<text text-anchor="start" x="340.21" y="-449.82" font-family="arial" font-size="14.00">X1:2:+5V</text>
<text text-anchor="start" x="405.62" y="-449.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="468.04" y="-449.82" font-family="arial" font-size="14.00">X3:2:+5V</text>
<polygon fill="#000000" stroke="none" points="334.38,-444.12 334.38,-446.12 530.12,-446.12 530.12,-444.12 334.38,-444.12"/>
<polygon fill="#ff0000" stroke="none" points="334.38,-442.12 334.38,-444.12 530.12,-444.12 530.12,-442.12 334.38,-442.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-440.12 334.38,-442.12 530.12,-442.12 530.12,-440.12 334.38,-440.12"/>
<text text-anchor="start" x="339.46" y="-424.82" font-family="arial" font-size="14.00">X1:3:SCL</text>
<text text-anchor="start" x="406.38" y="-424.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="467.29" y="-424.82" font-family="arial" font-size="14.00">X3:3:SCL</text>
<polygon fill="#000000" stroke="none" points="334.38,-419.12 334.38,-421.12 530.12,-421.12 530.12,-419.12 334.38,-419.12"/>
<polygon fill="#ffff00" stroke="none" points="334.38,-417.12 334.38,-419.12 530.12,-419.12 530.12,-417.12 334.38,-417.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-415.12 334.38,-417.12 530.12,-417.12 530.12,-415.12 334.38,-415.12"/>
<text text-anchor="start" x="338.71" y="-399.82" font-family="arial" font-size="14.00">X1:4:SDA</text>
<text text-anchor="start" x="404.88" y="-399.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;GN &#160;&#160;&#160;</text>
<text text-anchor="start" x="466.54" y="-399.82" font-family="arial" font-size="14.00">X3:4:SDA</text>
<polygon fill="#000000" stroke="none" points="334.38,-394.12 334.38,-396.12 530.12,-396.12 530.12,-394.12 334.38,-394.12"/>
<polygon fill="#00ff00" stroke="none" points="334.38,-392.12 334.38,-394.12 530.12,-394.12 530.12,-392.12 334.38,-392.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-390.12 334.38,-392.12 530.12,-392.12 530.12,-390.12 334.38,-390.12"/>
<text text-anchor="start" x="366.46" y="-374.82" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W2 -->
<g id="edge9" class="edge">
<title>X1:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-462.88C251.05,-462.91 267.54,-465.91 333.25,-465.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-464.88C250.69,-464.88 267.18,-467.88 333.25,-467.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-466.87C250.34,-466.84 266.82,-469.84 333.25,-469.87"/>
</g>
<!-- X1&#45;&#45;W2 -->
<g id="edge11" class="edge">
<title>X1:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-439.88C250.8,-439.88 267.31,-440.88 333.25,-440.88"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M184.62,-441.87C250.68,-441.88 267.19,-442.88 333.25,-442.87"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-443.87C250.56,-443.87 267.07,-444.87 333.25,-444.87"/>
</g>
<!-- X1&#45;&#45;W2 -->
<g id="edge13" class="edge">
<title>X1:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-416.88C250.56,-416.88 267.07,-415.88 333.25,-415.88"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M184.62,-418.87C250.68,-418.88 267.19,-417.88 333.25,-417.87"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-420.87C250.8,-420.87 267.31,-419.87 333.25,-419.87"/>
</g>
<!-- X1&#45;&#45;W2 -->
<g id="edge15" class="edge">
<title>X1:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-393.88C250.34,-393.91 266.82,-390.91 333.25,-390.88"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M184.62,-395.88C250.69,-395.88 267.18,-392.88 333.25,-392.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-397.87C251.05,-397.84 267.54,-394.84 333.25,-394.87"/>
</g>
<!-- W3 -->
<g id="node9" class="node">
<title>W3</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="533.25,-346.62 331.25,-346.62 331.25,-161.12 533.25,-161.12 533.25,-346.62"/>
<polygon fill="none" stroke="black" points="331.25,-322.88 331.25,-346.62 533.25,-346.62 533.25,-322.88 331.25,-322.88"/>
<text text-anchor="start" x="421.75" y="-329.32" font-family="arial" font-size="14.00">W3</text>
<polygon fill="none" stroke="black" points="331.25,-299.12 331.25,-322.88 355.58,-322.88 355.58,-299.12 331.25,-299.12"/>
<text text-anchor="start" x="336.29" y="-305.57" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="355.58,-299.12 355.58,-322.88 488.67,-322.88 488.67,-299.12 355.58,-299.12"/>
<text text-anchor="start" x="360.62" y="-305.57" font-family="arial" font-size="14.00">0.14 mm² (26 AWG)</text>
<polygon fill="none" stroke="black" points="488.67,-299.12 488.67,-322.88 533.25,-322.88 533.25,-299.12 488.67,-299.12"/>
<text text-anchor="start" x="493.71" y="-305.57" font-family="arial" font-size="14.00">0.3 m</text>
<text text-anchor="start" x="364.88" y="-283.82" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="335.62" y="-264.82" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="406.38" y="-264.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="466.62" y="-264.82" font-family="arial" font-size="14.00">X4:1:GND</text>
<polygon fill="#000000" stroke="none" points="331.25,-259.12 331.25,-261.12 533.25,-261.12 533.25,-259.12 331.25,-259.12"/>
<polygon fill="#000000" stroke="none" points="331.25,-257.12 331.25,-259.12 533.25,-259.12 533.25,-257.12 331.25,-257.12"/>
<polygon fill="#000000" stroke="none" points="331.25,-255.12 331.25,-257.12 533.25,-257.12 533.25,-255.12 331.25,-255.12"/>
<text text-anchor="start" x="333" y="-239.82" font-family="arial" font-size="14.00">X1:5:MISO</text>
<text text-anchor="start" x="406" y="-239.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BU &#160;&#160;&#160;</text>
<text text-anchor="start" x="464" y="-239.82" font-family="arial" font-size="14.00">X4:3:MISO</text>
<polygon fill="#000000" stroke="none" points="331.25,-234.12 331.25,-236.12 533.25,-236.12 533.25,-234.12 331.25,-234.12"/>
<polygon fill="#0066ff" stroke="none" points="331.25,-232.12 331.25,-234.12 533.25,-234.12 533.25,-232.12 331.25,-232.12"/>
<polygon fill="#000000" stroke="none" points="331.25,-230.12 331.25,-232.12 533.25,-232.12 533.25,-230.12 331.25,-230.12"/>
<text text-anchor="start" x="333" y="-214.82" font-family="arial" font-size="14.00">X1:6:MOSI</text>
<text text-anchor="start" x="404.12" y="-214.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;OG &#160;&#160;&#160;</text>
<text text-anchor="start" x="464" y="-214.82" font-family="arial" font-size="14.00">X4:4:MOSI</text>
<polygon fill="#000000" stroke="none" points="331.25,-209.12 331.25,-211.12 533.25,-211.12 533.25,-209.12 331.25,-209.12"/>
<polygon fill="#ff8000" stroke="none" points="331.25,-207.12 331.25,-209.12 533.25,-209.12 533.25,-207.12 331.25,-207.12"/>
<polygon fill="#000000" stroke="none" points="331.25,-205.12 331.25,-207.12 533.25,-207.12 533.25,-205.12 331.25,-205.12"/>
<text text-anchor="start" x="337.12" y="-189.82" font-family="arial" font-size="14.00">X1:7:SCK</text>
<text text-anchor="start" x="406.75" y="-189.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;VT &#160;&#160;&#160;</text>
<text text-anchor="start" x="468.12" y="-189.82" font-family="arial" font-size="14.00">X4:5:SCK</text>
<polygon fill="#000000" stroke="none" points="331.25,-184.12 331.25,-186.12 533.25,-186.12 533.25,-184.12 331.25,-184.12"/>
<polygon fill="#8000ff" stroke="none" points="331.25,-182.12 331.25,-184.12 533.25,-184.12 533.25,-182.12 331.25,-182.12"/>
<polygon fill="#000000" stroke="none" points="331.25,-180.12 331.25,-182.12 533.25,-182.12 533.25,-180.12 331.25,-180.12"/>
<text text-anchor="start" x="364.88" y="-164.82" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W3 -->
<g id="edge17" class="edge">
<title>X1:e&#45;&#45;W3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-462.88C295.5,-465.59 216.64,-258.59 331.25,-255.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-464.87C297.37,-464.88 218.51,-257.88 331.25,-257.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-466.87C299.24,-464.16 220.38,-257.16 331.25,-259.87"/>
</g>
<!-- X1&#45;&#45;W3 -->
<g id="edge19" class="edge">
<title>X1:e&#45;&#45;W3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-370.88C272.78,-373.34 239.2,-233.34 331.25,-230.88"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M184.62,-372.88C274.73,-372.87 241.15,-232.88 331.25,-232.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-374.87C276.67,-372.41 243.09,-232.41 331.25,-234.87"/>
</g>
<!-- X1&#45;&#45;W3 -->
<g id="edge21" class="edge">
<title>X1:e&#45;&#45;W3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-347.88C273.4,-350.35 238.59,-208.35 331.25,-205.88"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M184.62,-349.88C275.34,-349.87 240.53,-207.88 331.25,-207.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-351.87C277.29,-349.4 242.47,-207.4 331.25,-209.87"/>
</g>
<!-- X1&#45;&#45;W3 -->
<g id="edge23" class="edge">
<title>X1:e&#45;&#45;W3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-324.88C274.02,-327.36 237.97,-183.36 331.25,-180.88"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M184.62,-326.88C275.96,-326.87 239.91,-182.88 331.25,-182.87"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M184.62,-328.87C277.9,-326.39 241.85,-182.39 331.25,-184.87"/>
</g>
<!-- X2 -->
<g id="node2" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="857.25,-733.62 677.25,-733.62 677.25,-594.12 857.25,-594.12 857.25,-733.62"/>
<polygon fill="none" stroke="black" points="677.25,-709.88 677.25,-733.62 857.25,-733.62 857.25,-709.88 677.25,-709.88"/>
<text text-anchor="start" x="759" y="-716.33" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="677.25,-686.12 677.25,-709.88 770,-709.88 770,-686.12 677.25,-686.12"/>
<text text-anchor="start" x="681.25" y="-692.58" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="770,-686.12 770,-709.88 819.25,-709.88 819.25,-686.12 770,-686.12"/>
<text text-anchor="start" x="774" y="-692.58" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="819.25,-686.12 819.25,-709.88 857.25,-709.88 857.25,-686.12 819.25,-686.12"/>
<text text-anchor="start" x="823.25" y="-692.58" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="677.25,-663.12 677.25,-686.12 755.75,-686.12 755.75,-663.12 677.25,-663.12"/>
<text text-anchor="start" x="712.75" y="-668.83" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="755.75,-663.12 755.75,-686.12 857.25,-686.12 857.25,-663.12 755.75,-663.12"/>
<text text-anchor="start" x="791.12" y="-668.83" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="677.25,-640.12 677.25,-663.12 755.75,-663.12 755.75,-640.12 677.25,-640.12"/>
<text text-anchor="start" x="712.75" y="-645.83" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="755.75,-640.12 755.75,-663.12 857.25,-663.12 857.25,-640.12 755.75,-640.12"/>
<text text-anchor="start" x="794.12" y="-645.83" font-family="arial" font-size="14.00">+5V</text>
<polygon fill="none" stroke="black" points="677.25,-617.12 677.25,-640.12 755.75,-640.12 755.75,-617.12 677.25,-617.12"/>
<text text-anchor="start" x="712.75" y="-622.83" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="755.75,-617.12 755.75,-640.12 857.25,-640.12 857.25,-617.12 755.75,-617.12"/>
<text text-anchor="start" x="793.38" y="-622.83" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="677.25,-594.12 677.25,-617.12 755.75,-617.12 755.75,-594.12 677.25,-594.12"/>
<text text-anchor="start" x="712.75" y="-599.83" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="755.75,-594.12 755.75,-617.12 857.25,-617.12 857.25,-594.12 755.75,-594.12"/>
<text text-anchor="start" x="792.62" y="-599.83" font-family="arial" font-size="14.00">SDA</text>
</g>
<!-- X3 -->
<g id="node3" class="node">
<title>X3</title>
<polygon fill="#ffffff" stroke="black" points="857.25,-523.62 677.25,-523.62 677.25,-384.12 857.25,-384.12 857.25,-523.62"/>
<polygon fill="none" stroke="black" points="677.25,-499.88 677.25,-523.62 857.25,-523.62 857.25,-499.88 677.25,-499.88"/>
<text text-anchor="start" x="759" y="-506.32" font-family="arial" font-size="14.00">X3</text>
<polygon fill="none" stroke="black" points="677.25,-476.12 677.25,-499.88 770,-499.88 770,-476.12 677.25,-476.12"/>
<text text-anchor="start" x="681.25" y="-482.57" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="770,-476.12 770,-499.88 819.25,-499.88 819.25,-476.12 770,-476.12"/>
<text text-anchor="start" x="774" y="-482.57" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="819.25,-476.12 819.25,-499.88 857.25,-499.88 857.25,-476.12 819.25,-476.12"/>
<text text-anchor="start" x="823.25" y="-482.57" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="677.25,-453.12 677.25,-476.12 755.75,-476.12 755.75,-453.12 677.25,-453.12"/>
<text text-anchor="start" x="712.75" y="-458.82" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="755.75,-453.12 755.75,-476.12 857.25,-476.12 857.25,-453.12 755.75,-453.12"/>
<text text-anchor="start" x="791.12" y="-458.82" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="677.25,-430.12 677.25,-453.12 755.75,-453.12 755.75,-430.12 677.25,-430.12"/>
<text text-anchor="start" x="712.75" y="-435.82" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="755.75,-430.12 755.75,-453.12 857.25,-453.12 857.25,-430.12 755.75,-430.12"/>
<text text-anchor="start" x="794.12" y="-435.82" font-family="arial" font-size="14.00">+5V</text>
<polygon fill="none" stroke="black" points="677.25,-407.12 677.25,-430.12 755.75,-430.12 755.75,-407.12 677.25,-407.12"/>
<text text-anchor="start" x="712.75" y="-412.82" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="755.75,-407.12 755.75,-430.12 857.25,-430.12 857.25,-407.12 755.75,-407.12"/>
<text text-anchor="start" x="793.38" y="-412.82" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="677.25,-384.12 677.25,-407.12 755.75,-407.12 755.75,-384.12 677.25,-384.12"/>
<text text-anchor="start" x="712.75" y="-389.82" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="755.75,-384.12 755.75,-407.12 857.25,-407.12 857.25,-384.12 755.75,-384.12"/>
<text text-anchor="start" x="792.62" y="-389.82" font-family="arial" font-size="14.00">SDA</text>
</g>
<!-- X4 -->
<g id="node4" class="node">
<title>X4</title>
<polygon fill="#ffffff" stroke="black" points="857.25,-325.12 677.25,-325.12 677.25,-162.62 857.25,-162.62 857.25,-325.12"/>
<polygon fill="none" stroke="black" points="677.25,-301.38 677.25,-325.12 857.25,-325.12 857.25,-301.38 677.25,-301.38"/>
<text text-anchor="start" x="759" y="-307.82" font-family="arial" font-size="14.00">X4</text>
<polygon fill="none" stroke="black" points="677.25,-277.62 677.25,-301.38 770,-301.38 770,-277.62 677.25,-277.62"/>
<text text-anchor="start" x="681.25" y="-284.07" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="770,-277.62 770,-301.38 819.25,-301.38 819.25,-277.62 770,-277.62"/>
<text text-anchor="start" x="774" y="-284.07" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="819.25,-277.62 819.25,-301.38 857.25,-301.38 857.25,-277.62 819.25,-277.62"/>
<text text-anchor="start" x="823.25" y="-284.07" font-family="arial" font-size="14.00">5&#45;pin</text>
<polygon fill="none" stroke="black" points="677.25,-254.62 677.25,-277.62 752.75,-277.62 752.75,-254.62 677.25,-254.62"/>
<text text-anchor="start" x="711.25" y="-260.32" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="752.75,-254.62 752.75,-277.62 857.25,-277.62 857.25,-254.62 752.75,-254.62"/>
<text text-anchor="start" x="789.62" y="-260.32" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="677.25,-231.62 677.25,-254.62 752.75,-254.62 752.75,-231.62 677.25,-231.62"/>
<text text-anchor="start" x="711.25" y="-237.32" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="752.75,-231.62 752.75,-254.62 857.25,-254.62 857.25,-231.62 752.75,-231.62"/>
<text text-anchor="start" x="788.88" y="-237.32" font-family="arial" font-size="14.00">+12V</text>
<polygon fill="none" stroke="black" points="677.25,-208.62 677.25,-231.62 752.75,-231.62 752.75,-208.62 677.25,-208.62"/>
<text text-anchor="start" x="711.25" y="-214.32" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="752.75,-208.62 752.75,-231.62 857.25,-231.62 857.25,-208.62 752.75,-208.62"/>
<text text-anchor="start" x="787" y="-214.32" font-family="arial" font-size="14.00">MISO</text>
<polygon fill="none" stroke="black" points="677.25,-185.62 677.25,-208.62 752.75,-208.62 752.75,-185.62 677.25,-185.62"/>
<text text-anchor="start" x="711.25" y="-191.32" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="752.75,-185.62 752.75,-208.62 857.25,-208.62 857.25,-185.62 752.75,-185.62"/>
<text text-anchor="start" x="787" y="-191.32" font-family="arial" font-size="14.00">MOSI</text>
<polygon fill="none" stroke="black" points="677.25,-162.62 677.25,-185.62 752.75,-185.62 752.75,-162.62 677.25,-162.62"/>
<text text-anchor="start" x="711.25" y="-168.32" font-family="arial" font-size="14.00">5</text>
<polygon fill="none" stroke="black" points="752.75,-162.62 752.75,-185.62 857.25,-185.62 857.25,-162.62 752.75,-162.62"/>
<text text-anchor="start" x="791.12" y="-168.32" font-family="arial" font-size="14.00">SCK</text>
</g>
<!-- __F_1 -->
<g id="node5" class="node">
<title>__F_1</title>
<polygon fill="#ffffff" stroke="black" points="187.25,-71.75 0,-71.75 0,-48 187.25,-48 187.25,-71.75"/>
<polygon fill="none" stroke="black" points="0,-48 0,-71.75 86.75,-71.75 86.75,-48 0,-48"/>
<text text-anchor="start" x="4" y="-54.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
<polygon fill="none" stroke="black" points="86.75,-48 86.75,-71.75 153.25,-71.75 153.25,-48 86.75,-48"/>
<text text-anchor="start" x="90.75" y="-54.45" font-family="arial" font-size="14.00">0.25 mm²</text>
<polygon fill="none" stroke="black" points="153.25,-48 153.25,-71.75 179.25,-71.75 179.25,-48 153.25,-48"/>
<text text-anchor="start" x="157.25" y="-54.45" font-family="arial" font-size="14.00">YE</text>
<polygon fill="#ffff00" stroke="none" points="179.25,-48 179.25,-71.75 187.25,-71.75 187.25,-48 179.25,-48"/>
<polygon fill="none" stroke="black" points="179.25,-48 179.25,-71.75 187.25,-71.75 187.25,-48 179.25,-48"/>
</g>
<!-- W4 -->
<g id="node10" class="node">
<title>W4</title>
<polygon fill="#ffffff" stroke="black" points="530.12,-136.62 334.38,-136.62 334.38,-1.12 530.12,-1.12 530.12,-136.62"/>
<polygon fill="none" stroke="black" points="334.38,-112.88 334.38,-136.62 530.12,-136.62 530.12,-112.88 334.38,-112.88"/>
<text text-anchor="start" x="421.75" y="-119.33" font-family="arial" font-size="14.00">W4</text>
<polygon fill="none" stroke="black" points="334.38,-89.12 334.38,-112.88 356.62,-112.88 356.62,-89.12 334.38,-89.12"/>
<text text-anchor="start" x="338.38" y="-95.58" font-family="arial" font-size="14.00">2x</text>
<polygon fill="none" stroke="black" points="356.62,-89.12 356.62,-112.88 487.62,-112.88 487.62,-89.12 356.62,-89.12"/>
<text text-anchor="start" x="360.62" y="-95.58" font-family="arial" font-size="14.00">0.25 mm² (24 AWG)</text>
<polygon fill="none" stroke="black" points="487.62,-89.12 487.62,-112.88 530.12,-112.88 530.12,-89.12 487.62,-89.12"/>
<text text-anchor="start" x="491.62" y="-95.58" font-family="arial" font-size="14.00">0.3 m</text>
<text text-anchor="start" x="344.96" y="-73.83" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="370.75" y="-54.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="456.54" y="-54.83" font-family="arial" font-size="14.00">X4:1:GND</text>
<polygon fill="#000000" stroke="none" points="334.38,-49.12 334.38,-51.12 530.12,-51.12 530.12,-49.12 334.38,-49.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-47.12 334.38,-49.12 530.12,-49.12 530.12,-47.12 334.38,-47.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-45.12 334.38,-47.12 530.12,-47.12 530.12,-45.12 334.38,-45.12"/>
<text text-anchor="start" x="370" y="-29.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="455.79" y="-29.82" font-family="arial" font-size="14.00">X4:2:+12V</text>
<polygon fill="#000000" stroke="none" points="334.38,-24.12 334.38,-26.12 530.12,-26.12 530.12,-24.12 334.38,-24.12"/>
<polygon fill="#ff0000" stroke="none" points="334.38,-22.12 334.38,-24.12 530.12,-24.12 530.12,-22.12 334.38,-22.12"/>
<polygon fill="#000000" stroke="none" points="334.38,-20.12 334.38,-22.12 530.12,-22.12 530.12,-20.12 334.38,-20.12"/>
<text text-anchor="start" x="344.96" y="-4.83" font-family="arial" font-size="14.00"> </text>
</g>
<!-- __F_1&#45;&#45;W4 -->
<g id="edge25" class="edge">
<title>__F_1:e&#45;&#45;W4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M187.25,-57.88C251.15,-58.28 266.93,-46.28 333.25,-45.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M187.25,-59.87C252.36,-59.88 268.14,-47.88 333.25,-47.87"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M187.25,-61.87C253.57,-61.47 269.35,-49.47 333.25,-49.87"/>
</g>
<!-- __F_2 -->
<g id="node6" class="node">
<title>__F_2</title>
<polygon fill="#ffffff" stroke="black" points="187.25,-23.75 0,-23.75 0,0 187.25,0 187.25,-23.75"/>
<polygon fill="none" stroke="black" points="0,0 0,-23.75 86.75,-23.75 86.75,0 0,0"/>
<text text-anchor="start" x="4" y="-6.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
<polygon fill="none" stroke="black" points="86.75,0 86.75,-23.75 153.25,-23.75 153.25,0 86.75,0"/>
<text text-anchor="start" x="90.75" y="-6.45" font-family="arial" font-size="14.00">0.25 mm²</text>
<polygon fill="none" stroke="black" points="153.25,0 153.25,-23.75 179.25,-23.75 179.25,0 153.25,0"/>
<text text-anchor="start" x="157.25" y="-6.45" font-family="arial" font-size="14.00">YE</text>
<polygon fill="#ffff00" stroke="none" points="179.25,0 179.25,-23.75 187.25,-23.75 187.25,0 179.25,0"/>
<polygon fill="none" stroke="black" points="179.25,0 179.25,-23.75 187.25,-23.75 187.25,0 179.25,0"/>
</g>
<!-- __F_2&#45;&#45;W4 -->
<g id="edge27" class="edge">
<title>__F_2:e&#45;&#45;W4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M187.25,-9.88C253.46,-10.23 269.32,-21.23 333.25,-20.88"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M187.25,-11.88C252.32,-11.88 268.18,-22.88 333.25,-22.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M187.25,-13.87C251.18,-13.52 267.04,-24.52 333.25,-24.87"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-675.88C595.79,-675.91 611.98,-672.91 677.25,-672.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-677.88C596.15,-677.88 612.35,-674.88 677.25,-674.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-679.87C596.52,-679.84 612.71,-676.84 677.25,-676.87"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-650.88C596.02,-650.88 612.24,-649.88 677.25,-649.88"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M531.25,-652.88C596.14,-652.88 612.36,-651.88 677.25,-651.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-654.87C596.26,-654.87 612.48,-653.87 677.25,-653.87"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge6" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-625.88C596.26,-625.88 612.48,-626.88 677.25,-626.88"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M531.25,-627.88C596.14,-627.88 612.36,-628.88 677.25,-628.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-629.87C596.02,-629.87 612.24,-630.87 677.25,-630.87"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge8" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-600.88C596.52,-600.91 612.71,-603.91 677.25,-603.88"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M531.25,-602.88C596.15,-602.88 612.35,-605.88 677.25,-605.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-604.87C595.79,-604.84 611.98,-607.84 677.25,-607.87"/>
</g>
<!-- W2&#45;&#45;X3 -->
<g id="edge10" class="edge">
<title>W2:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-465.88C595.79,-465.91 611.98,-462.91 677.25,-462.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-467.88C596.15,-467.88 612.35,-464.88 677.25,-464.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-469.87C596.52,-469.84 612.71,-466.84 677.25,-466.87"/>
</g>
<!-- W2&#45;&#45;X3 -->
<g id="edge12" class="edge">
<title>W2:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-440.88C596.02,-440.88 612.24,-439.88 677.25,-439.88"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M531.25,-442.87C596.14,-442.88 612.36,-441.88 677.25,-441.87"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-444.87C596.26,-444.87 612.48,-443.87 677.25,-443.87"/>
</g>
<!-- W2&#45;&#45;X3 -->
<g id="edge14" class="edge">
<title>W2:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-415.88C596.26,-415.88 612.48,-416.88 677.25,-416.88"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M531.25,-417.87C596.14,-417.88 612.36,-418.88 677.25,-418.87"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-419.87C596.02,-419.87 612.24,-420.87 677.25,-420.87"/>
</g>
<!-- W2&#45;&#45;X3 -->
<g id="edge16" class="edge">
<title>W2:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-390.88C596.52,-390.91 612.71,-393.91 677.25,-393.88"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M531.25,-392.88C596.15,-392.88 612.35,-395.88 677.25,-395.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-394.87C595.79,-394.84 611.98,-397.84 677.25,-397.87"/>
</g>
<!-- W3&#45;&#45;X4 -->
<g id="edge18" class="edge">
<title>W3:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M533.25,-255.88C598.25,-256.09 614.05,-264.09 677.25,-263.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M533.25,-257.88C597.35,-257.88 613.15,-265.88 677.25,-265.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M533.25,-259.87C596.45,-259.66 612.25,-267.66 677.25,-267.87"/>
</g>
<!-- W3&#45;&#45;X4 -->
<g id="edge20" class="edge">
<title>W3:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M533.25,-230.88C596.22,-231.34 611.7,-218.34 677.25,-217.88"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M533.25,-232.88C597.51,-232.88 612.99,-219.88 677.25,-219.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M533.25,-234.87C598.8,-234.41 614.28,-221.41 677.25,-221.87"/>
</g>
<!-- W3&#45;&#45;X4 -->
<g id="edge22" class="edge">
<title>W3:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M533.25,-205.88C596.29,-206.24 611.91,-195.24 677.25,-194.88"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M533.25,-207.88C597.44,-207.88 613.06,-196.88 677.25,-196.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M533.25,-209.87C598.59,-209.51 614.21,-198.51 677.25,-198.87"/>
</g>
<!-- W3&#45;&#45;X4 -->
<g id="edge24" class="edge">
<title>W3:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M533.25,-180.88C596.38,-181.14 612.13,-172.14 677.25,-171.88"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M533.25,-182.88C597.37,-182.88 613.13,-173.88 677.25,-173.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M533.25,-184.87C598.37,-184.61 614.12,-175.61 677.25,-175.87"/>
</g>
<!-- W4&#45;&#45;X4 -->
<g id="edge26" class="edge">
<title>W4:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-45.88C649.72,-48.62 562.5,-266.62 677.25,-263.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-47.88C647.86,-47.88 560.64,-265.88 677.25,-265.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-49.87C646,-47.13 558.78,-265.13 677.25,-267.87"/>
</g>
<!-- W4&#45;&#45;X4 -->
<g id="edge28" class="edge">
<title>W4:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-20.88C650.46,-23.62 561.75,-243.62 677.25,-240.88"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M531.25,-22.88C648.6,-22.88 559.9,-242.88 677.25,-242.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M531.25,-24.87C646.75,-22.13 558.04,-242.13 677.25,-244.87"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 42 KiB

91
examples/demo02.yml Normal file
View File

@ -0,0 +1,91 @@
metadata:
title: WireViz Demo 2
pn: WV-DEMO-02
authors:
Created:
name: D. Rojas
date: 2020-05-20
Approved:
name: D. Rojas
date: 2020-05-20
revisions:
A:
name: D. Rojas
date: 2020-10-17
changelog: WireViz 0.2 release
template:
name: din-6771
sheetsize: A3
templates: # defining templates to be used later on
- &molex_f
type: Molex KK 254
subtype: female
- &con_i2c
pinlabels: [GND, +5V, SCL, SDA]
- &wire_i2c
category: bundle
gauge: 0.14 mm2
colors: [BK, RD, YE, GN]
connectors:
X1:
<<: *molex_f # copying items from the template
pinlabels: [GND, +5V, SCL, SDA, MISO, MOSI, SCK, N/C]
X2:
<<: *molex_f
<<: *con_i2c # it is possible to copy from more than one template
X3:
<<: *molex_f
<<: *con_i2c
X4:
<<: *molex_f
pinlabels: [GND, +12V, MISO, MOSI, SCK]
F:
style: simple
type: Crimp ferrule
subtype: 0.25 mm²
color: YE
cables:
W1:
<<: *wire_i2c
length: 0.2
show_equiv: true
W2:
<<: *wire_i2c
length: 0.4
show_equiv: true
W3:
category: bundle
gauge: 0.14 mm2
length: 0.3
colors: [BK, BU, OG, VT]
show_equiv: true
W4:
gauge: 0.25 mm2
length: 0.3
colors: [BK, RD]
show_equiv: true
connections:
-
- X1: [1-4]
- W1: [1-4]
- X2: [1-4]
-
- X1: [1-4]
- W2: [1-4]
- X3: [1-4]
-
- X1: [1,5-7]
- W3: [1-4]
- X4: [1,3-5]
-
- F.
- W4: [1,2]
- X4: [1,2]

3
examples/ex01.bom.tsv generated Normal file
View File

@ -0,0 +1,3 @@
Id Description Qty Unit Designators
1 Cable, Serial, 4 x 0.25 mm² shielded 0.2 m W1
2 Connector, Molex KK 254, female, 4 pins 2 X1, X2
1 Id Description Qty Unit Designators
2 1 Cable, Serial, 4 x 0.25 mm² shielded 0.2 m W1
3 2 Connector, Molex KK 254, female, 4 pins 2 X1, X2

188
examples/ex01.gv generated Normal file
View File

@ -0,0 +1,188 @@
graph {
// Graph generated by WireViz 0.4.1
// https://github.com/wireviz/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]
X1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex KK 254</td>
<td balign="left">female</td>
<td balign="left">4-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td>GND</td>
<td port="p1r">1</td>
</tr>
<tr>
<td>VCC</td>
<td port="p2r">2</td>
</tr>
<tr>
<td>RX</td>
<td port="p3r">3</td>
</tr>
<tr>
<td>TX</td>
<td port="p4r">4</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X2</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex KK 254</td>
<td balign="left">female</td>
<td balign="left">4-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1l">1</td>
<td>GND</td>
</tr>
<tr>
<td port="p2l">2</td>
<td>VCC</td>
</tr>
<tr>
<td port="p3l">3</td>
<td>RX</td>
</tr>
<tr>
<td port="p4l">4</td>
<td>TX</td>
</tr>
</table>
</td></tr>
</table>
> 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=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Serial</td>
<td balign="left">4x</td>
<td balign="left">0.25 mm² (24 AWG)</td>
<td balign="left">+ S</td>
<td balign="left">0.2 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td>X1:1:GND</td>
<td>
1:BN
</td>
<td>X2:1:GND</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#895956" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:2:VCC</td>
<td>
2:RD
</td>
<td>X2:2:VCC</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff0000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:3:RX</td>
<td>
3:OG
</td>
<td>X2:4:TX</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff8000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:4:TX</td>
<td>
4:YE
</td>
<td>X2:3:RX</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td>X1:1:GND</td>
<td>Shield</td>
<td><!-- s_out --></td>
</tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0" port="ws"></td></tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
}

244
examples/ex01.html generated Normal file
View File

@ -0,0 +1,244 @@
<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<meta name="generator" content="WireViz 0.4.1 - https://github.com/wireviz/WireViz">
<title>ex01</title>
<style>
#bom table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
#bom th, td {
padding: 4px;
text-align: left;
}
.bom_col_qty {
text-align: right;
}
</style>
</head><body style="font-family:arial;background-color:#ffffff">
<h1>ex01</h1>
<h2>Diagram</h2>
<div id="description">
<!-- %description% -->
</div>
<div id="diagram">
<!-- XML and DOCTYPE declarations from SVG file removed -->
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="923pt" height="234pt"
viewBox="0.00 0.00 923.25 233.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 229.5)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-229.5 919.25,-229.5 919.25,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="180,-191.5 0,-191.5 0,-52 180,-52 180,-191.5"/>
<polygon fill="none" stroke="black" points="0,-167.75 0,-191.5 180,-191.5 180,-167.75 0,-167.75"/>
<text text-anchor="start" x="81.75" y="-174.2" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-144 0,-167.75 92.75,-167.75 92.75,-144 0,-144"/>
<text text-anchor="start" x="4" y="-150.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="92.75,-144 92.75,-167.75 142,-167.75 142,-144 92.75,-144"/>
<text text-anchor="start" x="96.75" y="-150.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="142,-144 142,-167.75 180,-167.75 180,-144 142,-144"/>
<text text-anchor="start" x="146" y="-150.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-121 0,-144 101.5,-144 101.5,-121 0,-121"/>
<text text-anchor="start" x="35.38" y="-126.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="101.5,-121 101.5,-144 180,-144 180,-121 101.5,-121"/>
<text text-anchor="start" x="137" y="-126.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-98 0,-121 101.5,-121 101.5,-98 0,-98"/>
<text text-anchor="start" x="36.5" y="-103.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="101.5,-98 101.5,-121 180,-121 180,-98 101.5,-98"/>
<text text-anchor="start" x="137" y="-103.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="0,-75 0,-98 101.5,-98 101.5,-75 0,-75"/>
<text text-anchor="start" x="41.38" y="-80.7" font-family="arial" font-size="14.00">RX</text>
<polygon fill="none" stroke="black" points="101.5,-75 101.5,-98 180,-98 180,-75 101.5,-75"/>
<text text-anchor="start" x="137" y="-80.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="0,-52 0,-75 101.5,-75 101.5,-52 0,-52"/>
<text text-anchor="start" x="42.12" y="-57.7" font-family="arial" font-size="14.00">TX</text>
<polygon fill="none" stroke="black" points="101.5,-52 101.5,-75 180,-75 180,-52 101.5,-52"/>
<text text-anchor="start" x="137" y="-57.7" font-family="arial" font-size="14.00">4</text>
</g>
<!-- W1 -->
<g id="node3" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" points="591.25,-225.5 324,-225.5 324,0 591.25,0 591.25,-225.5"/>
<polygon fill="none" stroke="black" points="324,-201.75 324,-225.5 591.25,-225.5 591.25,-201.75 324,-201.75"/>
<text text-anchor="start" x="447.12" y="-208.2" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="324,-178 324,-201.75 366.5,-201.75 366.5,-178 324,-178"/>
<text text-anchor="start" x="328" y="-184.45" font-family="arial" font-size="14.00">Serial</text>
<polygon fill="none" stroke="black" points="366.5,-178 366.5,-201.75 388.75,-201.75 388.75,-178 366.5,-178"/>
<text text-anchor="start" x="370.5" y="-184.45" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="388.75,-178 388.75,-201.75 519.75,-201.75 519.75,-178 388.75,-178"/>
<text text-anchor="start" x="392.75" y="-184.45" font-family="arial" font-size="14.00">0.25 mm² (24 AWG)</text>
<polygon fill="none" stroke="black" points="519.75,-178 519.75,-201.75 548.75,-201.75 548.75,-178 519.75,-178"/>
<text text-anchor="start" x="523.75" y="-184.45" font-family="arial" font-size="14.00">+ S</text>
<polygon fill="none" stroke="black" points="548.75,-178 548.75,-201.75 591.25,-201.75 591.25,-178 548.75,-178"/>
<text text-anchor="start" x="552.75" y="-184.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="365.83" y="-162.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="336.58" y="-143.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="425.75" y="-143.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:BN &#160;&#160;&#160;</text>
<text text-anchor="start" x="516.42" y="-143.7" font-family="arial" font-size="14.00">X2:1:GND</text>
<polygon fill="#000000" stroke="none" points="324,-138 324,-140 591.25,-140 591.25,-138 324,-138"/>
<polygon fill="#895956" stroke="none" points="324,-136 324,-138 591.25,-138 591.25,-136 324,-136"/>
<polygon fill="#000000" stroke="none" points="324,-134 324,-136 591.25,-136 591.25,-134 324,-134"/>
<text text-anchor="start" x="337.71" y="-118.7" font-family="arial" font-size="14.00">X1:2:VCC</text>
<text text-anchor="start" x="425.38" y="-118.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="517.54" y="-118.7" font-family="arial" font-size="14.00">X2:2:VCC</text>
<polygon fill="#000000" stroke="none" points="324,-113 324,-115 591.25,-115 591.25,-113 324,-113"/>
<polygon fill="#ff0000" stroke="none" points="324,-111 324,-113 591.25,-113 591.25,-111 324,-111"/>
<polygon fill="#000000" stroke="none" points="324,-109 324,-111 591.25,-111 591.25,-109 324,-109"/>
<text text-anchor="start" x="342.58" y="-93.7" font-family="arial" font-size="14.00">X1:3:RX</text>
<text text-anchor="start" x="423.88" y="-93.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;3:OG &#160;&#160;&#160;</text>
<text text-anchor="start" x="523.17" y="-93.7" font-family="arial" font-size="14.00">X2:4:TX</text>
<polygon fill="#000000" stroke="none" points="324,-88 324,-90 591.25,-90 591.25,-88 324,-88"/>
<polygon fill="#ff8000" stroke="none" points="324,-86 324,-88 591.25,-88 591.25,-86 324,-86"/>
<polygon fill="#000000" stroke="none" points="324,-84 324,-86 591.25,-86 591.25,-84 324,-84"/>
<text text-anchor="start" x="343.33" y="-68.7" font-family="arial" font-size="14.00">X1:4:TX</text>
<text text-anchor="start" x="426.12" y="-68.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;4:YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="522.42" y="-68.7" font-family="arial" font-size="14.00">X2:3:RX</text>
<polygon fill="#000000" stroke="none" points="324,-63 324,-65 591.25,-65 591.25,-63 324,-63"/>
<polygon fill="#ffff00" stroke="none" points="324,-61 324,-63 591.25,-63 591.25,-61 324,-61"/>
<polygon fill="#000000" stroke="none" points="324,-59 324,-61 591.25,-61 591.25,-59 324,-59"/>
<text text-anchor="start" x="365.83" y="-43.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="336.58" y="-24.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="438.88" y="-24.7" font-family="arial" font-size="14.00">Shield</text>
<polygon fill="#000000" stroke="none" points="324,-19 324,-21 591.25,-21 591.25,-19 324,-19"/>
<text text-anchor="start" x="365.83" y="-3.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge1" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-130.75C244.51,-130.81 260.46,-134.81 324,-134.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M180,-132.75C244.02,-132.75 259.98,-136.75 324,-136.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-134.75C243.54,-134.69 259.49,-138.69 324,-138.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge3" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-107.75C244.25,-107.77 260.24,-109.77 324,-109.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M180,-109.75C244.01,-109.75 259.99,-111.75 324,-111.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-111.75C243.76,-111.73 259.75,-113.73 324,-113.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge5" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-84.75C244,-84.75 260,-84.75 324,-84.75"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M180,-86.75C244,-86.75 260,-86.75 324,-86.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-88.75C244,-88.75 260,-88.75 324,-88.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge7" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-61.75C243.76,-61.77 259.75,-59.77 324,-59.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M180,-63.75C244.01,-63.75 259.99,-61.75 324,-61.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-65.75C244.25,-65.73 260.24,-63.73 324,-63.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge9" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-132.75C261.35,-132.75 242.65,-19.75 324,-19.75"/>
</g>
<!-- X2 -->
<g id="node2" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="915.25,-194.5 735.25,-194.5 735.25,-55 915.25,-55 915.25,-194.5"/>
<polygon fill="none" stroke="black" points="735.25,-170.75 735.25,-194.5 915.25,-194.5 915.25,-170.75 735.25,-170.75"/>
<text text-anchor="start" x="817" y="-177.2" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="735.25,-147 735.25,-170.75 828,-170.75 828,-147 735.25,-147"/>
<text text-anchor="start" x="739.25" y="-153.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="828,-147 828,-170.75 877.25,-170.75 877.25,-147 828,-147"/>
<text text-anchor="start" x="832" y="-153.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="877.25,-147 877.25,-170.75 915.25,-170.75 915.25,-147 877.25,-147"/>
<text text-anchor="start" x="881.25" y="-153.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="735.25,-124 735.25,-147 813.75,-147 813.75,-124 735.25,-124"/>
<text text-anchor="start" x="770.75" y="-129.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="813.75,-124 813.75,-147 915.25,-147 915.25,-124 813.75,-124"/>
<text text-anchor="start" x="849.12" y="-129.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="735.25,-101 735.25,-124 813.75,-124 813.75,-101 735.25,-101"/>
<text text-anchor="start" x="770.75" y="-106.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="813.75,-101 813.75,-124 915.25,-124 915.25,-101 813.75,-101"/>
<text text-anchor="start" x="850.25" y="-106.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="735.25,-78 735.25,-101 813.75,-101 813.75,-78 735.25,-78"/>
<text text-anchor="start" x="770.75" y="-83.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="813.75,-78 813.75,-101 915.25,-101 915.25,-78 813.75,-78"/>
<text text-anchor="start" x="855.12" y="-83.7" font-family="arial" font-size="14.00">RX</text>
<polygon fill="none" stroke="black" points="735.25,-55 735.25,-78 813.75,-78 813.75,-55 735.25,-55"/>
<text text-anchor="start" x="770.75" y="-60.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="813.75,-55 813.75,-78 915.25,-78 915.25,-55 813.75,-55"/>
<text text-anchor="start" x="855.88" y="-60.7" font-family="arial" font-size="14.00">TX</text>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M591.25,-134.75C655.13,-134.75 671.12,-133.75 735.25,-133.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M591.25,-136.75C655.25,-136.75 671.25,-135.75 735.25,-135.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M591.25,-138.75C655.38,-138.75 671.37,-137.75 735.25,-137.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M591.25,-109.75C655.38,-109.75 671.37,-110.75 735.25,-110.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M591.25,-111.75C655.25,-111.75 671.25,-112.75 735.25,-112.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M591.25,-113.75C655.13,-113.75 671.12,-114.75 735.25,-114.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge6" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M591.25,-84.75C654.26,-85.56 669.03,-65.56 735.25,-64.75"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M591.25,-86.75C655.86,-86.75 670.64,-66.75 735.25,-66.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M591.25,-88.75C657.47,-87.94 672.24,-67.94 735.25,-68.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge8" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M591.25,-59.75C658.25,-60.88 671.85,-88.88 735.25,-87.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M591.25,-61.75C656.45,-61.75 670.05,-89.75 735.25,-89.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M591.25,-63.75C654.65,-62.62 668.25,-90.62 735.25,-91.75"/>
</g>
</g>
</svg>
</div>
<div id="notes">
<!-- %notes% -->
</div>
<h2>Bill of Materials</h2>
<div id="bom">
<table class="bom">
<tr>
<th class="bom_col_id">Id</th>
<th class="bom_col_description">Description</th>
<th class="bom_col_qty">Qty</th>
<th class="bom_col_unit">Unit</th>
<th class="bom_col_designators">Designators</th>
</tr>
<tr>
<td class="bom_col_id">1</td>
<td class="bom_col_description">Cable, Serial, 4 x 0.25 mm² shielded</td>
<td class="bom_col_qty">0.2</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1</td>
</tr>
<tr>
<td class="bom_col_id">2</td>
<td class="bom_col_description">Connector, Molex KK 254, female, 4 pins</td>
<td class="bom_col_qty">2</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X1, X2</td>
</tr>
</table>
</div>
</body></html>

BIN
examples/ex01.png generated Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

178
examples/ex01.svg generated Normal file
View File

@ -0,0 +1,178 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="923pt" height="234pt"
viewBox="0.00 0.00 923.25 233.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 229.5)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-229.5 919.25,-229.5 919.25,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="180,-191.5 0,-191.5 0,-52 180,-52 180,-191.5"/>
<polygon fill="none" stroke="black" points="0,-167.75 0,-191.5 180,-191.5 180,-167.75 0,-167.75"/>
<text text-anchor="start" x="81.75" y="-174.2" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-144 0,-167.75 92.75,-167.75 92.75,-144 0,-144"/>
<text text-anchor="start" x="4" y="-150.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="92.75,-144 92.75,-167.75 142,-167.75 142,-144 92.75,-144"/>
<text text-anchor="start" x="96.75" y="-150.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="142,-144 142,-167.75 180,-167.75 180,-144 142,-144"/>
<text text-anchor="start" x="146" y="-150.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-121 0,-144 101.5,-144 101.5,-121 0,-121"/>
<text text-anchor="start" x="35.38" y="-126.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="101.5,-121 101.5,-144 180,-144 180,-121 101.5,-121"/>
<text text-anchor="start" x="137" y="-126.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-98 0,-121 101.5,-121 101.5,-98 0,-98"/>
<text text-anchor="start" x="36.5" y="-103.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="101.5,-98 101.5,-121 180,-121 180,-98 101.5,-98"/>
<text text-anchor="start" x="137" y="-103.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="0,-75 0,-98 101.5,-98 101.5,-75 0,-75"/>
<text text-anchor="start" x="41.38" y="-80.7" font-family="arial" font-size="14.00">RX</text>
<polygon fill="none" stroke="black" points="101.5,-75 101.5,-98 180,-98 180,-75 101.5,-75"/>
<text text-anchor="start" x="137" y="-80.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="0,-52 0,-75 101.5,-75 101.5,-52 0,-52"/>
<text text-anchor="start" x="42.12" y="-57.7" font-family="arial" font-size="14.00">TX</text>
<polygon fill="none" stroke="black" points="101.5,-52 101.5,-75 180,-75 180,-52 101.5,-52"/>
<text text-anchor="start" x="137" y="-57.7" font-family="arial" font-size="14.00">4</text>
</g>
<!-- W1 -->
<g id="node3" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" points="591.25,-225.5 324,-225.5 324,0 591.25,0 591.25,-225.5"/>
<polygon fill="none" stroke="black" points="324,-201.75 324,-225.5 591.25,-225.5 591.25,-201.75 324,-201.75"/>
<text text-anchor="start" x="447.12" y="-208.2" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="324,-178 324,-201.75 366.5,-201.75 366.5,-178 324,-178"/>
<text text-anchor="start" x="328" y="-184.45" font-family="arial" font-size="14.00">Serial</text>
<polygon fill="none" stroke="black" points="366.5,-178 366.5,-201.75 388.75,-201.75 388.75,-178 366.5,-178"/>
<text text-anchor="start" x="370.5" y="-184.45" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="388.75,-178 388.75,-201.75 519.75,-201.75 519.75,-178 388.75,-178"/>
<text text-anchor="start" x="392.75" y="-184.45" font-family="arial" font-size="14.00">0.25 mm² (24 AWG)</text>
<polygon fill="none" stroke="black" points="519.75,-178 519.75,-201.75 548.75,-201.75 548.75,-178 519.75,-178"/>
<text text-anchor="start" x="523.75" y="-184.45" font-family="arial" font-size="14.00">+ S</text>
<polygon fill="none" stroke="black" points="548.75,-178 548.75,-201.75 591.25,-201.75 591.25,-178 548.75,-178"/>
<text text-anchor="start" x="552.75" y="-184.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="365.83" y="-162.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="336.58" y="-143.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="425.75" y="-143.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:BN &#160;&#160;&#160;</text>
<text text-anchor="start" x="516.42" y="-143.7" font-family="arial" font-size="14.00">X2:1:GND</text>
<polygon fill="#000000" stroke="none" points="324,-138 324,-140 591.25,-140 591.25,-138 324,-138"/>
<polygon fill="#895956" stroke="none" points="324,-136 324,-138 591.25,-138 591.25,-136 324,-136"/>
<polygon fill="#000000" stroke="none" points="324,-134 324,-136 591.25,-136 591.25,-134 324,-134"/>
<text text-anchor="start" x="337.71" y="-118.7" font-family="arial" font-size="14.00">X1:2:VCC</text>
<text text-anchor="start" x="425.38" y="-118.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="517.54" y="-118.7" font-family="arial" font-size="14.00">X2:2:VCC</text>
<polygon fill="#000000" stroke="none" points="324,-113 324,-115 591.25,-115 591.25,-113 324,-113"/>
<polygon fill="#ff0000" stroke="none" points="324,-111 324,-113 591.25,-113 591.25,-111 324,-111"/>
<polygon fill="#000000" stroke="none" points="324,-109 324,-111 591.25,-111 591.25,-109 324,-109"/>
<text text-anchor="start" x="342.58" y="-93.7" font-family="arial" font-size="14.00">X1:3:RX</text>
<text text-anchor="start" x="423.88" y="-93.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;3:OG &#160;&#160;&#160;</text>
<text text-anchor="start" x="523.17" y="-93.7" font-family="arial" font-size="14.00">X2:4:TX</text>
<polygon fill="#000000" stroke="none" points="324,-88 324,-90 591.25,-90 591.25,-88 324,-88"/>
<polygon fill="#ff8000" stroke="none" points="324,-86 324,-88 591.25,-88 591.25,-86 324,-86"/>
<polygon fill="#000000" stroke="none" points="324,-84 324,-86 591.25,-86 591.25,-84 324,-84"/>
<text text-anchor="start" x="343.33" y="-68.7" font-family="arial" font-size="14.00">X1:4:TX</text>
<text text-anchor="start" x="426.12" y="-68.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;4:YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="522.42" y="-68.7" font-family="arial" font-size="14.00">X2:3:RX</text>
<polygon fill="#000000" stroke="none" points="324,-63 324,-65 591.25,-65 591.25,-63 324,-63"/>
<polygon fill="#ffff00" stroke="none" points="324,-61 324,-63 591.25,-63 591.25,-61 324,-61"/>
<polygon fill="#000000" stroke="none" points="324,-59 324,-61 591.25,-61 591.25,-59 324,-59"/>
<text text-anchor="start" x="365.83" y="-43.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="336.58" y="-24.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="438.88" y="-24.7" font-family="arial" font-size="14.00">Shield</text>
<polygon fill="#000000" stroke="none" points="324,-19 324,-21 591.25,-21 591.25,-19 324,-19"/>
<text text-anchor="start" x="365.83" y="-3.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge1" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-130.75C244.51,-130.81 260.46,-134.81 324,-134.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M180,-132.75C244.02,-132.75 259.98,-136.75 324,-136.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-134.75C243.54,-134.69 259.49,-138.69 324,-138.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge3" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-107.75C244.25,-107.77 260.24,-109.77 324,-109.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M180,-109.75C244.01,-109.75 259.99,-111.75 324,-111.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-111.75C243.76,-111.73 259.75,-113.73 324,-113.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge5" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-84.75C244,-84.75 260,-84.75 324,-84.75"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M180,-86.75C244,-86.75 260,-86.75 324,-86.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-88.75C244,-88.75 260,-88.75 324,-88.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge7" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-61.75C243.76,-61.77 259.75,-59.77 324,-59.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M180,-63.75C244.01,-63.75 259.99,-61.75 324,-61.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-65.75C244.25,-65.73 260.24,-63.73 324,-63.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge9" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-132.75C261.35,-132.75 242.65,-19.75 324,-19.75"/>
</g>
<!-- X2 -->
<g id="node2" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="915.25,-194.5 735.25,-194.5 735.25,-55 915.25,-55 915.25,-194.5"/>
<polygon fill="none" stroke="black" points="735.25,-170.75 735.25,-194.5 915.25,-194.5 915.25,-170.75 735.25,-170.75"/>
<text text-anchor="start" x="817" y="-177.2" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="735.25,-147 735.25,-170.75 828,-170.75 828,-147 735.25,-147"/>
<text text-anchor="start" x="739.25" y="-153.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="828,-147 828,-170.75 877.25,-170.75 877.25,-147 828,-147"/>
<text text-anchor="start" x="832" y="-153.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="877.25,-147 877.25,-170.75 915.25,-170.75 915.25,-147 877.25,-147"/>
<text text-anchor="start" x="881.25" y="-153.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="735.25,-124 735.25,-147 813.75,-147 813.75,-124 735.25,-124"/>
<text text-anchor="start" x="770.75" y="-129.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="813.75,-124 813.75,-147 915.25,-147 915.25,-124 813.75,-124"/>
<text text-anchor="start" x="849.12" y="-129.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="735.25,-101 735.25,-124 813.75,-124 813.75,-101 735.25,-101"/>
<text text-anchor="start" x="770.75" y="-106.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="813.75,-101 813.75,-124 915.25,-124 915.25,-101 813.75,-101"/>
<text text-anchor="start" x="850.25" y="-106.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="735.25,-78 735.25,-101 813.75,-101 813.75,-78 735.25,-78"/>
<text text-anchor="start" x="770.75" y="-83.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="813.75,-78 813.75,-101 915.25,-101 915.25,-78 813.75,-78"/>
<text text-anchor="start" x="855.12" y="-83.7" font-family="arial" font-size="14.00">RX</text>
<polygon fill="none" stroke="black" points="735.25,-55 735.25,-78 813.75,-78 813.75,-55 735.25,-55"/>
<text text-anchor="start" x="770.75" y="-60.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="813.75,-55 813.75,-78 915.25,-78 915.25,-55 813.75,-55"/>
<text text-anchor="start" x="855.88" y="-60.7" font-family="arial" font-size="14.00">TX</text>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M591.25,-134.75C655.13,-134.75 671.12,-133.75 735.25,-133.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M591.25,-136.75C655.25,-136.75 671.25,-135.75 735.25,-135.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M591.25,-138.75C655.38,-138.75 671.37,-137.75 735.25,-137.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M591.25,-109.75C655.38,-109.75 671.37,-110.75 735.25,-110.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M591.25,-111.75C655.25,-111.75 671.25,-112.75 735.25,-112.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M591.25,-113.75C655.13,-113.75 671.12,-114.75 735.25,-114.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge6" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M591.25,-84.75C654.26,-85.56 669.03,-65.56 735.25,-64.75"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M591.25,-86.75C655.86,-86.75 670.64,-66.75 735.25,-66.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M591.25,-88.75C657.47,-87.94 672.24,-67.94 735.25,-68.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge8" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M591.25,-59.75C658.25,-60.88 671.85,-88.88 735.25,-87.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M591.25,-61.75C656.45,-61.75 670.05,-89.75 735.25,-89.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M591.25,-63.75C654.65,-62.62 668.25,-90.62 735.25,-91.75"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

28
examples/ex01.yml Normal file
View File

@ -0,0 +1,28 @@
connectors:
X1:
type: Molex KK 254 # more information
subtype: female
pinlabels: [GND, VCC, RX, TX] # pincount is implicit in pinout
X2:
type: Molex KK 254
subtype: female
pinlabels: [GND, VCC, RX, TX]
cables:
W1:
color_code: IEC # auto-color wires based on a standard
wirecount: 4 # need to specify number of wires explicitly when using a color code
gauge: 0.25 mm2 # also accepts AWG as unit
show_equiv: true # auto-calculate AWG equivalent from metric gauge
length: 0.2 # length in m
shield: true
type: Serial
connections:
-
- X1: [1-4]
- W1: [1-4]
- X2: [1,2,4,3] # crossover
- # connection from connector pin to wire shielding
- X1: 1
- W1: s

5
examples/ex02.bom.tsv generated Normal file
View File

@ -0,0 +1,5 @@
Id Description Qty Unit Designators
1 Cable, 2 x 0.25 mm² 0.4 m W1, W2
2 Cable, 2 x 20 AWG 0.2 m W3
3 Connector, Molex Micro-Fit, female, 2 pins 3 X2, X3, X4
4 Connector, Molex Micro-Fit, male, 2 pins 1 X1
1 Id Description Qty Unit Designators
2 1 Cable, 2 x 0.25 mm² 0.4 m W1, W2
3 2 Cable, 2 x 20 AWG 0.2 m W3
4 3 Connector, Molex Micro-Fit, female, 2 pins 3 X2, X3, X4
5 4 Connector, Molex Micro-Fit, male, 2 pins 1 X1

299
examples/ex02.gv generated Normal file
View File

@ -0,0 +1,299 @@
graph {
// Graph generated by WireViz 0.4.1
// https://github.com/wireviz/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]
X1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex Micro-Fit</td>
<td balign="left">male</td>
<td balign="left">2-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td>GND</td>
<td port="p1r">1</td>
</tr>
<tr>
<td>VCC</td>
<td port="p2r">2</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X2</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex Micro-Fit</td>
<td balign="left">female</td>
<td balign="left">2-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1l">1</td>
<td>GND</td>
</tr>
<tr>
<td port="p2l">2</td>
<td>VCC</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X3 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X3</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex Micro-Fit</td>
<td balign="left">female</td>
<td balign="left">2-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1l">1</td>
<td>GND</td>
</tr>
<tr>
<td port="p2l">2</td>
<td>VCC</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X4 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X4</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex Micro-Fit</td>
<td balign="left">female</td>
<td balign="left">2-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1l">1</td>
<td>GND</td>
</tr>
<tr>
<td port="p2l">2</td>
<td>VCC</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
edge [color="#000000:#000000:#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
W1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">2x</td>
<td balign="left">0.25 mm² (24 AWG)</td>
<td balign="left">0.2 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td>X1:1:GND</td>
<td>
1:BK
</td>
<td>X2:1:GND</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:2:VCC</td>
<td>
2:RD
</td>
<td>X2:2:VCC</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff0000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
edge [color="#000000:#000000:#000000"]
X1:p1r:e -- W2:w1:w
W2:w1:e -- X3:p1l:w
edge [color="#000000:#ff0000:#000000"]
X1:p2r:e -- W2:w2:w
W2:w2:e -- X3:p2l:w
W2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W2</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">2x</td>
<td balign="left">0.25 mm² (24 AWG)</td>
<td balign="left">0.2 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td>X1:1:GND</td>
<td>
1:BK
</td>
<td>X3:1:GND</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:2:VCC</td>
<td>
2:RD
</td>
<td>X3:2:VCC</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff0000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
edge [color="#000000:#000000:#000000"]
X1:p1r:e -- W3:w1:w
W3:w1:e -- X4:p1l:w
edge [color="#000000:#ff0000:#000000"]
X1:p2r:e -- W3:w2:w
W3:w2:e -- X4:p2l:w
W3 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W3</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">2x</td>
<td balign="left">20 AWG (0.75 mm²)</td>
<td balign="left">0.2 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td>X1:1:GND</td>
<td>
1:BK
</td>
<td>X4:1:GND</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:2:VCC</td>
<td>
2:RD
</td>
<td>X4:2:VCC</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff0000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
}

341
examples/ex02.html generated Normal file
View File

@ -0,0 +1,341 @@
<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<meta name="generator" content="WireViz 0.4.1 - https://github.com/wireviz/WireViz">
<title>ex02</title>
<style>
#bom table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
#bom th, td {
padding: 4px;
text-align: left;
}
.bom_col_qty {
text-align: right;
}
</style>
</head><body style="font-family:arial;background-color:#ffffff">
<h1>ex02</h1>
<h2>Diagram</h2>
<div id="description">
<!-- %description% -->
</div>
<div id="diagram">
<!-- XML and DOCTYPE declarations from SVG file removed -->
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="863pt" height="464pt"
viewBox="0.00 0.00 862.75 463.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 459.5)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-459.5 858.75,-459.5 858.75,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="177.75,-264.5 0,-264.5 0,-171 177.75,-171 177.75,-264.5"/>
<polygon fill="none" stroke="black" points="0,-240.75 0,-264.5 177.75,-264.5 177.75,-240.75 0,-240.75"/>
<text text-anchor="start" x="80.62" y="-247.2" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-217 0,-240.75 101.75,-240.75 101.75,-217 0,-217"/>
<text text-anchor="start" x="4" y="-223.45" font-family="arial" font-size="14.00">Molex Micro&#45;Fit</text>
<polygon fill="none" stroke="black" points="101.75,-217 101.75,-240.75 139.75,-240.75 139.75,-217 101.75,-217"/>
<text text-anchor="start" x="105.75" y="-223.45" font-family="arial" font-size="14.00">male</text>
<polygon fill="none" stroke="black" points="139.75,-217 139.75,-240.75 177.75,-240.75 177.75,-217 139.75,-217"/>
<text text-anchor="start" x="143.75" y="-223.45" font-family="arial" font-size="14.00">2&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-194 0,-217 100.38,-217 100.38,-194 0,-194"/>
<text text-anchor="start" x="34.81" y="-199.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="100.38,-194 100.38,-217 177.75,-217 177.75,-194 100.38,-194"/>
<text text-anchor="start" x="135.31" y="-199.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-171 0,-194 100.38,-194 100.38,-171 0,-171"/>
<text text-anchor="start" x="35.94" y="-176.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="100.38,-171 100.38,-194 177.75,-194 177.75,-171 100.38,-171"/>
<text text-anchor="start" x="135.31" y="-176.7" font-family="arial" font-size="14.00">2</text>
</g>
<!-- W1 -->
<g id="node5" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" points="521.75,-455.5 321.75,-455.5 321.75,-320 521.75,-320 521.75,-455.5"/>
<polygon fill="none" stroke="black" points="321.75,-431.75 321.75,-455.5 521.75,-455.5 521.75,-431.75 321.75,-431.75"/>
<text text-anchor="start" x="411.25" y="-438.2" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="321.75,-408 321.75,-431.75 345.42,-431.75 345.42,-408 321.75,-408"/>
<text text-anchor="start" x="326.46" y="-414.45" font-family="arial" font-size="14.00">2x</text>
<polygon fill="none" stroke="black" points="345.42,-408 345.42,-431.75 477.83,-431.75 477.83,-408 345.42,-408"/>
<text text-anchor="start" x="350.12" y="-414.45" font-family="arial" font-size="14.00">0.25 mm² (24 AWG)</text>
<polygon fill="none" stroke="black" points="477.83,-408 477.83,-431.75 521.75,-431.75 521.75,-408 477.83,-408"/>
<text text-anchor="start" x="482.54" y="-414.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="352.88" y="-392.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="323.62" y="-373.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="390.25" y="-373.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="457.62" y="-373.7" font-family="arial" font-size="14.00">X2:1:GND</text>
<polygon fill="#000000" stroke="none" points="321.75,-368 321.75,-370 521.75,-370 521.75,-368 321.75,-368"/>
<polygon fill="#000000" stroke="none" points="321.75,-366 321.75,-368 521.75,-368 521.75,-366 321.75,-366"/>
<polygon fill="#000000" stroke="none" points="321.75,-364 321.75,-366 521.75,-366 521.75,-364 321.75,-364"/>
<text text-anchor="start" x="324.75" y="-348.7" font-family="arial" font-size="14.00">X1:2:VCC</text>
<text text-anchor="start" x="389.5" y="-348.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="458.75" y="-348.7" font-family="arial" font-size="14.00">X2:2:VCC</text>
<polygon fill="#000000" stroke="none" points="321.75,-343 321.75,-345 521.75,-345 521.75,-343 321.75,-343"/>
<polygon fill="#ff0000" stroke="none" points="321.75,-341 321.75,-343 521.75,-343 521.75,-341 321.75,-341"/>
<polygon fill="#000000" stroke="none" points="321.75,-339 321.75,-341 521.75,-341 521.75,-339 321.75,-339"/>
<text text-anchor="start" x="352.88" y="-323.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge1" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-203.75C275.67,-206.32 227.67,-367.32 321.75,-364.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-205.75C273.75,-205.75 225.75,-366.75 321.75,-366.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-207.75C271.83,-205.18 223.83,-366.18 321.75,-368.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge3" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-180.75C275.01,-183.31 228.33,-342.31 321.75,-339.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M177.75,-182.75C273.09,-182.75 226.41,-341.75 321.75,-341.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-184.75C271.17,-182.19 224.49,-341.19 321.75,-343.75"/>
</g>
<!-- W2 -->
<g id="node6" class="node">
<title>W2</title>
<polygon fill="#ffffff" stroke="black" points="521.75,-295.5 321.75,-295.5 321.75,-160 521.75,-160 521.75,-295.5"/>
<polygon fill="none" stroke="black" points="321.75,-271.75 321.75,-295.5 521.75,-295.5 521.75,-271.75 321.75,-271.75"/>
<text text-anchor="start" x="411.25" y="-278.2" font-family="arial" font-size="14.00">W2</text>
<polygon fill="none" stroke="black" points="321.75,-248 321.75,-271.75 345.42,-271.75 345.42,-248 321.75,-248"/>
<text text-anchor="start" x="326.46" y="-254.45" font-family="arial" font-size="14.00">2x</text>
<polygon fill="none" stroke="black" points="345.42,-248 345.42,-271.75 477.83,-271.75 477.83,-248 345.42,-248"/>
<text text-anchor="start" x="350.12" y="-254.45" font-family="arial" font-size="14.00">0.25 mm² (24 AWG)</text>
<polygon fill="none" stroke="black" points="477.83,-248 477.83,-271.75 521.75,-271.75 521.75,-248 477.83,-248"/>
<text text-anchor="start" x="482.54" y="-254.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="352.88" y="-232.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="323.62" y="-213.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="390.25" y="-213.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="457.62" y="-213.7" font-family="arial" font-size="14.00">X3:1:GND</text>
<polygon fill="#000000" stroke="none" points="321.75,-208 321.75,-210 521.75,-210 521.75,-208 321.75,-208"/>
<polygon fill="#000000" stroke="none" points="321.75,-206 321.75,-208 521.75,-208 521.75,-206 321.75,-206"/>
<polygon fill="#000000" stroke="none" points="321.75,-204 321.75,-206 521.75,-206 521.75,-204 321.75,-204"/>
<text text-anchor="start" x="324.75" y="-188.7" font-family="arial" font-size="14.00">X1:2:VCC</text>
<text text-anchor="start" x="389.5" y="-188.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="458.75" y="-188.7" font-family="arial" font-size="14.00">X3:2:VCC</text>
<polygon fill="#000000" stroke="none" points="321.75,-183 321.75,-185 521.75,-185 521.75,-183 321.75,-183"/>
<polygon fill="#ff0000" stroke="none" points="321.75,-181 321.75,-183 521.75,-183 521.75,-181 321.75,-181"/>
<polygon fill="#000000" stroke="none" points="321.75,-179 321.75,-181 521.75,-181 521.75,-179 321.75,-179"/>
<text text-anchor="start" x="352.88" y="-163.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W2 -->
<g id="edge5" class="edge">
<title>X1:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-203.75C241.88,-203.75 257.87,-204.75 321.75,-204.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-205.75C241.75,-205.75 257.75,-206.75 321.75,-206.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-207.75C241.63,-207.75 257.62,-208.75 321.75,-208.75"/>
</g>
<!-- X1&#45;&#45;W2 -->
<g id="edge7" class="edge">
<title>X1:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-180.75C241.63,-180.75 257.62,-179.75 321.75,-179.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M177.75,-182.75C241.75,-182.75 257.75,-181.75 321.75,-181.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-184.75C241.88,-184.75 257.87,-183.75 321.75,-183.75"/>
</g>
<!-- W3 -->
<g id="node7" class="node">
<title>W3</title>
<polygon fill="#ffffff" stroke="black" points="521.75,-135.5 321.75,-135.5 321.75,0 521.75,0 521.75,-135.5"/>
<polygon fill="none" stroke="black" points="321.75,-111.75 321.75,-135.5 521.75,-135.5 521.75,-111.75 321.75,-111.75"/>
<text text-anchor="start" x="411.25" y="-118.2" font-family="arial" font-size="14.00">W3</text>
<polygon fill="none" stroke="black" points="321.75,-88 321.75,-111.75 345.42,-111.75 345.42,-88 321.75,-88"/>
<text text-anchor="start" x="326.46" y="-94.45" font-family="arial" font-size="14.00">2x</text>
<polygon fill="none" stroke="black" points="345.42,-88 345.42,-111.75 477.83,-111.75 477.83,-88 345.42,-88"/>
<text text-anchor="start" x="350.12" y="-94.45" font-family="arial" font-size="14.00">20 AWG (0.75 mm²)</text>
<polygon fill="none" stroke="black" points="477.83,-88 477.83,-111.75 521.75,-111.75 521.75,-88 477.83,-88"/>
<text text-anchor="start" x="482.54" y="-94.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="352.88" y="-72.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="323.62" y="-53.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="390.25" y="-53.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="457.62" y="-53.7" font-family="arial" font-size="14.00">X4:1:GND</text>
<polygon fill="#000000" stroke="none" points="321.75,-48 321.75,-50 521.75,-50 521.75,-48 321.75,-48"/>
<polygon fill="#000000" stroke="none" points="321.75,-46 321.75,-48 521.75,-48 521.75,-46 321.75,-46"/>
<polygon fill="#000000" stroke="none" points="321.75,-44 321.75,-46 521.75,-46 521.75,-44 321.75,-44"/>
<text text-anchor="start" x="324.75" y="-28.7" font-family="arial" font-size="14.00">X1:2:VCC</text>
<text text-anchor="start" x="389.5" y="-28.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="458.75" y="-28.7" font-family="arial" font-size="14.00">X4:2:VCC</text>
<polygon fill="#000000" stroke="none" points="321.75,-23 321.75,-25 521.75,-25 521.75,-23 321.75,-23"/>
<polygon fill="#ff0000" stroke="none" points="321.75,-21 321.75,-23 521.75,-23 521.75,-21 321.75,-21"/>
<polygon fill="#000000" stroke="none" points="321.75,-19 321.75,-21 521.75,-21 521.75,-19 321.75,-19"/>
<text text-anchor="start" x="352.88" y="-3.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W3 -->
<g id="edge9" class="edge">
<title>X1:e&#45;&#45;W3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-203.75C271.17,-206.31 224.49,-47.31 321.75,-44.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-205.75C273.09,-205.75 226.41,-46.75 321.75,-46.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-207.75C275.01,-205.19 228.33,-46.19 321.75,-48.75"/>
</g>
<!-- X1&#45;&#45;W3 -->
<g id="edge11" class="edge">
<title>X1:e&#45;&#45;W3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-180.75C271.83,-183.32 223.83,-22.32 321.75,-19.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M177.75,-182.75C273.75,-182.75 225.75,-21.75 321.75,-21.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-184.75C275.67,-182.18 227.67,-21.18 321.75,-23.75"/>
</g>
<!-- X2 -->
<g id="node2" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="854.75,-424.5 665.75,-424.5 665.75,-331 854.75,-331 854.75,-424.5"/>
<polygon fill="none" stroke="black" points="665.75,-400.75 665.75,-424.5 854.75,-424.5 854.75,-400.75 665.75,-400.75"/>
<text text-anchor="start" x="752" y="-407.2" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="665.75,-377 665.75,-400.75 767.5,-400.75 767.5,-377 665.75,-377"/>
<text text-anchor="start" x="669.75" y="-383.45" font-family="arial" font-size="14.00">Molex Micro&#45;Fit</text>
<polygon fill="none" stroke="black" points="767.5,-377 767.5,-400.75 816.75,-400.75 816.75,-377 767.5,-377"/>
<text text-anchor="start" x="771.5" y="-383.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="816.75,-377 816.75,-400.75 854.75,-400.75 854.75,-377 816.75,-377"/>
<text text-anchor="start" x="820.75" y="-383.45" font-family="arial" font-size="14.00">2&#45;pin</text>
<polygon fill="none" stroke="black" points="665.75,-354 665.75,-377 748.75,-377 748.75,-354 665.75,-354"/>
<text text-anchor="start" x="703.5" y="-359.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="748.75,-354 748.75,-377 854.75,-377 854.75,-354 748.75,-354"/>
<text text-anchor="start" x="786.38" y="-359.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="665.75,-331 665.75,-354 748.75,-354 748.75,-331 665.75,-331"/>
<text text-anchor="start" x="703.5" y="-336.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="748.75,-331 748.75,-354 854.75,-354 854.75,-331 748.75,-331"/>
<text text-anchor="start" x="787.5" y="-336.7" font-family="arial" font-size="14.00">VCC</text>
</g>
<!-- X3 -->
<g id="node3" class="node">
<title>X3</title>
<polygon fill="#ffffff" stroke="black" points="854.75,-264.5 665.75,-264.5 665.75,-171 854.75,-171 854.75,-264.5"/>
<polygon fill="none" stroke="black" points="665.75,-240.75 665.75,-264.5 854.75,-264.5 854.75,-240.75 665.75,-240.75"/>
<text text-anchor="start" x="752" y="-247.2" font-family="arial" font-size="14.00">X3</text>
<polygon fill="none" stroke="black" points="665.75,-217 665.75,-240.75 767.5,-240.75 767.5,-217 665.75,-217"/>
<text text-anchor="start" x="669.75" y="-223.45" font-family="arial" font-size="14.00">Molex Micro&#45;Fit</text>
<polygon fill="none" stroke="black" points="767.5,-217 767.5,-240.75 816.75,-240.75 816.75,-217 767.5,-217"/>
<text text-anchor="start" x="771.5" y="-223.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="816.75,-217 816.75,-240.75 854.75,-240.75 854.75,-217 816.75,-217"/>
<text text-anchor="start" x="820.75" y="-223.45" font-family="arial" font-size="14.00">2&#45;pin</text>
<polygon fill="none" stroke="black" points="665.75,-194 665.75,-217 748.75,-217 748.75,-194 665.75,-194"/>
<text text-anchor="start" x="703.5" y="-199.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="748.75,-194 748.75,-217 854.75,-217 854.75,-194 748.75,-194"/>
<text text-anchor="start" x="786.38" y="-199.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="665.75,-171 665.75,-194 748.75,-194 748.75,-171 665.75,-171"/>
<text text-anchor="start" x="703.5" y="-176.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="748.75,-171 748.75,-194 854.75,-194 854.75,-171 748.75,-171"/>
<text text-anchor="start" x="787.5" y="-176.7" font-family="arial" font-size="14.00">VCC</text>
</g>
<!-- X4 -->
<g id="node4" class="node">
<title>X4</title>
<polygon fill="#ffffff" stroke="black" points="854.75,-104.5 665.75,-104.5 665.75,-11 854.75,-11 854.75,-104.5"/>
<polygon fill="none" stroke="black" points="665.75,-80.75 665.75,-104.5 854.75,-104.5 854.75,-80.75 665.75,-80.75"/>
<text text-anchor="start" x="752" y="-87.2" font-family="arial" font-size="14.00">X4</text>
<polygon fill="none" stroke="black" points="665.75,-57 665.75,-80.75 767.5,-80.75 767.5,-57 665.75,-57"/>
<text text-anchor="start" x="669.75" y="-63.45" font-family="arial" font-size="14.00">Molex Micro&#45;Fit</text>
<polygon fill="none" stroke="black" points="767.5,-57 767.5,-80.75 816.75,-80.75 816.75,-57 767.5,-57"/>
<text text-anchor="start" x="771.5" y="-63.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="816.75,-57 816.75,-80.75 854.75,-80.75 854.75,-57 816.75,-57"/>
<text text-anchor="start" x="820.75" y="-63.45" font-family="arial" font-size="14.00">2&#45;pin</text>
<polygon fill="none" stroke="black" points="665.75,-34 665.75,-57 748.75,-57 748.75,-34 665.75,-34"/>
<text text-anchor="start" x="703.5" y="-39.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="748.75,-34 748.75,-57 854.75,-57 854.75,-34 748.75,-34"/>
<text text-anchor="start" x="786.38" y="-39.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="665.75,-11 665.75,-34 748.75,-34 748.75,-11 665.75,-11"/>
<text text-anchor="start" x="703.5" y="-16.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="748.75,-11 748.75,-34 854.75,-34 854.75,-11 748.75,-11"/>
<text text-anchor="start" x="787.5" y="-16.7" font-family="arial" font-size="14.00">VCC</text>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-364.75C585.63,-364.75 601.62,-363.75 665.75,-363.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-366.75C585.75,-366.75 601.75,-365.75 665.75,-365.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-368.75C585.88,-368.75 601.87,-367.75 665.75,-367.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-339.75C585.88,-339.75 601.87,-340.75 665.75,-340.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M521.75,-341.75C585.75,-341.75 601.75,-342.75 665.75,-342.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-343.75C585.63,-343.75 601.62,-344.75 665.75,-344.75"/>
</g>
<!-- W2&#45;&#45;X3 -->
<g id="edge6" class="edge">
<title>W2:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-204.75C585.63,-204.75 601.62,-203.75 665.75,-203.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-206.75C585.75,-206.75 601.75,-205.75 665.75,-205.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-208.75C585.88,-208.75 601.87,-207.75 665.75,-207.75"/>
</g>
<!-- W2&#45;&#45;X3 -->
<g id="edge8" class="edge">
<title>W2:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-179.75C585.88,-179.75 601.87,-180.75 665.75,-180.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M521.75,-181.75C585.75,-181.75 601.75,-182.75 665.75,-182.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-183.75C585.63,-183.75 601.62,-184.75 665.75,-184.75"/>
</g>
<!-- W3&#45;&#45;X4 -->
<g id="edge10" class="edge">
<title>W3:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-44.75C585.63,-44.75 601.62,-43.75 665.75,-43.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-46.75C585.75,-46.75 601.75,-45.75 665.75,-45.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-48.75C585.88,-48.75 601.87,-47.75 665.75,-47.75"/>
</g>
<!-- W3&#45;&#45;X4 -->
<g id="edge12" class="edge">
<title>W3:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-19.75C585.88,-19.75 601.87,-20.75 665.75,-20.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M521.75,-21.75C585.75,-21.75 601.75,-22.75 665.75,-22.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-23.75C585.63,-23.75 601.62,-24.75 665.75,-24.75"/>
</g>
</g>
</svg>
</div>
<div id="notes">
<!-- %notes% -->
</div>
<h2>Bill of Materials</h2>
<div id="bom">
<table class="bom">
<tr>
<th class="bom_col_id">Id</th>
<th class="bom_col_description">Description</th>
<th class="bom_col_qty">Qty</th>
<th class="bom_col_unit">Unit</th>
<th class="bom_col_designators">Designators</th>
</tr>
<tr>
<td class="bom_col_id">1</td>
<td class="bom_col_description">Cable, 2 x 0.25 mm²</td>
<td class="bom_col_qty">0.4</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1, W2</td>
</tr>
<tr>
<td class="bom_col_id">2</td>
<td class="bom_col_description">Cable, 2 x 20 AWG</td>
<td class="bom_col_qty">0.2</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W3</td>
</tr>
<tr>
<td class="bom_col_id">3</td>
<td class="bom_col_description">Connector, Molex Micro-Fit, female, 2 pins</td>
<td class="bom_col_qty">3</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X2, X3, X4</td>
</tr>
<tr>
<td class="bom_col_id">4</td>
<td class="bom_col_description">Connector, Molex Micro-Fit, male, 2 pins</td>
<td class="bom_col_qty">1</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X1</td>
</tr>
</table>
</div>
</body></html>

BIN
examples/ex02.png generated Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

261
examples/ex02.svg generated Normal file
View File

@ -0,0 +1,261 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="863pt" height="464pt"
viewBox="0.00 0.00 862.75 463.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 459.5)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-459.5 858.75,-459.5 858.75,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="177.75,-264.5 0,-264.5 0,-171 177.75,-171 177.75,-264.5"/>
<polygon fill="none" stroke="black" points="0,-240.75 0,-264.5 177.75,-264.5 177.75,-240.75 0,-240.75"/>
<text text-anchor="start" x="80.62" y="-247.2" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-217 0,-240.75 101.75,-240.75 101.75,-217 0,-217"/>
<text text-anchor="start" x="4" y="-223.45" font-family="arial" font-size="14.00">Molex Micro&#45;Fit</text>
<polygon fill="none" stroke="black" points="101.75,-217 101.75,-240.75 139.75,-240.75 139.75,-217 101.75,-217"/>
<text text-anchor="start" x="105.75" y="-223.45" font-family="arial" font-size="14.00">male</text>
<polygon fill="none" stroke="black" points="139.75,-217 139.75,-240.75 177.75,-240.75 177.75,-217 139.75,-217"/>
<text text-anchor="start" x="143.75" y="-223.45" font-family="arial" font-size="14.00">2&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-194 0,-217 100.38,-217 100.38,-194 0,-194"/>
<text text-anchor="start" x="34.81" y="-199.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="100.38,-194 100.38,-217 177.75,-217 177.75,-194 100.38,-194"/>
<text text-anchor="start" x="135.31" y="-199.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-171 0,-194 100.38,-194 100.38,-171 0,-171"/>
<text text-anchor="start" x="35.94" y="-176.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="100.38,-171 100.38,-194 177.75,-194 177.75,-171 100.38,-171"/>
<text text-anchor="start" x="135.31" y="-176.7" font-family="arial" font-size="14.00">2</text>
</g>
<!-- W1 -->
<g id="node5" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" points="521.75,-455.5 321.75,-455.5 321.75,-320 521.75,-320 521.75,-455.5"/>
<polygon fill="none" stroke="black" points="321.75,-431.75 321.75,-455.5 521.75,-455.5 521.75,-431.75 321.75,-431.75"/>
<text text-anchor="start" x="411.25" y="-438.2" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="321.75,-408 321.75,-431.75 345.42,-431.75 345.42,-408 321.75,-408"/>
<text text-anchor="start" x="326.46" y="-414.45" font-family="arial" font-size="14.00">2x</text>
<polygon fill="none" stroke="black" points="345.42,-408 345.42,-431.75 477.83,-431.75 477.83,-408 345.42,-408"/>
<text text-anchor="start" x="350.12" y="-414.45" font-family="arial" font-size="14.00">0.25 mm² (24 AWG)</text>
<polygon fill="none" stroke="black" points="477.83,-408 477.83,-431.75 521.75,-431.75 521.75,-408 477.83,-408"/>
<text text-anchor="start" x="482.54" y="-414.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="352.88" y="-392.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="323.62" y="-373.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="390.25" y="-373.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="457.62" y="-373.7" font-family="arial" font-size="14.00">X2:1:GND</text>
<polygon fill="#000000" stroke="none" points="321.75,-368 321.75,-370 521.75,-370 521.75,-368 321.75,-368"/>
<polygon fill="#000000" stroke="none" points="321.75,-366 321.75,-368 521.75,-368 521.75,-366 321.75,-366"/>
<polygon fill="#000000" stroke="none" points="321.75,-364 321.75,-366 521.75,-366 521.75,-364 321.75,-364"/>
<text text-anchor="start" x="324.75" y="-348.7" font-family="arial" font-size="14.00">X1:2:VCC</text>
<text text-anchor="start" x="389.5" y="-348.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="458.75" y="-348.7" font-family="arial" font-size="14.00">X2:2:VCC</text>
<polygon fill="#000000" stroke="none" points="321.75,-343 321.75,-345 521.75,-345 521.75,-343 321.75,-343"/>
<polygon fill="#ff0000" stroke="none" points="321.75,-341 321.75,-343 521.75,-343 521.75,-341 321.75,-341"/>
<polygon fill="#000000" stroke="none" points="321.75,-339 321.75,-341 521.75,-341 521.75,-339 321.75,-339"/>
<text text-anchor="start" x="352.88" y="-323.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge1" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-203.75C275.67,-206.32 227.67,-367.32 321.75,-364.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-205.75C273.75,-205.75 225.75,-366.75 321.75,-366.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-207.75C271.83,-205.18 223.83,-366.18 321.75,-368.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge3" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-180.75C275.01,-183.31 228.33,-342.31 321.75,-339.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M177.75,-182.75C273.09,-182.75 226.41,-341.75 321.75,-341.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-184.75C271.17,-182.19 224.49,-341.19 321.75,-343.75"/>
</g>
<!-- W2 -->
<g id="node6" class="node">
<title>W2</title>
<polygon fill="#ffffff" stroke="black" points="521.75,-295.5 321.75,-295.5 321.75,-160 521.75,-160 521.75,-295.5"/>
<polygon fill="none" stroke="black" points="321.75,-271.75 321.75,-295.5 521.75,-295.5 521.75,-271.75 321.75,-271.75"/>
<text text-anchor="start" x="411.25" y="-278.2" font-family="arial" font-size="14.00">W2</text>
<polygon fill="none" stroke="black" points="321.75,-248 321.75,-271.75 345.42,-271.75 345.42,-248 321.75,-248"/>
<text text-anchor="start" x="326.46" y="-254.45" font-family="arial" font-size="14.00">2x</text>
<polygon fill="none" stroke="black" points="345.42,-248 345.42,-271.75 477.83,-271.75 477.83,-248 345.42,-248"/>
<text text-anchor="start" x="350.12" y="-254.45" font-family="arial" font-size="14.00">0.25 mm² (24 AWG)</text>
<polygon fill="none" stroke="black" points="477.83,-248 477.83,-271.75 521.75,-271.75 521.75,-248 477.83,-248"/>
<text text-anchor="start" x="482.54" y="-254.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="352.88" y="-232.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="323.62" y="-213.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="390.25" y="-213.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="457.62" y="-213.7" font-family="arial" font-size="14.00">X3:1:GND</text>
<polygon fill="#000000" stroke="none" points="321.75,-208 321.75,-210 521.75,-210 521.75,-208 321.75,-208"/>
<polygon fill="#000000" stroke="none" points="321.75,-206 321.75,-208 521.75,-208 521.75,-206 321.75,-206"/>
<polygon fill="#000000" stroke="none" points="321.75,-204 321.75,-206 521.75,-206 521.75,-204 321.75,-204"/>
<text text-anchor="start" x="324.75" y="-188.7" font-family="arial" font-size="14.00">X1:2:VCC</text>
<text text-anchor="start" x="389.5" y="-188.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="458.75" y="-188.7" font-family="arial" font-size="14.00">X3:2:VCC</text>
<polygon fill="#000000" stroke="none" points="321.75,-183 321.75,-185 521.75,-185 521.75,-183 321.75,-183"/>
<polygon fill="#ff0000" stroke="none" points="321.75,-181 321.75,-183 521.75,-183 521.75,-181 321.75,-181"/>
<polygon fill="#000000" stroke="none" points="321.75,-179 321.75,-181 521.75,-181 521.75,-179 321.75,-179"/>
<text text-anchor="start" x="352.88" y="-163.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W2 -->
<g id="edge5" class="edge">
<title>X1:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-203.75C241.88,-203.75 257.87,-204.75 321.75,-204.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-205.75C241.75,-205.75 257.75,-206.75 321.75,-206.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-207.75C241.63,-207.75 257.62,-208.75 321.75,-208.75"/>
</g>
<!-- X1&#45;&#45;W2 -->
<g id="edge7" class="edge">
<title>X1:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-180.75C241.63,-180.75 257.62,-179.75 321.75,-179.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M177.75,-182.75C241.75,-182.75 257.75,-181.75 321.75,-181.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-184.75C241.88,-184.75 257.87,-183.75 321.75,-183.75"/>
</g>
<!-- W3 -->
<g id="node7" class="node">
<title>W3</title>
<polygon fill="#ffffff" stroke="black" points="521.75,-135.5 321.75,-135.5 321.75,0 521.75,0 521.75,-135.5"/>
<polygon fill="none" stroke="black" points="321.75,-111.75 321.75,-135.5 521.75,-135.5 521.75,-111.75 321.75,-111.75"/>
<text text-anchor="start" x="411.25" y="-118.2" font-family="arial" font-size="14.00">W3</text>
<polygon fill="none" stroke="black" points="321.75,-88 321.75,-111.75 345.42,-111.75 345.42,-88 321.75,-88"/>
<text text-anchor="start" x="326.46" y="-94.45" font-family="arial" font-size="14.00">2x</text>
<polygon fill="none" stroke="black" points="345.42,-88 345.42,-111.75 477.83,-111.75 477.83,-88 345.42,-88"/>
<text text-anchor="start" x="350.12" y="-94.45" font-family="arial" font-size="14.00">20 AWG (0.75 mm²)</text>
<polygon fill="none" stroke="black" points="477.83,-88 477.83,-111.75 521.75,-111.75 521.75,-88 477.83,-88"/>
<text text-anchor="start" x="482.54" y="-94.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="352.88" y="-72.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="323.62" y="-53.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="390.25" y="-53.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="457.62" y="-53.7" font-family="arial" font-size="14.00">X4:1:GND</text>
<polygon fill="#000000" stroke="none" points="321.75,-48 321.75,-50 521.75,-50 521.75,-48 321.75,-48"/>
<polygon fill="#000000" stroke="none" points="321.75,-46 321.75,-48 521.75,-48 521.75,-46 321.75,-46"/>
<polygon fill="#000000" stroke="none" points="321.75,-44 321.75,-46 521.75,-46 521.75,-44 321.75,-44"/>
<text text-anchor="start" x="324.75" y="-28.7" font-family="arial" font-size="14.00">X1:2:VCC</text>
<text text-anchor="start" x="389.5" y="-28.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="458.75" y="-28.7" font-family="arial" font-size="14.00">X4:2:VCC</text>
<polygon fill="#000000" stroke="none" points="321.75,-23 321.75,-25 521.75,-25 521.75,-23 321.75,-23"/>
<polygon fill="#ff0000" stroke="none" points="321.75,-21 321.75,-23 521.75,-23 521.75,-21 321.75,-21"/>
<polygon fill="#000000" stroke="none" points="321.75,-19 321.75,-21 521.75,-21 521.75,-19 321.75,-19"/>
<text text-anchor="start" x="352.88" y="-3.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W3 -->
<g id="edge9" class="edge">
<title>X1:e&#45;&#45;W3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-203.75C271.17,-206.31 224.49,-47.31 321.75,-44.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-205.75C273.09,-205.75 226.41,-46.75 321.75,-46.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-207.75C275.01,-205.19 228.33,-46.19 321.75,-48.75"/>
</g>
<!-- X1&#45;&#45;W3 -->
<g id="edge11" class="edge">
<title>X1:e&#45;&#45;W3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-180.75C271.83,-183.32 223.83,-22.32 321.75,-19.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M177.75,-182.75C273.75,-182.75 225.75,-21.75 321.75,-21.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-184.75C275.67,-182.18 227.67,-21.18 321.75,-23.75"/>
</g>
<!-- X2 -->
<g id="node2" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="854.75,-424.5 665.75,-424.5 665.75,-331 854.75,-331 854.75,-424.5"/>
<polygon fill="none" stroke="black" points="665.75,-400.75 665.75,-424.5 854.75,-424.5 854.75,-400.75 665.75,-400.75"/>
<text text-anchor="start" x="752" y="-407.2" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="665.75,-377 665.75,-400.75 767.5,-400.75 767.5,-377 665.75,-377"/>
<text text-anchor="start" x="669.75" y="-383.45" font-family="arial" font-size="14.00">Molex Micro&#45;Fit</text>
<polygon fill="none" stroke="black" points="767.5,-377 767.5,-400.75 816.75,-400.75 816.75,-377 767.5,-377"/>
<text text-anchor="start" x="771.5" y="-383.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="816.75,-377 816.75,-400.75 854.75,-400.75 854.75,-377 816.75,-377"/>
<text text-anchor="start" x="820.75" y="-383.45" font-family="arial" font-size="14.00">2&#45;pin</text>
<polygon fill="none" stroke="black" points="665.75,-354 665.75,-377 748.75,-377 748.75,-354 665.75,-354"/>
<text text-anchor="start" x="703.5" y="-359.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="748.75,-354 748.75,-377 854.75,-377 854.75,-354 748.75,-354"/>
<text text-anchor="start" x="786.38" y="-359.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="665.75,-331 665.75,-354 748.75,-354 748.75,-331 665.75,-331"/>
<text text-anchor="start" x="703.5" y="-336.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="748.75,-331 748.75,-354 854.75,-354 854.75,-331 748.75,-331"/>
<text text-anchor="start" x="787.5" y="-336.7" font-family="arial" font-size="14.00">VCC</text>
</g>
<!-- X3 -->
<g id="node3" class="node">
<title>X3</title>
<polygon fill="#ffffff" stroke="black" points="854.75,-264.5 665.75,-264.5 665.75,-171 854.75,-171 854.75,-264.5"/>
<polygon fill="none" stroke="black" points="665.75,-240.75 665.75,-264.5 854.75,-264.5 854.75,-240.75 665.75,-240.75"/>
<text text-anchor="start" x="752" y="-247.2" font-family="arial" font-size="14.00">X3</text>
<polygon fill="none" stroke="black" points="665.75,-217 665.75,-240.75 767.5,-240.75 767.5,-217 665.75,-217"/>
<text text-anchor="start" x="669.75" y="-223.45" font-family="arial" font-size="14.00">Molex Micro&#45;Fit</text>
<polygon fill="none" stroke="black" points="767.5,-217 767.5,-240.75 816.75,-240.75 816.75,-217 767.5,-217"/>
<text text-anchor="start" x="771.5" y="-223.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="816.75,-217 816.75,-240.75 854.75,-240.75 854.75,-217 816.75,-217"/>
<text text-anchor="start" x="820.75" y="-223.45" font-family="arial" font-size="14.00">2&#45;pin</text>
<polygon fill="none" stroke="black" points="665.75,-194 665.75,-217 748.75,-217 748.75,-194 665.75,-194"/>
<text text-anchor="start" x="703.5" y="-199.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="748.75,-194 748.75,-217 854.75,-217 854.75,-194 748.75,-194"/>
<text text-anchor="start" x="786.38" y="-199.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="665.75,-171 665.75,-194 748.75,-194 748.75,-171 665.75,-171"/>
<text text-anchor="start" x="703.5" y="-176.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="748.75,-171 748.75,-194 854.75,-194 854.75,-171 748.75,-171"/>
<text text-anchor="start" x="787.5" y="-176.7" font-family="arial" font-size="14.00">VCC</text>
</g>
<!-- X4 -->
<g id="node4" class="node">
<title>X4</title>
<polygon fill="#ffffff" stroke="black" points="854.75,-104.5 665.75,-104.5 665.75,-11 854.75,-11 854.75,-104.5"/>
<polygon fill="none" stroke="black" points="665.75,-80.75 665.75,-104.5 854.75,-104.5 854.75,-80.75 665.75,-80.75"/>
<text text-anchor="start" x="752" y="-87.2" font-family="arial" font-size="14.00">X4</text>
<polygon fill="none" stroke="black" points="665.75,-57 665.75,-80.75 767.5,-80.75 767.5,-57 665.75,-57"/>
<text text-anchor="start" x="669.75" y="-63.45" font-family="arial" font-size="14.00">Molex Micro&#45;Fit</text>
<polygon fill="none" stroke="black" points="767.5,-57 767.5,-80.75 816.75,-80.75 816.75,-57 767.5,-57"/>
<text text-anchor="start" x="771.5" y="-63.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="816.75,-57 816.75,-80.75 854.75,-80.75 854.75,-57 816.75,-57"/>
<text text-anchor="start" x="820.75" y="-63.45" font-family="arial" font-size="14.00">2&#45;pin</text>
<polygon fill="none" stroke="black" points="665.75,-34 665.75,-57 748.75,-57 748.75,-34 665.75,-34"/>
<text text-anchor="start" x="703.5" y="-39.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="748.75,-34 748.75,-57 854.75,-57 854.75,-34 748.75,-34"/>
<text text-anchor="start" x="786.38" y="-39.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="665.75,-11 665.75,-34 748.75,-34 748.75,-11 665.75,-11"/>
<text text-anchor="start" x="703.5" y="-16.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="748.75,-11 748.75,-34 854.75,-34 854.75,-11 748.75,-11"/>
<text text-anchor="start" x="787.5" y="-16.7" font-family="arial" font-size="14.00">VCC</text>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-364.75C585.63,-364.75 601.62,-363.75 665.75,-363.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-366.75C585.75,-366.75 601.75,-365.75 665.75,-365.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-368.75C585.88,-368.75 601.87,-367.75 665.75,-367.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-339.75C585.88,-339.75 601.87,-340.75 665.75,-340.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M521.75,-341.75C585.75,-341.75 601.75,-342.75 665.75,-342.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-343.75C585.63,-343.75 601.62,-344.75 665.75,-344.75"/>
</g>
<!-- W2&#45;&#45;X3 -->
<g id="edge6" class="edge">
<title>W2:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-204.75C585.63,-204.75 601.62,-203.75 665.75,-203.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-206.75C585.75,-206.75 601.75,-205.75 665.75,-205.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-208.75C585.88,-208.75 601.87,-207.75 665.75,-207.75"/>
</g>
<!-- W2&#45;&#45;X3 -->
<g id="edge8" class="edge">
<title>W2:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-179.75C585.88,-179.75 601.87,-180.75 665.75,-180.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M521.75,-181.75C585.75,-181.75 601.75,-182.75 665.75,-182.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-183.75C585.63,-183.75 601.62,-184.75 665.75,-184.75"/>
</g>
<!-- W3&#45;&#45;X4 -->
<g id="edge10" class="edge">
<title>W3:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-44.75C585.63,-44.75 601.62,-43.75 665.75,-43.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-46.75C585.75,-46.75 601.75,-45.75 665.75,-45.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-48.75C585.88,-48.75 601.87,-47.75 665.75,-47.75"/>
</g>
<!-- W3&#45;&#45;X4 -->
<g id="edge12" class="edge">
<title>W3:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-19.75C585.88,-19.75 601.87,-20.75 665.75,-20.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M521.75,-21.75C585.75,-21.75 601.75,-22.75 665.75,-22.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M521.75,-23.75C585.63,-23.75 601.62,-24.75 665.75,-24.75"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 20 KiB

39
examples/ex02.yml Normal file
View File

@ -0,0 +1,39 @@
connectors:
X1: &boo
type: Molex Micro-Fit
subtype: male
pinlabels: [GND, VCC]
X2: &con_power_f # define template
type: Molex Micro-Fit
subtype: female
pinlabels: [GND, VCC]
X3:
<<: *con_power_f # create from template
X4:
<<: *con_power_f # create from template
cables:
W1: &wire_power # define template
colors: [BK, RD] # number of wires implicit in color list
gauge: 0.25 # assume mm2 if no gauge unit is specified
show_equiv: true
length: 0.2
W2:
<<: *wire_power # create from template
W3:
<<: *wire_power # create from template
gauge: 20 awg
connections:
-
- X1: [1-2]
- W1: [1-2]
- X2: [1-2]
-
- X1: [1-2]
- W2: [1-2]
- X3: [1-2]
-
- X1: [1-2]
- W3: [1-2]
- X4: [1-2]

5
examples/ex03.bom.tsv generated Normal file
View File

@ -0,0 +1,5 @@
Id Description Qty Unit Designators
1 Connector, Molex Micro-Fit, female, 2 pins 3 X2, X3, X4
2 Connector, Molex Micro-Fit, male, 2 pins 1 X1
3 Wire, 0.25 mm², BK 0.6 m W1
4 Wire, 0.25 mm², RD 0.6 m W1
1 Id Description Qty Unit Designators
2 1 Connector, Molex Micro-Fit, female, 2 pins 3 X2, X3, X4
3 2 Connector, Molex Micro-Fit, male, 2 pins 1 X1
4 3 Wire, 0.25 mm², BK 0.6 m W1
5 4 Wire, 0.25 mm², RD 0.6 m W1

255
examples/ex03.gv generated Normal file
View File

@ -0,0 +1,255 @@
graph {
// Graph generated by WireViz 0.4.1
// https://github.com/wireviz/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]
X1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex Micro-Fit</td>
<td balign="left">male</td>
<td balign="left">2-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td>GND</td>
<td port="p1r">1</td>
</tr>
<tr>
<td>VCC</td>
<td port="p2r">2</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X2</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex Micro-Fit</td>
<td balign="left">female</td>
<td balign="left">2-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1l">1</td>
<td>GND</td>
</tr>
<tr>
<td port="p2l">2</td>
<td>VCC</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X3 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X3</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex Micro-Fit</td>
<td balign="left">female</td>
<td balign="left">2-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1l">1</td>
<td>GND</td>
</tr>
<tr>
<td port="p2l">2</td>
<td>VCC</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X4 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X4</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex Micro-Fit</td>
<td balign="left">female</td>
<td balign="left">2-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1l">1</td>
<td>GND</td>
</tr>
<tr>
<td port="p2l">2</td>
<td>VCC</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
edge [color="#000000:#000000:#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:#000000:#000000"]
X1:p1r:e -- W1:w3:w
W1:w3:e -- X3:p1l:w
edge [color="#000000:#ff0000:#000000"]
X1:p2r:e -- W1:w4:w
W1:w4:e -- X3:p2l:w
edge [color="#000000:#000000:#000000"]
X1:p1r:e -- W1:w5:w
W1:w5:e -- X4:p1l:w
edge [color="#000000:#ff0000:#000000"]
X1:p2r:e -- W1:w6:w
W1:w6:e -- X4:p2l:w
W1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">6x</td>
<td balign="left">0.25 mm² (24 AWG)</td>
<td balign="left">0.2 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td>X1:1:GND</td>
<td>
BK
</td>
<td>X2:1:GND</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:2:VCC</td>
<td>
RD
</td>
<td>X2:2:VCC</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff0000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:1:GND</td>
<td>
BK
</td>
<td>X3:1:GND</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:2:VCC</td>
<td>
RD
</td>
<td>X3:2:VCC</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff0000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:1:GND</td>
<td>
BK
</td>
<td>X4:1:GND</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w5" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:2:VCC</td>
<td>
RD
</td>
<td>X4:2:VCC</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w6" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff0000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style="filled,dashed"]
}

311
examples/ex03.html generated Normal file
View File

@ -0,0 +1,311 @@
<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<meta name="generator" content="WireViz 0.4.1 - https://github.com/wireviz/WireViz">
<title>ex03</title>
<style>
#bom table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
#bom th, td {
padding: 4px;
text-align: left;
}
.bom_col_qty {
text-align: right;
}
</style>
</head><body style="font-family:arial;background-color:#ffffff">
<h1>ex03</h1>
<h2>Diagram</h2>
<div id="description">
<!-- %description% -->
</div>
<div id="diagram">
<!-- XML and DOCTYPE declarations from SVG file removed -->
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="859pt" height="338pt"
viewBox="0.00 0.00 858.50 337.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 333.5)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-333.5 854.5,-333.5 854.5,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="177.75,-211.5 0,-211.5 0,-118 177.75,-118 177.75,-211.5"/>
<polygon fill="none" stroke="black" points="0,-187.75 0,-211.5 177.75,-211.5 177.75,-187.75 0,-187.75"/>
<text text-anchor="start" x="80.62" y="-194.2" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-164 0,-187.75 101.75,-187.75 101.75,-164 0,-164"/>
<text text-anchor="start" x="4" y="-170.45" font-family="arial" font-size="14.00">Molex Micro&#45;Fit</text>
<polygon fill="none" stroke="black" points="101.75,-164 101.75,-187.75 139.75,-187.75 139.75,-164 101.75,-164"/>
<text text-anchor="start" x="105.75" y="-170.45" font-family="arial" font-size="14.00">male</text>
<polygon fill="none" stroke="black" points="139.75,-164 139.75,-187.75 177.75,-187.75 177.75,-164 139.75,-164"/>
<text text-anchor="start" x="143.75" y="-170.45" font-family="arial" font-size="14.00">2&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-141 0,-164 100.38,-164 100.38,-141 0,-141"/>
<text text-anchor="start" x="34.81" y="-146.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="100.38,-141 100.38,-164 177.75,-164 177.75,-141 100.38,-141"/>
<text text-anchor="start" x="135.31" y="-146.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-118 0,-141 100.38,-141 100.38,-118 0,-118"/>
<text text-anchor="start" x="35.94" y="-123.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="100.38,-118 100.38,-141 177.75,-141 177.75,-118 100.38,-118"/>
<text text-anchor="start" x="135.31" y="-123.7" font-family="arial" font-size="14.00">2</text>
</g>
<!-- W1 -->
<g id="node5" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="517.5,-292.5 321.75,-292.5 321.75,-57 517.5,-57 517.5,-292.5"/>
<polygon fill="none" stroke="black" points="321.75,-268.75 321.75,-292.5 517.5,-292.5 517.5,-268.75 321.75,-268.75"/>
<text text-anchor="start" x="409.12" y="-275.2" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="321.75,-245 321.75,-268.75 344,-268.75 344,-245 321.75,-245"/>
<text text-anchor="start" x="325.75" y="-251.45" font-family="arial" font-size="14.00">6x</text>
<polygon fill="none" stroke="black" points="344,-245 344,-268.75 475,-268.75 475,-245 344,-245"/>
<text text-anchor="start" x="348" y="-251.45" font-family="arial" font-size="14.00">0.25 mm² (24 AWG)</text>
<polygon fill="none" stroke="black" points="475,-245 475,-268.75 517.5,-268.75 517.5,-245 475,-245"/>
<text text-anchor="start" x="479" y="-251.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="354" y="-229.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="324.75" y="-210.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="393.75" y="-210.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="452.25" y="-210.7" font-family="arial" font-size="14.00">X2:1:GND</text>
<polygon fill="#000000" stroke="none" points="321.75,-205 321.75,-207 517.5,-207 517.5,-205 321.75,-205"/>
<polygon fill="#000000" stroke="none" points="321.75,-203 321.75,-205 517.5,-205 517.5,-203 321.75,-203"/>
<polygon fill="#000000" stroke="none" points="321.75,-201 321.75,-203 517.5,-203 517.5,-201 321.75,-201"/>
<text text-anchor="start" x="325.88" y="-185.7" font-family="arial" font-size="14.00">X1:2:VCC</text>
<text text-anchor="start" x="393" y="-185.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="453.38" y="-185.7" font-family="arial" font-size="14.00">X2:2:VCC</text>
<polygon fill="#000000" stroke="none" points="321.75,-180 321.75,-182 517.5,-182 517.5,-180 321.75,-180"/>
<polygon fill="#ff0000" stroke="none" points="321.75,-178 321.75,-180 517.5,-180 517.5,-178 321.75,-178"/>
<polygon fill="#000000" stroke="none" points="321.75,-176 321.75,-178 517.5,-178 517.5,-176 321.75,-176"/>
<text text-anchor="start" x="324.75" y="-160.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="393.75" y="-160.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="452.25" y="-160.7" font-family="arial" font-size="14.00">X3:1:GND</text>
<polygon fill="#000000" stroke="none" points="321.75,-155 321.75,-157 517.5,-157 517.5,-155 321.75,-155"/>
<polygon fill="#000000" stroke="none" points="321.75,-153 321.75,-155 517.5,-155 517.5,-153 321.75,-153"/>
<polygon fill="#000000" stroke="none" points="321.75,-151 321.75,-153 517.5,-153 517.5,-151 321.75,-151"/>
<text text-anchor="start" x="325.88" y="-135.7" font-family="arial" font-size="14.00">X1:2:VCC</text>
<text text-anchor="start" x="393" y="-135.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="453.38" y="-135.7" font-family="arial" font-size="14.00">X3:2:VCC</text>
<polygon fill="#000000" stroke="none" points="321.75,-130 321.75,-132 517.5,-132 517.5,-130 321.75,-130"/>
<polygon fill="#ff0000" stroke="none" points="321.75,-128 321.75,-130 517.5,-130 517.5,-128 321.75,-128"/>
<polygon fill="#000000" stroke="none" points="321.75,-126 321.75,-128 517.5,-128 517.5,-126 321.75,-126"/>
<text text-anchor="start" x="324.75" y="-110.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="393.75" y="-110.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="452.25" y="-110.7" font-family="arial" font-size="14.00">X4:1:GND</text>
<polygon fill="#000000" stroke="none" points="321.75,-105 321.75,-107 517.5,-107 517.5,-105 321.75,-105"/>
<polygon fill="#000000" stroke="none" points="321.75,-103 321.75,-105 517.5,-105 517.5,-103 321.75,-103"/>
<polygon fill="#000000" stroke="none" points="321.75,-101 321.75,-103 517.5,-103 517.5,-101 321.75,-101"/>
<text text-anchor="start" x="325.88" y="-85.7" font-family="arial" font-size="14.00">X1:2:VCC</text>
<text text-anchor="start" x="393" y="-85.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="453.38" y="-85.7" font-family="arial" font-size="14.00">X4:2:VCC</text>
<polygon fill="#000000" stroke="none" points="321.75,-80 321.75,-82 517.5,-82 517.5,-80 321.75,-80"/>
<polygon fill="#ff0000" stroke="none" points="321.75,-78 321.75,-80 517.5,-80 517.5,-78 321.75,-78"/>
<polygon fill="#000000" stroke="none" points="321.75,-76 321.75,-78 517.5,-78 517.5,-76 321.75,-76"/>
<text text-anchor="start" x="354" y="-60.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge1" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-150.75C247.62,-152.43 255.83,-203.43 321.75,-201.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-152.75C245.65,-152.75 253.85,-203.75 321.75,-203.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-154.75C243.67,-153.07 251.88,-204.07 321.75,-205.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge3" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-127.75C247.32,-129.4 256.11,-178.4 321.75,-176.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M177.75,-129.75C245.35,-129.75 254.15,-178.75 321.75,-178.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-131.75C243.39,-130.1 252.18,-179.1 321.75,-180.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge5" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-150.75C241.88,-150.75 257.87,-151.75 321.75,-151.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-152.75C241.75,-152.75 257.75,-153.75 321.75,-153.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-154.75C241.63,-154.75 257.62,-155.75 321.75,-155.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge7" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-127.75C241.63,-127.75 257.62,-126.75 321.75,-126.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M177.75,-129.75C241.75,-129.75 257.75,-128.75 321.75,-128.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-131.75C241.88,-131.75 257.87,-130.75 321.75,-130.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge9" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-150.75C243.39,-152.4 252.18,-103.4 321.75,-101.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-152.75C245.35,-152.75 254.15,-103.75 321.75,-103.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-154.75C247.32,-153.1 256.11,-104.1 321.75,-105.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge11" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-127.75C243.67,-129.43 251.88,-78.43 321.75,-76.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M177.75,-129.75C245.65,-129.75 253.85,-78.75 321.75,-78.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-131.75C247.62,-130.07 255.83,-79.07 321.75,-80.75"/>
</g>
<!-- X2 -->
<g id="node2" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="850.5,-329.5 661.5,-329.5 661.5,-236 850.5,-236 850.5,-329.5"/>
<polygon fill="none" stroke="black" points="661.5,-305.75 661.5,-329.5 850.5,-329.5 850.5,-305.75 661.5,-305.75"/>
<text text-anchor="start" x="747.75" y="-312.2" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="661.5,-282 661.5,-305.75 763.25,-305.75 763.25,-282 661.5,-282"/>
<text text-anchor="start" x="665.5" y="-288.45" font-family="arial" font-size="14.00">Molex Micro&#45;Fit</text>
<polygon fill="none" stroke="black" points="763.25,-282 763.25,-305.75 812.5,-305.75 812.5,-282 763.25,-282"/>
<text text-anchor="start" x="767.25" y="-288.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="812.5,-282 812.5,-305.75 850.5,-305.75 850.5,-282 812.5,-282"/>
<text text-anchor="start" x="816.5" y="-288.45" font-family="arial" font-size="14.00">2&#45;pin</text>
<polygon fill="none" stroke="black" points="661.5,-259 661.5,-282 744.5,-282 744.5,-259 661.5,-259"/>
<text text-anchor="start" x="699.25" y="-264.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="744.5,-259 744.5,-282 850.5,-282 850.5,-259 744.5,-259"/>
<text text-anchor="start" x="782.12" y="-264.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="661.5,-236 661.5,-259 744.5,-259 744.5,-236 661.5,-236"/>
<text text-anchor="start" x="699.25" y="-241.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="744.5,-236 744.5,-259 850.5,-259 850.5,-236 744.5,-236"/>
<text text-anchor="start" x="783.25" y="-241.7" font-family="arial" font-size="14.00">VCC</text>
</g>
<!-- X3 -->
<g id="node3" class="node">
<title>X3</title>
<polygon fill="#ffffff" stroke="black" points="850.5,-211.5 661.5,-211.5 661.5,-118 850.5,-118 850.5,-211.5"/>
<polygon fill="none" stroke="black" points="661.5,-187.75 661.5,-211.5 850.5,-211.5 850.5,-187.75 661.5,-187.75"/>
<text text-anchor="start" x="747.75" y="-194.2" font-family="arial" font-size="14.00">X3</text>
<polygon fill="none" stroke="black" points="661.5,-164 661.5,-187.75 763.25,-187.75 763.25,-164 661.5,-164"/>
<text text-anchor="start" x="665.5" y="-170.45" font-family="arial" font-size="14.00">Molex Micro&#45;Fit</text>
<polygon fill="none" stroke="black" points="763.25,-164 763.25,-187.75 812.5,-187.75 812.5,-164 763.25,-164"/>
<text text-anchor="start" x="767.25" y="-170.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="812.5,-164 812.5,-187.75 850.5,-187.75 850.5,-164 812.5,-164"/>
<text text-anchor="start" x="816.5" y="-170.45" font-family="arial" font-size="14.00">2&#45;pin</text>
<polygon fill="none" stroke="black" points="661.5,-141 661.5,-164 744.5,-164 744.5,-141 661.5,-141"/>
<text text-anchor="start" x="699.25" y="-146.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="744.5,-141 744.5,-164 850.5,-164 850.5,-141 744.5,-141"/>
<text text-anchor="start" x="782.12" y="-146.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="661.5,-118 661.5,-141 744.5,-141 744.5,-118 661.5,-118"/>
<text text-anchor="start" x="699.25" y="-123.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="744.5,-118 744.5,-141 850.5,-141 850.5,-118 744.5,-118"/>
<text text-anchor="start" x="783.25" y="-123.7" font-family="arial" font-size="14.00">VCC</text>
</g>
<!-- X4 -->
<g id="node4" class="node">
<title>X4</title>
<polygon fill="#ffffff" stroke="black" points="850.5,-93.5 661.5,-93.5 661.5,0 850.5,0 850.5,-93.5"/>
<polygon fill="none" stroke="black" points="661.5,-69.75 661.5,-93.5 850.5,-93.5 850.5,-69.75 661.5,-69.75"/>
<text text-anchor="start" x="747.75" y="-76.2" font-family="arial" font-size="14.00">X4</text>
<polygon fill="none" stroke="black" points="661.5,-46 661.5,-69.75 763.25,-69.75 763.25,-46 661.5,-46"/>
<text text-anchor="start" x="665.5" y="-52.45" font-family="arial" font-size="14.00">Molex Micro&#45;Fit</text>
<polygon fill="none" stroke="black" points="763.25,-46 763.25,-69.75 812.5,-69.75 812.5,-46 763.25,-46"/>
<text text-anchor="start" x="767.25" y="-52.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="812.5,-46 812.5,-69.75 850.5,-69.75 850.5,-46 812.5,-46"/>
<text text-anchor="start" x="816.5" y="-52.45" font-family="arial" font-size="14.00">2&#45;pin</text>
<polygon fill="none" stroke="black" points="661.5,-23 661.5,-46 744.5,-46 744.5,-23 661.5,-23"/>
<text text-anchor="start" x="699.25" y="-28.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="744.5,-23 744.5,-46 850.5,-46 850.5,-23 744.5,-23"/>
<text text-anchor="start" x="782.12" y="-28.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="661.5,0 661.5,-23 744.5,-23 744.5,0 661.5,0"/>
<text text-anchor="start" x="699.25" y="-5.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="744.5,0 744.5,-23 850.5,-23 850.5,0 744.5,0"/>
<text text-anchor="start" x="783.25" y="-5.7" font-family="arial" font-size="14.00">VCC</text>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-201.75C590.09,-203.67 592.91,-270.67 661.5,-268.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-203.75C588.09,-203.75 590.91,-270.75 661.5,-270.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-205.75C586.09,-203.83 588.91,-270.83 661.5,-272.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-176.75C590.47,-178.69 592.53,-247.69 661.5,-245.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M517.5,-178.75C588.47,-178.75 590.53,-247.75 661.5,-247.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-180.75C586.47,-178.81 588.53,-247.81 661.5,-249.75"/>
</g>
<!-- W1&#45;&#45;X3 -->
<g id="edge6" class="edge">
<title>W1:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-151.75C581.38,-151.75 597.37,-150.75 661.5,-150.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-153.75C581.5,-153.75 597.5,-152.75 661.5,-152.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-155.75C581.63,-155.75 597.62,-154.75 661.5,-154.75"/>
</g>
<!-- W1&#45;&#45;X3 -->
<g id="edge8" class="edge">
<title>W1:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-126.75C581.63,-126.75 597.62,-127.75 661.5,-127.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M517.5,-128.75C581.5,-128.75 597.5,-129.75 661.5,-129.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-130.75C581.38,-130.75 597.37,-131.75 661.5,-131.75"/>
</g>
<!-- W1&#45;&#45;X4 -->
<g id="edge10" class="edge">
<title>W1:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-101.75C586.47,-103.69 588.53,-34.69 661.5,-32.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-103.75C588.47,-103.75 590.53,-34.75 661.5,-34.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-105.75C590.47,-103.81 592.53,-34.81 661.5,-36.75"/>
</g>
<!-- W1&#45;&#45;X4 -->
<g id="edge12" class="edge">
<title>W1:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-76.75C586.09,-78.67 588.91,-11.67 661.5,-9.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M517.5,-78.75C588.09,-78.75 590.91,-11.75 661.5,-11.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-80.75C590.09,-78.83 592.91,-11.83 661.5,-13.75"/>
</g>
</g>
</svg>
</div>
<div id="notes">
<!-- %notes% -->
</div>
<h2>Bill of Materials</h2>
<div id="bom">
<table class="bom">
<tr>
<th class="bom_col_id">Id</th>
<th class="bom_col_description">Description</th>
<th class="bom_col_qty">Qty</th>
<th class="bom_col_unit">Unit</th>
<th class="bom_col_designators">Designators</th>
</tr>
<tr>
<td class="bom_col_id">1</td>
<td class="bom_col_description">Connector, Molex Micro-Fit, female, 2 pins</td>
<td class="bom_col_qty">3</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X2, X3, X4</td>
</tr>
<tr>
<td class="bom_col_id">2</td>
<td class="bom_col_description">Connector, Molex Micro-Fit, male, 2 pins</td>
<td class="bom_col_qty">1</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X1</td>
</tr>
<tr>
<td class="bom_col_id">3</td>
<td class="bom_col_description">Wire, 0.25 mm², BK</td>
<td class="bom_col_qty">0.6</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1</td>
</tr>
<tr>
<td class="bom_col_id">4</td>
<td class="bom_col_description">Wire, 0.25 mm², RD</td>
<td class="bom_col_qty">0.6</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1</td>
</tr>
</table>
</div>
</body></html>

BIN
examples/ex03.png generated Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

231
examples/ex03.svg generated Normal file
View File

@ -0,0 +1,231 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="859pt" height="338pt"
viewBox="0.00 0.00 858.50 337.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 333.5)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-333.5 854.5,-333.5 854.5,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="177.75,-211.5 0,-211.5 0,-118 177.75,-118 177.75,-211.5"/>
<polygon fill="none" stroke="black" points="0,-187.75 0,-211.5 177.75,-211.5 177.75,-187.75 0,-187.75"/>
<text text-anchor="start" x="80.62" y="-194.2" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-164 0,-187.75 101.75,-187.75 101.75,-164 0,-164"/>
<text text-anchor="start" x="4" y="-170.45" font-family="arial" font-size="14.00">Molex Micro&#45;Fit</text>
<polygon fill="none" stroke="black" points="101.75,-164 101.75,-187.75 139.75,-187.75 139.75,-164 101.75,-164"/>
<text text-anchor="start" x="105.75" y="-170.45" font-family="arial" font-size="14.00">male</text>
<polygon fill="none" stroke="black" points="139.75,-164 139.75,-187.75 177.75,-187.75 177.75,-164 139.75,-164"/>
<text text-anchor="start" x="143.75" y="-170.45" font-family="arial" font-size="14.00">2&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-141 0,-164 100.38,-164 100.38,-141 0,-141"/>
<text text-anchor="start" x="34.81" y="-146.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="100.38,-141 100.38,-164 177.75,-164 177.75,-141 100.38,-141"/>
<text text-anchor="start" x="135.31" y="-146.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-118 0,-141 100.38,-141 100.38,-118 0,-118"/>
<text text-anchor="start" x="35.94" y="-123.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="100.38,-118 100.38,-141 177.75,-141 177.75,-118 100.38,-118"/>
<text text-anchor="start" x="135.31" y="-123.7" font-family="arial" font-size="14.00">2</text>
</g>
<!-- W1 -->
<g id="node5" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="517.5,-292.5 321.75,-292.5 321.75,-57 517.5,-57 517.5,-292.5"/>
<polygon fill="none" stroke="black" points="321.75,-268.75 321.75,-292.5 517.5,-292.5 517.5,-268.75 321.75,-268.75"/>
<text text-anchor="start" x="409.12" y="-275.2" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="321.75,-245 321.75,-268.75 344,-268.75 344,-245 321.75,-245"/>
<text text-anchor="start" x="325.75" y="-251.45" font-family="arial" font-size="14.00">6x</text>
<polygon fill="none" stroke="black" points="344,-245 344,-268.75 475,-268.75 475,-245 344,-245"/>
<text text-anchor="start" x="348" y="-251.45" font-family="arial" font-size="14.00">0.25 mm² (24 AWG)</text>
<polygon fill="none" stroke="black" points="475,-245 475,-268.75 517.5,-268.75 517.5,-245 475,-245"/>
<text text-anchor="start" x="479" y="-251.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="354" y="-229.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="324.75" y="-210.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="393.75" y="-210.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="452.25" y="-210.7" font-family="arial" font-size="14.00">X2:1:GND</text>
<polygon fill="#000000" stroke="none" points="321.75,-205 321.75,-207 517.5,-207 517.5,-205 321.75,-205"/>
<polygon fill="#000000" stroke="none" points="321.75,-203 321.75,-205 517.5,-205 517.5,-203 321.75,-203"/>
<polygon fill="#000000" stroke="none" points="321.75,-201 321.75,-203 517.5,-203 517.5,-201 321.75,-201"/>
<text text-anchor="start" x="325.88" y="-185.7" font-family="arial" font-size="14.00">X1:2:VCC</text>
<text text-anchor="start" x="393" y="-185.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="453.38" y="-185.7" font-family="arial" font-size="14.00">X2:2:VCC</text>
<polygon fill="#000000" stroke="none" points="321.75,-180 321.75,-182 517.5,-182 517.5,-180 321.75,-180"/>
<polygon fill="#ff0000" stroke="none" points="321.75,-178 321.75,-180 517.5,-180 517.5,-178 321.75,-178"/>
<polygon fill="#000000" stroke="none" points="321.75,-176 321.75,-178 517.5,-178 517.5,-176 321.75,-176"/>
<text text-anchor="start" x="324.75" y="-160.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="393.75" y="-160.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="452.25" y="-160.7" font-family="arial" font-size="14.00">X3:1:GND</text>
<polygon fill="#000000" stroke="none" points="321.75,-155 321.75,-157 517.5,-157 517.5,-155 321.75,-155"/>
<polygon fill="#000000" stroke="none" points="321.75,-153 321.75,-155 517.5,-155 517.5,-153 321.75,-153"/>
<polygon fill="#000000" stroke="none" points="321.75,-151 321.75,-153 517.5,-153 517.5,-151 321.75,-151"/>
<text text-anchor="start" x="325.88" y="-135.7" font-family="arial" font-size="14.00">X1:2:VCC</text>
<text text-anchor="start" x="393" y="-135.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="453.38" y="-135.7" font-family="arial" font-size="14.00">X3:2:VCC</text>
<polygon fill="#000000" stroke="none" points="321.75,-130 321.75,-132 517.5,-132 517.5,-130 321.75,-130"/>
<polygon fill="#ff0000" stroke="none" points="321.75,-128 321.75,-130 517.5,-130 517.5,-128 321.75,-128"/>
<polygon fill="#000000" stroke="none" points="321.75,-126 321.75,-128 517.5,-128 517.5,-126 321.75,-126"/>
<text text-anchor="start" x="324.75" y="-110.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="393.75" y="-110.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="452.25" y="-110.7" font-family="arial" font-size="14.00">X4:1:GND</text>
<polygon fill="#000000" stroke="none" points="321.75,-105 321.75,-107 517.5,-107 517.5,-105 321.75,-105"/>
<polygon fill="#000000" stroke="none" points="321.75,-103 321.75,-105 517.5,-105 517.5,-103 321.75,-103"/>
<polygon fill="#000000" stroke="none" points="321.75,-101 321.75,-103 517.5,-103 517.5,-101 321.75,-101"/>
<text text-anchor="start" x="325.88" y="-85.7" font-family="arial" font-size="14.00">X1:2:VCC</text>
<text text-anchor="start" x="393" y="-85.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="453.38" y="-85.7" font-family="arial" font-size="14.00">X4:2:VCC</text>
<polygon fill="#000000" stroke="none" points="321.75,-80 321.75,-82 517.5,-82 517.5,-80 321.75,-80"/>
<polygon fill="#ff0000" stroke="none" points="321.75,-78 321.75,-80 517.5,-80 517.5,-78 321.75,-78"/>
<polygon fill="#000000" stroke="none" points="321.75,-76 321.75,-78 517.5,-78 517.5,-76 321.75,-76"/>
<text text-anchor="start" x="354" y="-60.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge1" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-150.75C247.62,-152.43 255.83,-203.43 321.75,-201.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-152.75C245.65,-152.75 253.85,-203.75 321.75,-203.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-154.75C243.67,-153.07 251.88,-204.07 321.75,-205.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge3" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-127.75C247.32,-129.4 256.11,-178.4 321.75,-176.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M177.75,-129.75C245.35,-129.75 254.15,-178.75 321.75,-178.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-131.75C243.39,-130.1 252.18,-179.1 321.75,-180.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge5" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-150.75C241.88,-150.75 257.87,-151.75 321.75,-151.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-152.75C241.75,-152.75 257.75,-153.75 321.75,-153.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-154.75C241.63,-154.75 257.62,-155.75 321.75,-155.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge7" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-127.75C241.63,-127.75 257.62,-126.75 321.75,-126.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M177.75,-129.75C241.75,-129.75 257.75,-128.75 321.75,-128.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-131.75C241.88,-131.75 257.87,-130.75 321.75,-130.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge9" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-150.75C243.39,-152.4 252.18,-103.4 321.75,-101.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-152.75C245.35,-152.75 254.15,-103.75 321.75,-103.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-154.75C247.32,-153.1 256.11,-104.1 321.75,-105.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge11" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-127.75C243.67,-129.43 251.88,-78.43 321.75,-76.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M177.75,-129.75C245.65,-129.75 253.85,-78.75 321.75,-78.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M177.75,-131.75C247.62,-130.07 255.83,-79.07 321.75,-80.75"/>
</g>
<!-- X2 -->
<g id="node2" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="850.5,-329.5 661.5,-329.5 661.5,-236 850.5,-236 850.5,-329.5"/>
<polygon fill="none" stroke="black" points="661.5,-305.75 661.5,-329.5 850.5,-329.5 850.5,-305.75 661.5,-305.75"/>
<text text-anchor="start" x="747.75" y="-312.2" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="661.5,-282 661.5,-305.75 763.25,-305.75 763.25,-282 661.5,-282"/>
<text text-anchor="start" x="665.5" y="-288.45" font-family="arial" font-size="14.00">Molex Micro&#45;Fit</text>
<polygon fill="none" stroke="black" points="763.25,-282 763.25,-305.75 812.5,-305.75 812.5,-282 763.25,-282"/>
<text text-anchor="start" x="767.25" y="-288.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="812.5,-282 812.5,-305.75 850.5,-305.75 850.5,-282 812.5,-282"/>
<text text-anchor="start" x="816.5" y="-288.45" font-family="arial" font-size="14.00">2&#45;pin</text>
<polygon fill="none" stroke="black" points="661.5,-259 661.5,-282 744.5,-282 744.5,-259 661.5,-259"/>
<text text-anchor="start" x="699.25" y="-264.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="744.5,-259 744.5,-282 850.5,-282 850.5,-259 744.5,-259"/>
<text text-anchor="start" x="782.12" y="-264.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="661.5,-236 661.5,-259 744.5,-259 744.5,-236 661.5,-236"/>
<text text-anchor="start" x="699.25" y="-241.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="744.5,-236 744.5,-259 850.5,-259 850.5,-236 744.5,-236"/>
<text text-anchor="start" x="783.25" y="-241.7" font-family="arial" font-size="14.00">VCC</text>
</g>
<!-- X3 -->
<g id="node3" class="node">
<title>X3</title>
<polygon fill="#ffffff" stroke="black" points="850.5,-211.5 661.5,-211.5 661.5,-118 850.5,-118 850.5,-211.5"/>
<polygon fill="none" stroke="black" points="661.5,-187.75 661.5,-211.5 850.5,-211.5 850.5,-187.75 661.5,-187.75"/>
<text text-anchor="start" x="747.75" y="-194.2" font-family="arial" font-size="14.00">X3</text>
<polygon fill="none" stroke="black" points="661.5,-164 661.5,-187.75 763.25,-187.75 763.25,-164 661.5,-164"/>
<text text-anchor="start" x="665.5" y="-170.45" font-family="arial" font-size="14.00">Molex Micro&#45;Fit</text>
<polygon fill="none" stroke="black" points="763.25,-164 763.25,-187.75 812.5,-187.75 812.5,-164 763.25,-164"/>
<text text-anchor="start" x="767.25" y="-170.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="812.5,-164 812.5,-187.75 850.5,-187.75 850.5,-164 812.5,-164"/>
<text text-anchor="start" x="816.5" y="-170.45" font-family="arial" font-size="14.00">2&#45;pin</text>
<polygon fill="none" stroke="black" points="661.5,-141 661.5,-164 744.5,-164 744.5,-141 661.5,-141"/>
<text text-anchor="start" x="699.25" y="-146.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="744.5,-141 744.5,-164 850.5,-164 850.5,-141 744.5,-141"/>
<text text-anchor="start" x="782.12" y="-146.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="661.5,-118 661.5,-141 744.5,-141 744.5,-118 661.5,-118"/>
<text text-anchor="start" x="699.25" y="-123.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="744.5,-118 744.5,-141 850.5,-141 850.5,-118 744.5,-118"/>
<text text-anchor="start" x="783.25" y="-123.7" font-family="arial" font-size="14.00">VCC</text>
</g>
<!-- X4 -->
<g id="node4" class="node">
<title>X4</title>
<polygon fill="#ffffff" stroke="black" points="850.5,-93.5 661.5,-93.5 661.5,0 850.5,0 850.5,-93.5"/>
<polygon fill="none" stroke="black" points="661.5,-69.75 661.5,-93.5 850.5,-93.5 850.5,-69.75 661.5,-69.75"/>
<text text-anchor="start" x="747.75" y="-76.2" font-family="arial" font-size="14.00">X4</text>
<polygon fill="none" stroke="black" points="661.5,-46 661.5,-69.75 763.25,-69.75 763.25,-46 661.5,-46"/>
<text text-anchor="start" x="665.5" y="-52.45" font-family="arial" font-size="14.00">Molex Micro&#45;Fit</text>
<polygon fill="none" stroke="black" points="763.25,-46 763.25,-69.75 812.5,-69.75 812.5,-46 763.25,-46"/>
<text text-anchor="start" x="767.25" y="-52.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="812.5,-46 812.5,-69.75 850.5,-69.75 850.5,-46 812.5,-46"/>
<text text-anchor="start" x="816.5" y="-52.45" font-family="arial" font-size="14.00">2&#45;pin</text>
<polygon fill="none" stroke="black" points="661.5,-23 661.5,-46 744.5,-46 744.5,-23 661.5,-23"/>
<text text-anchor="start" x="699.25" y="-28.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="744.5,-23 744.5,-46 850.5,-46 850.5,-23 744.5,-23"/>
<text text-anchor="start" x="782.12" y="-28.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="661.5,0 661.5,-23 744.5,-23 744.5,0 661.5,0"/>
<text text-anchor="start" x="699.25" y="-5.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="744.5,0 744.5,-23 850.5,-23 850.5,0 744.5,0"/>
<text text-anchor="start" x="783.25" y="-5.7" font-family="arial" font-size="14.00">VCC</text>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-201.75C590.09,-203.67 592.91,-270.67 661.5,-268.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-203.75C588.09,-203.75 590.91,-270.75 661.5,-270.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-205.75C586.09,-203.83 588.91,-270.83 661.5,-272.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-176.75C590.47,-178.69 592.53,-247.69 661.5,-245.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M517.5,-178.75C588.47,-178.75 590.53,-247.75 661.5,-247.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-180.75C586.47,-178.81 588.53,-247.81 661.5,-249.75"/>
</g>
<!-- W1&#45;&#45;X3 -->
<g id="edge6" class="edge">
<title>W1:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-151.75C581.38,-151.75 597.37,-150.75 661.5,-150.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-153.75C581.5,-153.75 597.5,-152.75 661.5,-152.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-155.75C581.63,-155.75 597.62,-154.75 661.5,-154.75"/>
</g>
<!-- W1&#45;&#45;X3 -->
<g id="edge8" class="edge">
<title>W1:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-126.75C581.63,-126.75 597.62,-127.75 661.5,-127.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M517.5,-128.75C581.5,-128.75 597.5,-129.75 661.5,-129.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-130.75C581.38,-130.75 597.37,-131.75 661.5,-131.75"/>
</g>
<!-- W1&#45;&#45;X4 -->
<g id="edge10" class="edge">
<title>W1:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-101.75C586.47,-103.69 588.53,-34.69 661.5,-32.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-103.75C588.47,-103.75 590.53,-34.75 661.5,-34.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-105.75C590.47,-103.81 592.53,-34.81 661.5,-36.75"/>
</g>
<!-- W1&#45;&#45;X4 -->
<g id="edge12" class="edge">
<title>W1:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-76.75C586.09,-78.67 588.91,-11.67 661.5,-9.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M517.5,-78.75C588.09,-78.75 590.91,-11.75 661.5,-11.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M517.5,-80.75C590.09,-78.83 592.91,-11.83 661.5,-13.75"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

36
examples/ex03.yml Normal file
View File

@ -0,0 +1,36 @@
connectors:
X1: &boo
type: Molex Micro-Fit
subtype: male
pinlabels: [GND, VCC]
X2: &con_power_f
type: Molex Micro-Fit
subtype: female
pinlabels: [GND, VCC]
X3:
<<: *con_power_f
X4:
<<: *con_power_f
cables:
W1:
category: bundle # bundles are routed together, but more loosely than normal cables
wirecount: 6
colors: [BK, RD] # if number of items in color list is less than wirecount, loop colors
gauge: 0.25 mm2
show_equiv: true
length: 0.2
connections:
-
- X1: [1-2]
- W1: [1-2]
- X2: [1-2]
-
- X1: [1-2]
- W1: [3,4]
- X3: [1-2]
-
- X1: [1-2]
- W1: [5,6]
- X4: [1-2]

8
examples/ex04.bom.tsv generated Normal file
View File

@ -0,0 +1,8 @@
Id Description Qty Unit Designators
1 Connector, Crimp ferrule 12
2 Wire, 0.25 mm², BN 0.2 m W1
3 Wire, 0.25 mm², BU 0.2 m W1
4 Wire, 0.25 mm², GN 0.2 m W1
5 Wire, 0.25 mm², OG 0.2 m W1
6 Wire, 0.25 mm², RD 0.2 m W1
7 Wire, 0.25 mm², YE 0.2 m W1
1 Id Description Qty Unit Designators
2 1 Connector, Crimp ferrule 12
3 2 Wire, 0.25 mm², BN 0.2 m W1
4 3 Wire, 0.25 mm², BU 0.2 m W1
5 4 Wire, 0.25 mm², GN 0.2 m W1
6 5 Wire, 0.25 mm², OG 0.2 m W1
7 6 Wire, 0.25 mm², RD 0.2 m W1
8 7 Wire, 0.25 mm², YE 0.2 m W1

251
examples/ex04.gv generated Normal file
View File

@ -0,0 +1,251 @@
graph {
// Graph generated by WireViz 0.4.1
// https://github.com/wireviz/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]
__F_1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Crimp ferrule</td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
__F_2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Crimp ferrule</td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
__F_3 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Crimp ferrule</td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
__F_4 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Crimp ferrule</td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
__F_5 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Crimp ferrule</td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
__F_6 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Crimp ferrule</td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
__F_7 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Crimp ferrule</td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
__F_8 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Crimp ferrule</td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
__F_9 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Crimp ferrule</td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
__F_10 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Crimp ferrule</td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
__F_11 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Crimp ferrule</td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
__F_12 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Crimp ferrule</td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
edge [color="#000000:#895956:#000000"]
__F_1:e -- W1:w1:w
W1:w1:e -- __F_7:w
edge [color="#000000:#ff0000:#000000"]
__F_2:e -- W1:w2:w
W1:w2:e -- __F_8:w
edge [color="#000000:#ff8000:#000000"]
__F_3:e -- W1:w3:w
W1:w3:e -- __F_9:w
edge [color="#000000:#ffff00:#000000"]
__F_4:e -- W1:w4:w
W1:w4:e -- __F_10:w
edge [color="#000000:#00ff00:#000000"]
__F_5:e -- W1:w5:w
W1:w5:e -- __F_11:w
edge [color="#000000:#0066ff:#000000"]
__F_6:e -- W1:w6:w
W1:w6:e -- __F_12:w
W1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">6x</td>
<td balign="left">0.25 mm² (24 AWG)</td>
<td balign="left">0.2 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td></td>
<td>
BN
</td>
<td></td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#895956" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td></td>
<td>
RD
</td>
<td></td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff0000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td></td>
<td>
OG
</td>
<td></td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff8000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td></td>
<td>
YE
</td>
<td></td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td></td>
<td>
GN
</td>
<td></td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w5" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td></td>
<td>
BU
</td>
<td></td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w6" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#0066ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style="filled,dashed"]
}

320
examples/ex04.html generated Normal file
View File

@ -0,0 +1,320 @@
<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<meta name="generator" content="WireViz 0.4.1 - https://github.com/wireviz/WireViz">
<title>ex04</title>
<style>
#bom table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
#bom th, td {
padding: 4px;
text-align: left;
}
.bom_col_qty {
text-align: right;
}
</style>
</head><body style="font-family:arial;background-color:#ffffff">
<h1>ex04</h1>
<h2>Diagram</h2>
<div id="description">
<!-- %description% -->
</div>
<div id="diagram">
<!-- XML and DOCTYPE declarations from SVG file removed -->
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="665pt" height="291pt"
viewBox="0.00 0.00 665.25 290.62" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 286.62)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-286.62 661.25,-286.62 661.25,4 -4,4"/>
<!-- __F_1 -->
<g id="node1" class="node">
<title>__F_1</title>
<polygon fill="#ffffff" stroke="black" points="86.75,-263.75 0,-263.75 0,-240 86.75,-240 86.75,-263.75"/>
<polygon fill="none" stroke="black" points="0,-240 0,-263.75 86.75,-263.75 86.75,-240 0,-240"/>
<text text-anchor="start" x="4" y="-246.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- W1 -->
<g id="node13" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="426.5,-282.62 230.75,-282.62 230.75,-47.12 426.5,-47.12 426.5,-282.62"/>
<polygon fill="none" stroke="black" points="230.75,-258.88 230.75,-282.62 426.5,-282.62 426.5,-258.88 230.75,-258.88"/>
<text text-anchor="start" x="318.12" y="-265.32" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="230.75,-235.12 230.75,-258.88 253,-258.88 253,-235.12 230.75,-235.12"/>
<text text-anchor="start" x="234.75" y="-241.57" font-family="arial" font-size="14.00">6x</text>
<polygon fill="none" stroke="black" points="253,-235.12 253,-258.88 384,-258.88 384,-235.12 253,-235.12"/>
<text text-anchor="start" x="257" y="-241.57" font-family="arial" font-size="14.00">0.25 mm² (24 AWG)</text>
<polygon fill="none" stroke="black" points="384,-235.12 384,-258.88 426.5,-258.88 426.5,-235.12 384,-235.12"/>
<text text-anchor="start" x="388" y="-241.57" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="253.17" y="-219.82" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="303.88" y="-200.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BN &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="230.75,-195.12 230.75,-197.12 426.5,-197.12 426.5,-195.12 230.75,-195.12"/>
<polygon fill="#895956" stroke="none" points="230.75,-193.12 230.75,-195.12 426.5,-195.12 426.5,-193.12 230.75,-193.12"/>
<polygon fill="#000000" stroke="none" points="230.75,-191.12 230.75,-193.12 426.5,-193.12 426.5,-191.12 230.75,-191.12"/>
<text text-anchor="start" x="303.5" y="-175.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;RD &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="230.75,-170.12 230.75,-172.12 426.5,-172.12 426.5,-170.12 230.75,-170.12"/>
<polygon fill="#ff0000" stroke="none" points="230.75,-168.12 230.75,-170.12 426.5,-170.12 426.5,-168.12 230.75,-168.12"/>
<polygon fill="#000000" stroke="none" points="230.75,-166.12 230.75,-168.12 426.5,-168.12 426.5,-166.12 230.75,-166.12"/>
<text text-anchor="start" x="302" y="-150.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;OG &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="230.75,-145.12 230.75,-147.12 426.5,-147.12 426.5,-145.12 230.75,-145.12"/>
<polygon fill="#ff8000" stroke="none" points="230.75,-143.12 230.75,-145.12 426.5,-145.12 426.5,-143.12 230.75,-143.12"/>
<polygon fill="#000000" stroke="none" points="230.75,-141.12 230.75,-143.12 426.5,-143.12 426.5,-141.12 230.75,-141.12"/>
<text text-anchor="start" x="304.25" y="-125.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;YE &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="230.75,-120.12 230.75,-122.12 426.5,-122.12 426.5,-120.12 230.75,-120.12"/>
<polygon fill="#ffff00" stroke="none" points="230.75,-118.12 230.75,-120.12 426.5,-120.12 426.5,-118.12 230.75,-118.12"/>
<polygon fill="#000000" stroke="none" points="230.75,-116.12 230.75,-118.12 426.5,-118.12 426.5,-116.12 230.75,-116.12"/>
<text text-anchor="start" x="302.75" y="-100.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;GN &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="230.75,-95.12 230.75,-97.12 426.5,-97.12 426.5,-95.12 230.75,-95.12"/>
<polygon fill="#00ff00" stroke="none" points="230.75,-93.12 230.75,-95.12 426.5,-95.12 426.5,-93.12 230.75,-93.12"/>
<polygon fill="#000000" stroke="none" points="230.75,-91.12 230.75,-93.12 426.5,-93.12 426.5,-91.12 230.75,-91.12"/>
<text text-anchor="start" x="303.88" y="-75.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BU &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="230.75,-70.12 230.75,-72.12 426.5,-72.12 426.5,-70.12 230.75,-70.12"/>
<polygon fill="#0066ff" stroke="none" points="230.75,-68.12 230.75,-70.12 426.5,-70.12 426.5,-68.12 230.75,-68.12"/>
<polygon fill="#000000" stroke="none" points="230.75,-66.12 230.75,-68.12 426.5,-68.12 426.5,-66.12 230.75,-66.12"/>
<text text-anchor="start" x="253.17" y="-50.83" font-family="arial" font-size="14.00"> </text>
</g>
<!-- __F_1&#45;&#45;W1 -->
<g id="edge1" class="edge">
<title>__F_1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-249.88C153.76,-251.67 159.76,-193.67 230.75,-191.88"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M86.75,-251.88C155.75,-251.88 161.75,-193.88 230.75,-193.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-253.87C157.74,-252.08 163.74,-194.08 230.75,-195.87"/>
</g>
<!-- __F_2 -->
<g id="node2" class="node">
<title>__F_2</title>
<polygon fill="#ffffff" stroke="black" points="86.75,-215.75 0,-215.75 0,-192 86.75,-192 86.75,-215.75"/>
<polygon fill="none" stroke="black" points="0,-192 0,-215.75 86.75,-215.75 86.75,-192 0,-192"/>
<text text-anchor="start" x="4" y="-198.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- __F_2&#45;&#45;W1 -->
<g id="edge3" class="edge">
<title>__F_2:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-201.88C150.73,-203.21 163,-168.21 230.75,-166.88"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M86.75,-203.88C152.61,-203.88 164.89,-168.88 230.75,-168.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-205.87C154.5,-204.54 166.77,-169.54 230.75,-170.87"/>
</g>
<!-- __F_3 -->
<g id="node3" class="node">
<title>__F_3</title>
<polygon fill="#ffffff" stroke="black" points="86.75,-167.75 0,-167.75 0,-144 86.75,-144 86.75,-167.75"/>
<polygon fill="none" stroke="black" points="0,-144 0,-167.75 86.75,-167.75 86.75,-144 0,-144"/>
<text text-anchor="start" x="4" y="-150.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- __F_3&#45;&#45;W1 -->
<g id="edge5" class="edge">
<title>__F_3:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-153.88C149.75,-154.29 165.31,-142.29 230.75,-141.88"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M86.75,-155.88C150.97,-155.88 166.53,-143.88 230.75,-143.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-157.87C152.19,-157.46 167.75,-145.46 230.75,-145.87"/>
</g>
<!-- __F_4 -->
<g id="node4" class="node">
<title>__F_4</title>
<polygon fill="#ffffff" stroke="black" points="86.75,-119.75 0,-119.75 0,-96 86.75,-96 86.75,-119.75"/>
<polygon fill="none" stroke="black" points="0,-96 0,-119.75 86.75,-119.75 86.75,-96 0,-96"/>
<text text-anchor="start" x="4" y="-102.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- __F_4&#45;&#45;W1 -->
<g id="edge7" class="edge">
<title>__F_4:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-105.88C152.09,-106.24 167.71,-117.24 230.75,-116.88"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M86.75,-107.88C150.94,-107.87 166.56,-118.87 230.75,-118.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-109.87C149.79,-109.51 165.41,-120.51 230.75,-120.87"/>
</g>
<!-- __F_5 -->
<g id="node5" class="node">
<title>__F_5</title>
<polygon fill="#ffffff" stroke="black" points="86.75,-71.75 0,-71.75 0,-48 86.75,-48 86.75,-71.75"/>
<polygon fill="none" stroke="black" points="0,-48 0,-71.75 86.75,-71.75 86.75,-48 0,-48"/>
<text text-anchor="start" x="4" y="-54.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- __F_5&#45;&#45;W1 -->
<g id="edge9" class="edge">
<title>__F_5:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-57.88C154.39,-59.19 166.87,-93.19 230.75,-91.88"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M86.75,-59.88C152.51,-59.88 164.99,-93.88 230.75,-93.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-61.87C150.63,-60.56 163.11,-94.56 230.75,-95.87"/>
</g>
<!-- __F_6 -->
<g id="node6" class="node">
<title>__F_6</title>
<polygon fill="#ffffff" stroke="black" points="86.75,-23.75 0,-23.75 0,0 86.75,0 86.75,-23.75"/>
<polygon fill="none" stroke="black" points="0,0 0,-23.75 86.75,-23.75 86.75,0 0,0"/>
<text text-anchor="start" x="4" y="-6.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- __F_6&#45;&#45;W1 -->
<g id="edge11" class="edge">
<title>__F_6:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-9.88C157.57,-11.65 163.91,-68.65 230.75,-66.88"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M86.75,-11.88C155.58,-11.88 161.92,-68.88 230.75,-68.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-13.87C153.59,-12.1 159.93,-69.1 230.75,-70.87"/>
</g>
<!-- __F_7 -->
<g id="node7" class="node">
<title>__F_7</title>
<polygon fill="#ffffff" stroke="black" points="657.25,-263.75 570.5,-263.75 570.5,-240 657.25,-240 657.25,-263.75"/>
<polygon fill="none" stroke="black" points="570.5,-240 570.5,-263.75 657.25,-263.75 657.25,-240 570.5,-240"/>
<text text-anchor="start" x="574.5" y="-246.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- __F_8 -->
<g id="node8" class="node">
<title>__F_8</title>
<polygon fill="#ffffff" stroke="black" points="657.25,-215.75 570.5,-215.75 570.5,-192 657.25,-192 657.25,-215.75"/>
<polygon fill="none" stroke="black" points="570.5,-192 570.5,-215.75 657.25,-215.75 657.25,-192 570.5,-192"/>
<text text-anchor="start" x="574.5" y="-198.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- __F_9 -->
<g id="node9" class="node">
<title>__F_9</title>
<polygon fill="#ffffff" stroke="black" points="657.25,-167.75 570.5,-167.75 570.5,-144 657.25,-144 657.25,-167.75"/>
<polygon fill="none" stroke="black" points="570.5,-144 570.5,-167.75 657.25,-167.75 657.25,-144 570.5,-144"/>
<text text-anchor="start" x="574.5" y="-150.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- __F_10 -->
<g id="node10" class="node">
<title>__F_10</title>
<polygon fill="#ffffff" stroke="black" points="657.25,-119.75 570.5,-119.75 570.5,-96 657.25,-96 657.25,-119.75"/>
<polygon fill="none" stroke="black" points="570.5,-96 570.5,-119.75 657.25,-119.75 657.25,-96 570.5,-96"/>
<text text-anchor="start" x="574.5" y="-102.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- __F_11 -->
<g id="node11" class="node">
<title>__F_11</title>
<polygon fill="#ffffff" stroke="black" points="657.25,-71.75 570.5,-71.75 570.5,-48 657.25,-48 657.25,-71.75"/>
<polygon fill="none" stroke="black" points="570.5,-48 570.5,-71.75 657.25,-71.75 657.25,-48 570.5,-48"/>
<text text-anchor="start" x="574.5" y="-54.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- __F_12 -->
<g id="node12" class="node">
<title>__F_12</title>
<polygon fill="#ffffff" stroke="black" points="657.25,-23.75 570.5,-23.75 570.5,0 657.25,0 657.25,-23.75"/>
<polygon fill="none" stroke="black" points="570.5,0 570.5,-23.75 657.25,-23.75 657.25,0 570.5,0"/>
<text text-anchor="start" x="574.5" y="-6.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- W1&#45;&#45;__F_7 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;__F_7:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-191.88C497.49,-193.67 503.49,-251.67 570.5,-249.88"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M426.5,-193.88C495.5,-193.88 501.5,-251.88 570.5,-251.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-195.87C493.51,-194.08 499.51,-252.08 570.5,-253.87"/>
</g>
<!-- W1&#45;&#45;__F_8 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;__F_8:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-166.88C494.25,-168.21 506.52,-203.21 570.5,-201.88"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M426.5,-168.88C492.36,-168.88 504.64,-203.88 570.5,-203.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-170.87C490.48,-169.54 502.75,-204.54 570.5,-205.87"/>
</g>
<!-- W1&#45;&#45;__F_9 -->
<g id="edge6" class="edge">
<title>W1:e&#45;&#45;__F_9:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-141.88C491.94,-142.29 507.5,-154.29 570.5,-153.88"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M426.5,-143.88C490.72,-143.88 506.28,-155.88 570.5,-155.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-145.87C489.5,-145.46 505.06,-157.46 570.5,-157.87"/>
</g>
<!-- W1&#45;&#45;__F_10 -->
<g id="edge8" class="edge">
<title>W1:e&#45;&#45;__F_10:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-116.88C489.54,-117.24 505.16,-106.24 570.5,-105.88"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M426.5,-118.88C490.69,-118.87 506.31,-107.87 570.5,-107.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-120.87C491.84,-120.51 507.46,-109.51 570.5,-109.87"/>
</g>
<!-- W1&#45;&#45;__F_11 -->
<g id="edge10" class="edge">
<title>W1:e&#45;&#45;__F_11:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-91.88C490.38,-93.19 502.86,-59.19 570.5,-57.88"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M426.5,-93.88C492.26,-93.88 504.74,-59.88 570.5,-59.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-95.87C494.14,-94.56 506.62,-60.56 570.5,-61.87"/>
</g>
<!-- W1&#45;&#45;__F_12 -->
<g id="edge12" class="edge">
<title>W1:e&#45;&#45;__F_12:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-66.88C493.34,-68.65 499.68,-11.65 570.5,-9.88"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M426.5,-68.88C495.33,-68.88 501.67,-11.88 570.5,-11.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-70.87C497.32,-69.1 503.66,-12.1 570.5,-13.87"/>
</g>
</g>
</svg>
</div>
<div id="notes">
<!-- %notes% -->
</div>
<h2>Bill of Materials</h2>
<div id="bom">
<table class="bom">
<tr>
<th class="bom_col_id">Id</th>
<th class="bom_col_description">Description</th>
<th class="bom_col_qty">Qty</th>
<th class="bom_col_unit">Unit</th>
<th class="bom_col_designators">Designators</th>
</tr>
<tr>
<td class="bom_col_id">1</td>
<td class="bom_col_description">Connector, Crimp ferrule</td>
<td class="bom_col_qty">12</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators"></td>
</tr>
<tr>
<td class="bom_col_id">2</td>
<td class="bom_col_description">Wire, 0.25 mm², BN</td>
<td class="bom_col_qty">0.2</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1</td>
</tr>
<tr>
<td class="bom_col_id">3</td>
<td class="bom_col_description">Wire, 0.25 mm², BU</td>
<td class="bom_col_qty">0.2</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1</td>
</tr>
<tr>
<td class="bom_col_id">4</td>
<td class="bom_col_description">Wire, 0.25 mm², GN</td>
<td class="bom_col_qty">0.2</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1</td>
</tr>
<tr>
<td class="bom_col_id">5</td>
<td class="bom_col_description">Wire, 0.25 mm², OG</td>
<td class="bom_col_qty">0.2</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1</td>
</tr>
<tr>
<td class="bom_col_id">6</td>
<td class="bom_col_description">Wire, 0.25 mm², RD</td>
<td class="bom_col_qty">0.2</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1</td>
</tr>
<tr>
<td class="bom_col_id">7</td>
<td class="bom_col_description">Wire, 0.25 mm², YE</td>
<td class="bom_col_qty">0.2</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1</td>
</tr>
</table>
</div>
</body></html>

BIN
examples/ex04.png generated Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

219
examples/ex04.svg generated Normal file
View File

@ -0,0 +1,219 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="665pt" height="291pt"
viewBox="0.00 0.00 665.25 290.62" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 286.62)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-286.62 661.25,-286.62 661.25,4 -4,4"/>
<!-- __F_1 -->
<g id="node1" class="node">
<title>__F_1</title>
<polygon fill="#ffffff" stroke="black" points="86.75,-263.75 0,-263.75 0,-240 86.75,-240 86.75,-263.75"/>
<polygon fill="none" stroke="black" points="0,-240 0,-263.75 86.75,-263.75 86.75,-240 0,-240"/>
<text text-anchor="start" x="4" y="-246.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- W1 -->
<g id="node13" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="426.5,-282.62 230.75,-282.62 230.75,-47.12 426.5,-47.12 426.5,-282.62"/>
<polygon fill="none" stroke="black" points="230.75,-258.88 230.75,-282.62 426.5,-282.62 426.5,-258.88 230.75,-258.88"/>
<text text-anchor="start" x="318.12" y="-265.32" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="230.75,-235.12 230.75,-258.88 253,-258.88 253,-235.12 230.75,-235.12"/>
<text text-anchor="start" x="234.75" y="-241.57" font-family="arial" font-size="14.00">6x</text>
<polygon fill="none" stroke="black" points="253,-235.12 253,-258.88 384,-258.88 384,-235.12 253,-235.12"/>
<text text-anchor="start" x="257" y="-241.57" font-family="arial" font-size="14.00">0.25 mm² (24 AWG)</text>
<polygon fill="none" stroke="black" points="384,-235.12 384,-258.88 426.5,-258.88 426.5,-235.12 384,-235.12"/>
<text text-anchor="start" x="388" y="-241.57" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="253.17" y="-219.82" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="303.88" y="-200.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BN &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="230.75,-195.12 230.75,-197.12 426.5,-197.12 426.5,-195.12 230.75,-195.12"/>
<polygon fill="#895956" stroke="none" points="230.75,-193.12 230.75,-195.12 426.5,-195.12 426.5,-193.12 230.75,-193.12"/>
<polygon fill="#000000" stroke="none" points="230.75,-191.12 230.75,-193.12 426.5,-193.12 426.5,-191.12 230.75,-191.12"/>
<text text-anchor="start" x="303.5" y="-175.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;RD &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="230.75,-170.12 230.75,-172.12 426.5,-172.12 426.5,-170.12 230.75,-170.12"/>
<polygon fill="#ff0000" stroke="none" points="230.75,-168.12 230.75,-170.12 426.5,-170.12 426.5,-168.12 230.75,-168.12"/>
<polygon fill="#000000" stroke="none" points="230.75,-166.12 230.75,-168.12 426.5,-168.12 426.5,-166.12 230.75,-166.12"/>
<text text-anchor="start" x="302" y="-150.82" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;OG &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="230.75,-145.12 230.75,-147.12 426.5,-147.12 426.5,-145.12 230.75,-145.12"/>
<polygon fill="#ff8000" stroke="none" points="230.75,-143.12 230.75,-145.12 426.5,-145.12 426.5,-143.12 230.75,-143.12"/>
<polygon fill="#000000" stroke="none" points="230.75,-141.12 230.75,-143.12 426.5,-143.12 426.5,-141.12 230.75,-141.12"/>
<text text-anchor="start" x="304.25" y="-125.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;YE &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="230.75,-120.12 230.75,-122.12 426.5,-122.12 426.5,-120.12 230.75,-120.12"/>
<polygon fill="#ffff00" stroke="none" points="230.75,-118.12 230.75,-120.12 426.5,-120.12 426.5,-118.12 230.75,-118.12"/>
<polygon fill="#000000" stroke="none" points="230.75,-116.12 230.75,-118.12 426.5,-118.12 426.5,-116.12 230.75,-116.12"/>
<text text-anchor="start" x="302.75" y="-100.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;GN &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="230.75,-95.12 230.75,-97.12 426.5,-97.12 426.5,-95.12 230.75,-95.12"/>
<polygon fill="#00ff00" stroke="none" points="230.75,-93.12 230.75,-95.12 426.5,-95.12 426.5,-93.12 230.75,-93.12"/>
<polygon fill="#000000" stroke="none" points="230.75,-91.12 230.75,-93.12 426.5,-93.12 426.5,-91.12 230.75,-91.12"/>
<text text-anchor="start" x="303.88" y="-75.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BU &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="230.75,-70.12 230.75,-72.12 426.5,-72.12 426.5,-70.12 230.75,-70.12"/>
<polygon fill="#0066ff" stroke="none" points="230.75,-68.12 230.75,-70.12 426.5,-70.12 426.5,-68.12 230.75,-68.12"/>
<polygon fill="#000000" stroke="none" points="230.75,-66.12 230.75,-68.12 426.5,-68.12 426.5,-66.12 230.75,-66.12"/>
<text text-anchor="start" x="253.17" y="-50.83" font-family="arial" font-size="14.00"> </text>
</g>
<!-- __F_1&#45;&#45;W1 -->
<g id="edge1" class="edge">
<title>__F_1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-249.88C153.76,-251.67 159.76,-193.67 230.75,-191.88"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M86.75,-251.88C155.75,-251.88 161.75,-193.88 230.75,-193.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-253.87C157.74,-252.08 163.74,-194.08 230.75,-195.87"/>
</g>
<!-- __F_2 -->
<g id="node2" class="node">
<title>__F_2</title>
<polygon fill="#ffffff" stroke="black" points="86.75,-215.75 0,-215.75 0,-192 86.75,-192 86.75,-215.75"/>
<polygon fill="none" stroke="black" points="0,-192 0,-215.75 86.75,-215.75 86.75,-192 0,-192"/>
<text text-anchor="start" x="4" y="-198.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- __F_2&#45;&#45;W1 -->
<g id="edge3" class="edge">
<title>__F_2:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-201.88C150.73,-203.21 163,-168.21 230.75,-166.88"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M86.75,-203.88C152.61,-203.88 164.89,-168.88 230.75,-168.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-205.87C154.5,-204.54 166.77,-169.54 230.75,-170.87"/>
</g>
<!-- __F_3 -->
<g id="node3" class="node">
<title>__F_3</title>
<polygon fill="#ffffff" stroke="black" points="86.75,-167.75 0,-167.75 0,-144 86.75,-144 86.75,-167.75"/>
<polygon fill="none" stroke="black" points="0,-144 0,-167.75 86.75,-167.75 86.75,-144 0,-144"/>
<text text-anchor="start" x="4" y="-150.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- __F_3&#45;&#45;W1 -->
<g id="edge5" class="edge">
<title>__F_3:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-153.88C149.75,-154.29 165.31,-142.29 230.75,-141.88"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M86.75,-155.88C150.97,-155.88 166.53,-143.88 230.75,-143.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-157.87C152.19,-157.46 167.75,-145.46 230.75,-145.87"/>
</g>
<!-- __F_4 -->
<g id="node4" class="node">
<title>__F_4</title>
<polygon fill="#ffffff" stroke="black" points="86.75,-119.75 0,-119.75 0,-96 86.75,-96 86.75,-119.75"/>
<polygon fill="none" stroke="black" points="0,-96 0,-119.75 86.75,-119.75 86.75,-96 0,-96"/>
<text text-anchor="start" x="4" y="-102.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- __F_4&#45;&#45;W1 -->
<g id="edge7" class="edge">
<title>__F_4:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-105.88C152.09,-106.24 167.71,-117.24 230.75,-116.88"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M86.75,-107.88C150.94,-107.87 166.56,-118.87 230.75,-118.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-109.87C149.79,-109.51 165.41,-120.51 230.75,-120.87"/>
</g>
<!-- __F_5 -->
<g id="node5" class="node">
<title>__F_5</title>
<polygon fill="#ffffff" stroke="black" points="86.75,-71.75 0,-71.75 0,-48 86.75,-48 86.75,-71.75"/>
<polygon fill="none" stroke="black" points="0,-48 0,-71.75 86.75,-71.75 86.75,-48 0,-48"/>
<text text-anchor="start" x="4" y="-54.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- __F_5&#45;&#45;W1 -->
<g id="edge9" class="edge">
<title>__F_5:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-57.88C154.39,-59.19 166.87,-93.19 230.75,-91.88"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M86.75,-59.88C152.51,-59.88 164.99,-93.88 230.75,-93.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-61.87C150.63,-60.56 163.11,-94.56 230.75,-95.87"/>
</g>
<!-- __F_6 -->
<g id="node6" class="node">
<title>__F_6</title>
<polygon fill="#ffffff" stroke="black" points="86.75,-23.75 0,-23.75 0,0 86.75,0 86.75,-23.75"/>
<polygon fill="none" stroke="black" points="0,0 0,-23.75 86.75,-23.75 86.75,0 0,0"/>
<text text-anchor="start" x="4" y="-6.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- __F_6&#45;&#45;W1 -->
<g id="edge11" class="edge">
<title>__F_6:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-9.88C157.57,-11.65 163.91,-68.65 230.75,-66.88"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M86.75,-11.88C155.58,-11.88 161.92,-68.88 230.75,-68.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M86.75,-13.87C153.59,-12.1 159.93,-69.1 230.75,-70.87"/>
</g>
<!-- __F_7 -->
<g id="node7" class="node">
<title>__F_7</title>
<polygon fill="#ffffff" stroke="black" points="657.25,-263.75 570.5,-263.75 570.5,-240 657.25,-240 657.25,-263.75"/>
<polygon fill="none" stroke="black" points="570.5,-240 570.5,-263.75 657.25,-263.75 657.25,-240 570.5,-240"/>
<text text-anchor="start" x="574.5" y="-246.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- __F_8 -->
<g id="node8" class="node">
<title>__F_8</title>
<polygon fill="#ffffff" stroke="black" points="657.25,-215.75 570.5,-215.75 570.5,-192 657.25,-192 657.25,-215.75"/>
<polygon fill="none" stroke="black" points="570.5,-192 570.5,-215.75 657.25,-215.75 657.25,-192 570.5,-192"/>
<text text-anchor="start" x="574.5" y="-198.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- __F_9 -->
<g id="node9" class="node">
<title>__F_9</title>
<polygon fill="#ffffff" stroke="black" points="657.25,-167.75 570.5,-167.75 570.5,-144 657.25,-144 657.25,-167.75"/>
<polygon fill="none" stroke="black" points="570.5,-144 570.5,-167.75 657.25,-167.75 657.25,-144 570.5,-144"/>
<text text-anchor="start" x="574.5" y="-150.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- __F_10 -->
<g id="node10" class="node">
<title>__F_10</title>
<polygon fill="#ffffff" stroke="black" points="657.25,-119.75 570.5,-119.75 570.5,-96 657.25,-96 657.25,-119.75"/>
<polygon fill="none" stroke="black" points="570.5,-96 570.5,-119.75 657.25,-119.75 657.25,-96 570.5,-96"/>
<text text-anchor="start" x="574.5" y="-102.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- __F_11 -->
<g id="node11" class="node">
<title>__F_11</title>
<polygon fill="#ffffff" stroke="black" points="657.25,-71.75 570.5,-71.75 570.5,-48 657.25,-48 657.25,-71.75"/>
<polygon fill="none" stroke="black" points="570.5,-48 570.5,-71.75 657.25,-71.75 657.25,-48 570.5,-48"/>
<text text-anchor="start" x="574.5" y="-54.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- __F_12 -->
<g id="node12" class="node">
<title>__F_12</title>
<polygon fill="#ffffff" stroke="black" points="657.25,-23.75 570.5,-23.75 570.5,0 657.25,0 657.25,-23.75"/>
<polygon fill="none" stroke="black" points="570.5,0 570.5,-23.75 657.25,-23.75 657.25,0 570.5,0"/>
<text text-anchor="start" x="574.5" y="-6.45" font-family="arial" font-size="14.00">Crimp ferrule</text>
</g>
<!-- W1&#45;&#45;__F_7 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;__F_7:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-191.88C497.49,-193.67 503.49,-251.67 570.5,-249.88"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M426.5,-193.88C495.5,-193.88 501.5,-251.88 570.5,-251.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-195.87C493.51,-194.08 499.51,-252.08 570.5,-253.87"/>
</g>
<!-- W1&#45;&#45;__F_8 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;__F_8:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-166.88C494.25,-168.21 506.52,-203.21 570.5,-201.88"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M426.5,-168.88C492.36,-168.88 504.64,-203.88 570.5,-203.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-170.87C490.48,-169.54 502.75,-204.54 570.5,-205.87"/>
</g>
<!-- W1&#45;&#45;__F_9 -->
<g id="edge6" class="edge">
<title>W1:e&#45;&#45;__F_9:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-141.88C491.94,-142.29 507.5,-154.29 570.5,-153.88"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M426.5,-143.88C490.72,-143.88 506.28,-155.88 570.5,-155.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-145.87C489.5,-145.46 505.06,-157.46 570.5,-157.87"/>
</g>
<!-- W1&#45;&#45;__F_10 -->
<g id="edge8" class="edge">
<title>W1:e&#45;&#45;__F_10:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-116.88C489.54,-117.24 505.16,-106.24 570.5,-105.88"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M426.5,-118.88C490.69,-118.87 506.31,-107.87 570.5,-107.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-120.87C491.84,-120.51 507.46,-109.51 570.5,-109.87"/>
</g>
<!-- W1&#45;&#45;__F_11 -->
<g id="edge10" class="edge">
<title>W1:e&#45;&#45;__F_11:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-91.88C490.38,-93.19 502.86,-59.19 570.5,-57.88"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M426.5,-93.88C492.26,-93.88 504.74,-59.88 570.5,-59.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-95.87C494.14,-94.56 506.62,-60.56 570.5,-61.87"/>
</g>
<!-- W1&#45;&#45;__F_12 -->
<g id="edge12" class="edge">
<title>W1:e&#45;&#45;__F_12:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-66.88C493.34,-68.65 499.68,-11.65 570.5,-9.88"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M426.5,-68.88C495.33,-68.88 501.67,-11.88 570.5,-11.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M426.5,-70.87C497.32,-69.1 503.66,-12.1 570.5,-13.87"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

19
examples/ex04.yml Normal file
View File

@ -0,0 +1,19 @@
cables:
W1:
gauge: 0.25 mm2
show_equiv: true
length: 0.2
color_code: IEC
wirecount: 6
category: bundle
connectors:
F:
style: simple
type: Crimp ferrule
connections:
-
- F.
- W1: [1-6]
- F.

6
examples/ex05.bom.tsv generated Normal file
View File

@ -0,0 +1,6 @@
Id Description Qty Unit Designators
1 Connector, Molex KK 254, female, 4 pins 3 X1, X2, X3
2 Wire, I2C, 0.25 mm², PK 0.4 m W1, W2
3 Wire, I2C, 0.25 mm², TQ 0.4 m W1, W2
4 Wire, I2C, 0.25 mm², VT 0.4 m W1, W2
5 Wire, I2C, 0.25 mm², YE 0.4 m W1, W2
1 Id Description Qty Unit Designators
2 1 Connector, Molex KK 254, female, 4 pins 3 X1, X2, X3
3 2 Wire, I2C, 0.25 mm², PK 0.4 m W1, W2
4 3 Wire, I2C, 0.25 mm², TQ 0.4 m W1, W2
5 4 Wire, I2C, 0.25 mm², VT 0.4 m W1, W2
6 5 Wire, I2C, 0.25 mm², YE 0.4 m W1, W2

317
examples/ex05.gv generated Normal file
View File

@ -0,0 +1,317 @@
graph {
// Graph generated by WireViz 0.4.1
// https://github.com/wireviz/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]
X1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex KK 254</td>
<td balign="left">female</td>
<td balign="left">4-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td>GND</td>
<td port="p1r">1</td>
</tr>
<tr>
<td>VCC</td>
<td port="p2r">2</td>
</tr>
<tr>
<td>SCL</td>
<td port="p3r">3</td>
</tr>
<tr>
<td>SDA</td>
<td port="p4r">4</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X2</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex KK 254</td>
<td balign="left">female</td>
<td balign="left">4-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1l">1</td>
<td>GND</td>
<td port="p1r">1</td>
</tr>
<tr>
<td port="p2l">2</td>
<td>VCC</td>
<td port="p2r">2</td>
</tr>
<tr>
<td port="p3l">3</td>
<td>SCL</td>
<td port="p3r">3</td>
</tr>
<tr>
<td port="p4l">4</td>
<td>SDA</td>
<td port="p4r">4</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X3 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X3</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex KK 254</td>
<td balign="left">female</td>
<td balign="left">4-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1l">1</td>
<td>GND</td>
</tr>
<tr>
<td port="p2l">2</td>
<td>VCC</td>
</tr>
<tr>
<td port="p3l">3</td>
<td>SCL</td>
</tr>
<tr>
<td port="p4l">4</td>
<td>SDA</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
edge [color="#000000:#ff66cc:#000000"]
X1:p1r:e -- W1:w1:w
W1:w1:e -- X2:p1l:w
edge [color="#000000:#00ffff:#000000"]
X1:p2r:e -- W1:w2:w
W1:w2:e -- X2:p2l:w
edge [color="#000000:#ffff00:#000000"]
X1:p3r:e -- W1:w3:w
W1:w3:e -- X2:p3l:w
edge [color="#000000:#8000ff:#000000"]
X1:p4r:e -- W1:w4:w
W1:w4:e -- X2:p4l:w
W1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">I2C</td>
<td balign="left">4x</td>
<td balign="left">0.25 mm²</td>
<td balign="left">0.2 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td>X1:1:GND</td>
<td>
PK
</td>
<td>X2:1:GND</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff66cc" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:2:VCC</td>
<td>
TQ
</td>
<td>X2:2:VCC</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:3:SCL</td>
<td>
YE
</td>
<td>X2:3:SCL</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:4:SDA</td>
<td>
VT
</td>
<td>X2:4:SDA</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#8000ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style="filled,dashed"]
edge [color="#000000:#ff66cc:#000000"]
X2:p1r:e -- W2:w1:w
W2:w1:e -- X3:p1l:w
edge [color="#000000:#00ffff:#000000"]
X2:p2r:e -- W2:w2:w
W2:w2:e -- X3:p2l:w
edge [color="#000000:#ffff00:#000000"]
X2:p3r:e -- W2:w3:w
W2:w3:e -- X3:p3l:w
edge [color="#000000:#8000ff:#000000"]
X2:p4r:e -- W2:w4:w
W2:w4:e -- X3:p4l:w
W2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W2</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">I2C</td>
<td balign="left">4x</td>
<td balign="left">0.25 mm²</td>
<td balign="left">0.2 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td>X2:1:GND</td>
<td>
PK
</td>
<td>X3:1:GND</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff66cc" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X2:2:VCC</td>
<td>
TQ
</td>
<td>X3:2:VCC</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X2:3:SCL</td>
<td>
YE
</td>
<td>X3:3:SCL</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X2:4:SDA</td>
<td>
VT
</td>
<td>X3:4:SDA</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#8000ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style="filled,dashed"]
}

388
examples/ex05.html generated Normal file
View File

@ -0,0 +1,388 @@
<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<meta name="generator" content="WireViz 0.4.1 - https://github.com/wireviz/WireViz">
<title>ex05</title>
<style>
#bom table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
#bom th, td {
padding: 4px;
text-align: left;
}
.bom_col_qty {
text-align: right;
}
</style>
</head><body style="font-family:arial;background-color:#ffffff">
<h1>ex05</h1>
<h2>Diagram</h2>
<div id="description">
<!-- %description% -->
</div>
<div id="diagram">
<!-- XML and DOCTYPE declarations from SVG file removed -->
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="1502pt" height="194pt"
viewBox="0.00 0.00 1502.00 193.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 189.5)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-189.5 1498,-189.5 1498,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="180,-152.5 0,-152.5 0,-13 180,-13 180,-152.5"/>
<polygon fill="none" stroke="black" points="0,-128.75 0,-152.5 180,-152.5 180,-128.75 0,-128.75"/>
<text text-anchor="start" x="81.75" y="-135.2" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-105 0,-128.75 92.75,-128.75 92.75,-105 0,-105"/>
<text text-anchor="start" x="4" y="-111.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="92.75,-105 92.75,-128.75 142,-128.75 142,-105 92.75,-105"/>
<text text-anchor="start" x="96.75" y="-111.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="142,-105 142,-128.75 180,-128.75 180,-105 142,-105"/>
<text text-anchor="start" x="146" y="-111.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-82 0,-105 101.5,-105 101.5,-82 0,-82"/>
<text text-anchor="start" x="35.38" y="-87.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="101.5,-82 101.5,-105 180,-105 180,-82 101.5,-82"/>
<text text-anchor="start" x="137" y="-87.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-59 0,-82 101.5,-82 101.5,-59 0,-59"/>
<text text-anchor="start" x="36.5" y="-64.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="101.5,-59 101.5,-82 180,-82 180,-59 101.5,-59"/>
<text text-anchor="start" x="137" y="-64.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="0,-36 0,-59 101.5,-59 101.5,-36 0,-36"/>
<text text-anchor="start" x="37.62" y="-41.7" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="101.5,-36 101.5,-59 180,-59 180,-36 101.5,-36"/>
<text text-anchor="start" x="137" y="-41.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="0,-13 0,-36 101.5,-36 101.5,-13 0,-13"/>
<text text-anchor="start" x="36.88" y="-18.7" font-family="arial" font-size="14.00">SDA</text>
<polygon fill="none" stroke="black" points="101.5,-13 101.5,-36 180,-36 180,-13 101.5,-13"/>
<text text-anchor="start" x="137" y="-18.7" font-family="arial" font-size="14.00">4</text>
</g>
<!-- W1 -->
<g id="node4" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="513,-185.5 324,-185.5 324,0 513,0 513,-185.5"/>
<polygon fill="none" stroke="black" points="324,-161.75 324,-185.5 513,-185.5 513,-161.75 324,-161.75"/>
<text text-anchor="start" x="408" y="-168.2" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="324,-138 324,-161.75 360.19,-161.75 360.19,-138 324,-138"/>
<text text-anchor="start" x="331.59" y="-144.45" font-family="arial" font-size="14.00">I2C</text>
<polygon fill="none" stroke="black" points="360.19,-138 360.19,-161.75 389.62,-161.75 389.62,-138 360.19,-138"/>
<text text-anchor="start" x="367.78" y="-144.45" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="389.62,-138 389.62,-161.75 463.31,-161.75 463.31,-138 389.62,-138"/>
<text text-anchor="start" x="397.22" y="-144.45" font-family="arial" font-size="14.00">0.25 mm²</text>
<polygon fill="none" stroke="black" points="463.31,-138 463.31,-161.75 513,-161.75 513,-138 463.31,-138"/>
<text text-anchor="start" x="470.91" y="-144.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="355.12" y="-122.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="325.88" y="-103.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="392.62" y="-103.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;PK &#160;&#160;&#160;</text>
<text text-anchor="start" x="448.88" y="-103.7" font-family="arial" font-size="14.00">X2:1:GND</text>
<polygon fill="#000000" stroke="none" points="324,-98 324,-100 513,-100 513,-98 324,-98"/>
<polygon fill="#ff66cc" stroke="none" points="324,-96 324,-98 513,-98 513,-96 324,-96"/>
<polygon fill="#000000" stroke="none" points="324,-94 324,-96 513,-96 513,-94 324,-94"/>
<text text-anchor="start" x="327" y="-78.7" font-family="arial" font-size="14.00">X1:2:VCC</text>
<text text-anchor="start" x="391.88" y="-78.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;TQ &#160;&#160;&#160;</text>
<text text-anchor="start" x="450" y="-78.7" font-family="arial" font-size="14.00">X2:2:VCC</text>
<polygon fill="#000000" stroke="none" points="324,-73 324,-75 513,-75 513,-73 324,-73"/>
<polygon fill="#00ffff" stroke="none" points="324,-71 324,-73 513,-73 513,-71 324,-71"/>
<polygon fill="#000000" stroke="none" points="324,-69 324,-71 513,-71 513,-69 324,-69"/>
<text text-anchor="start" x="328.12" y="-53.7" font-family="arial" font-size="14.00">X1:3:SCL</text>
<text text-anchor="start" x="392.62" y="-53.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="451.12" y="-53.7" font-family="arial" font-size="14.00">X2:3:SCL</text>
<polygon fill="#000000" stroke="none" points="324,-48 324,-50 513,-50 513,-48 324,-48"/>
<polygon fill="#ffff00" stroke="none" points="324,-46 324,-48 513,-48 513,-46 324,-46"/>
<polygon fill="#000000" stroke="none" points="324,-44 324,-46 513,-46 513,-44 324,-44"/>
<text text-anchor="start" x="327.38" y="-28.7" font-family="arial" font-size="14.00">X1:4:SDA</text>
<text text-anchor="start" x="393" y="-28.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;VT &#160;&#160;&#160;</text>
<text text-anchor="start" x="450.38" y="-28.7" font-family="arial" font-size="14.00">X2:4:SDA</text>
<polygon fill="#000000" stroke="none" points="324,-23 324,-25 513,-25 513,-23 324,-23"/>
<polygon fill="#8000ff" stroke="none" points="324,-21 324,-23 513,-23 513,-21 324,-21"/>
<polygon fill="#000000" stroke="none" points="324,-19 324,-21 513,-21 513,-19 324,-19"/>
<text text-anchor="start" x="355.12" y="-3.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge1" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-91.75C244.38,-91.78 260.36,-94.78 324,-94.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M180,-93.75C244.01,-93.75 259.99,-96.75 324,-96.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-95.75C243.64,-95.72 259.62,-98.72 324,-98.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge3" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-68.75C244.13,-68.75 260.12,-69.75 324,-69.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M180,-70.75C244,-70.75 260,-71.75 324,-71.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-72.75C243.88,-72.75 259.87,-73.75 324,-73.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge5" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-45.75C243.88,-45.75 259.87,-44.75 324,-44.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M180,-47.75C244,-47.75 260,-46.75 324,-46.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-49.75C244.13,-49.75 260.12,-48.75 324,-48.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge7" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-22.75C243.64,-22.78 259.62,-19.78 324,-19.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M180,-24.75C244.01,-24.75 259.99,-21.75 324,-21.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-26.75C244.38,-26.72 260.36,-23.72 324,-23.75"/>
</g>
<!-- X2 -->
<g id="node2" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="837,-152.5 657,-152.5 657,-13 837,-13 837,-152.5"/>
<polygon fill="none" stroke="black" points="657,-128.75 657,-152.5 837,-152.5 837,-128.75 657,-128.75"/>
<text text-anchor="start" x="738.75" y="-135.2" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="657,-105 657,-128.75 749.75,-128.75 749.75,-105 657,-105"/>
<text text-anchor="start" x="661" y="-111.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="749.75,-105 749.75,-128.75 799,-128.75 799,-105 749.75,-105"/>
<text text-anchor="start" x="753.75" y="-111.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="799,-105 799,-128.75 837,-128.75 837,-105 799,-105"/>
<text text-anchor="start" x="803" y="-111.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="657,-82 657,-105 709.33,-105 709.33,-82 657,-82"/>
<text text-anchor="start" x="679.42" y="-87.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="709.33,-82 709.33,-105 784.67,-105 784.67,-82 709.33,-82"/>
<text text-anchor="start" x="731.62" y="-87.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="784.67,-82 784.67,-105 837,-105 837,-82 784.67,-82"/>
<text text-anchor="start" x="807.08" y="-87.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="657,-59 657,-82 709.33,-82 709.33,-59 657,-59"/>
<text text-anchor="start" x="679.42" y="-64.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="709.33,-59 709.33,-82 784.67,-82 784.67,-59 709.33,-59"/>
<text text-anchor="start" x="732.75" y="-64.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="784.67,-59 784.67,-82 837,-82 837,-59 784.67,-59"/>
<text text-anchor="start" x="807.08" y="-64.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="657,-36 657,-59 709.33,-59 709.33,-36 657,-36"/>
<text text-anchor="start" x="679.42" y="-41.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="709.33,-36 709.33,-59 784.67,-59 784.67,-36 709.33,-36"/>
<text text-anchor="start" x="733.88" y="-41.7" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="784.67,-36 784.67,-59 837,-59 837,-36 784.67,-36"/>
<text text-anchor="start" x="807.08" y="-41.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="657,-13 657,-36 709.33,-36 709.33,-13 657,-13"/>
<text text-anchor="start" x="679.42" y="-18.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="709.33,-13 709.33,-36 784.67,-36 784.67,-13 709.33,-13"/>
<text text-anchor="start" x="733.12" y="-18.7" font-family="arial" font-size="14.00">SDA</text>
<polygon fill="none" stroke="black" points="784.67,-13 784.67,-36 837,-36 837,-13 784.67,-13"/>
<text text-anchor="start" x="807.08" y="-18.7" font-family="arial" font-size="14.00">4</text>
</g>
<!-- W2 -->
<g id="node5" class="node">
<title>W2</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="1170,-185.5 981,-185.5 981,0 1170,0 1170,-185.5"/>
<polygon fill="none" stroke="black" points="981,-161.75 981,-185.5 1170,-185.5 1170,-161.75 981,-161.75"/>
<text text-anchor="start" x="1065" y="-168.2" font-family="arial" font-size="14.00">W2</text>
<polygon fill="none" stroke="black" points="981,-138 981,-161.75 1017.19,-161.75 1017.19,-138 981,-138"/>
<text text-anchor="start" x="988.59" y="-144.45" font-family="arial" font-size="14.00">I2C</text>
<polygon fill="none" stroke="black" points="1017.19,-138 1017.19,-161.75 1046.62,-161.75 1046.62,-138 1017.19,-138"/>
<text text-anchor="start" x="1024.78" y="-144.45" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="1046.62,-138 1046.62,-161.75 1120.31,-161.75 1120.31,-138 1046.62,-138"/>
<text text-anchor="start" x="1054.22" y="-144.45" font-family="arial" font-size="14.00">0.25 mm²</text>
<polygon fill="none" stroke="black" points="1120.31,-138 1120.31,-161.75 1170,-161.75 1170,-138 1120.31,-138"/>
<text text-anchor="start" x="1127.91" y="-144.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="1012.12" y="-122.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="982.88" y="-103.7" font-family="arial" font-size="14.00">X2:1:GND</text>
<text text-anchor="start" x="1049.62" y="-103.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;PK &#160;&#160;&#160;</text>
<text text-anchor="start" x="1105.88" y="-103.7" font-family="arial" font-size="14.00">X3:1:GND</text>
<polygon fill="#000000" stroke="none" points="981,-98 981,-100 1170,-100 1170,-98 981,-98"/>
<polygon fill="#ff66cc" stroke="none" points="981,-96 981,-98 1170,-98 1170,-96 981,-96"/>
<polygon fill="#000000" stroke="none" points="981,-94 981,-96 1170,-96 1170,-94 981,-94"/>
<text text-anchor="start" x="984" y="-78.7" font-family="arial" font-size="14.00">X2:2:VCC</text>
<text text-anchor="start" x="1048.88" y="-78.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;TQ &#160;&#160;&#160;</text>
<text text-anchor="start" x="1107" y="-78.7" font-family="arial" font-size="14.00">X3:2:VCC</text>
<polygon fill="#000000" stroke="none" points="981,-73 981,-75 1170,-75 1170,-73 981,-73"/>
<polygon fill="#00ffff" stroke="none" points="981,-71 981,-73 1170,-73 1170,-71 981,-71"/>
<polygon fill="#000000" stroke="none" points="981,-69 981,-71 1170,-71 1170,-69 981,-69"/>
<text text-anchor="start" x="985.12" y="-53.7" font-family="arial" font-size="14.00">X2:3:SCL</text>
<text text-anchor="start" x="1049.62" y="-53.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="1108.12" y="-53.7" font-family="arial" font-size="14.00">X3:3:SCL</text>
<polygon fill="#000000" stroke="none" points="981,-48 981,-50 1170,-50 1170,-48 981,-48"/>
<polygon fill="#ffff00" stroke="none" points="981,-46 981,-48 1170,-48 1170,-46 981,-46"/>
<polygon fill="#000000" stroke="none" points="981,-44 981,-46 1170,-46 1170,-44 981,-44"/>
<text text-anchor="start" x="984.38" y="-28.7" font-family="arial" font-size="14.00">X2:4:SDA</text>
<text text-anchor="start" x="1050" y="-28.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;VT &#160;&#160;&#160;</text>
<text text-anchor="start" x="1107.38" y="-28.7" font-family="arial" font-size="14.00">X3:4:SDA</text>
<polygon fill="#000000" stroke="none" points="981,-23 981,-25 1170,-25 1170,-23 981,-23"/>
<polygon fill="#8000ff" stroke="none" points="981,-21 981,-23 1170,-23 1170,-21 981,-21"/>
<polygon fill="#000000" stroke="none" points="981,-19 981,-21 1170,-21 1170,-19 981,-19"/>
<text text-anchor="start" x="1012.12" y="-3.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X2&#45;&#45;W2 -->
<g id="edge9" class="edge">
<title>X2:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M837,-91.75C901.38,-91.78 917.36,-94.78 981,-94.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M837,-93.75C901.01,-93.75 916.99,-96.75 981,-96.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M837,-95.75C900.64,-95.72 916.62,-98.72 981,-98.75"/>
</g>
<!-- X2&#45;&#45;W2 -->
<g id="edge11" class="edge">
<title>X2:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M837,-68.75C901.13,-68.75 917.12,-69.75 981,-69.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M837,-70.75C901,-70.75 917,-71.75 981,-71.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M837,-72.75C900.88,-72.75 916.87,-73.75 981,-73.75"/>
</g>
<!-- X2&#45;&#45;W2 -->
<g id="edge13" class="edge">
<title>X2:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M837,-45.75C900.88,-45.75 916.87,-44.75 981,-44.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M837,-47.75C901,-47.75 917,-46.75 981,-46.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M837,-49.75C901.13,-49.75 917.12,-48.75 981,-48.75"/>
</g>
<!-- X2&#45;&#45;W2 -->
<g id="edge15" class="edge">
<title>X2:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M837,-22.75C900.64,-22.78 916.62,-19.78 981,-19.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M837,-24.75C901.01,-24.75 916.99,-21.75 981,-21.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M837,-26.75C901.38,-26.72 917.36,-23.72 981,-23.75"/>
</g>
<!-- X3 -->
<g id="node3" class="node">
<title>X3</title>
<polygon fill="#ffffff" stroke="black" points="1494,-152.5 1314,-152.5 1314,-13 1494,-13 1494,-152.5"/>
<polygon fill="none" stroke="black" points="1314,-128.75 1314,-152.5 1494,-152.5 1494,-128.75 1314,-128.75"/>
<text text-anchor="start" x="1395.75" y="-135.2" font-family="arial" font-size="14.00">X3</text>
<polygon fill="none" stroke="black" points="1314,-105 1314,-128.75 1406.75,-128.75 1406.75,-105 1314,-105"/>
<text text-anchor="start" x="1318" y="-111.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="1406.75,-105 1406.75,-128.75 1456,-128.75 1456,-105 1406.75,-105"/>
<text text-anchor="start" x="1410.75" y="-111.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="1456,-105 1456,-128.75 1494,-128.75 1494,-105 1456,-105"/>
<text text-anchor="start" x="1460" y="-111.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="1314,-82 1314,-105 1392.5,-105 1392.5,-82 1314,-82"/>
<text text-anchor="start" x="1349.5" y="-87.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="1392.5,-82 1392.5,-105 1494,-105 1494,-82 1392.5,-82"/>
<text text-anchor="start" x="1427.88" y="-87.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="1314,-59 1314,-82 1392.5,-82 1392.5,-59 1314,-59"/>
<text text-anchor="start" x="1349.5" y="-64.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="1392.5,-59 1392.5,-82 1494,-82 1494,-59 1392.5,-59"/>
<text text-anchor="start" x="1429" y="-64.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="1314,-36 1314,-59 1392.5,-59 1392.5,-36 1314,-36"/>
<text text-anchor="start" x="1349.5" y="-41.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="1392.5,-36 1392.5,-59 1494,-59 1494,-36 1392.5,-36"/>
<text text-anchor="start" x="1430.12" y="-41.7" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="1314,-13 1314,-36 1392.5,-36 1392.5,-13 1314,-13"/>
<text text-anchor="start" x="1349.5" y="-18.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="1392.5,-13 1392.5,-36 1494,-36 1494,-13 1392.5,-13"/>
<text text-anchor="start" x="1429.38" y="-18.7" font-family="arial" font-size="14.00">SDA</text>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-94.75C576.64,-94.78 592.62,-91.78 657,-91.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M513,-96.75C577.01,-96.75 592.99,-93.75 657,-93.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-98.75C577.38,-98.72 593.36,-95.72 657,-95.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-69.75C576.88,-69.75 592.87,-68.75 657,-68.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M513,-71.75C577,-71.75 593,-70.75 657,-70.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-73.75C577.13,-73.75 593.12,-72.75 657,-72.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge6" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-44.75C577.13,-44.75 593.12,-45.75 657,-45.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M513,-46.75C577,-46.75 593,-47.75 657,-47.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-48.75C576.88,-48.75 592.87,-49.75 657,-49.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge8" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-19.75C577.38,-19.78 593.36,-22.78 657,-22.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M513,-21.75C577.01,-21.75 592.99,-24.75 657,-24.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-23.75C576.64,-23.72 592.62,-26.72 657,-26.75"/>
</g>
<!-- W2&#45;&#45;X3 -->
<g id="edge10" class="edge">
<title>W2:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-94.75C1233.64,-94.78 1249.62,-91.78 1314,-91.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M1170,-96.75C1234.01,-96.75 1249.99,-93.75 1314,-93.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-98.75C1234.38,-98.72 1250.36,-95.72 1314,-95.75"/>
</g>
<!-- W2&#45;&#45;X3 -->
<g id="edge12" class="edge">
<title>W2:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-69.75C1233.88,-69.75 1249.87,-68.75 1314,-68.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M1170,-71.75C1234,-71.75 1250,-70.75 1314,-70.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-73.75C1234.13,-73.75 1250.12,-72.75 1314,-72.75"/>
</g>
<!-- W2&#45;&#45;X3 -->
<g id="edge14" class="edge">
<title>W2:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-44.75C1234.13,-44.75 1250.12,-45.75 1314,-45.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M1170,-46.75C1234,-46.75 1250,-47.75 1314,-47.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-48.75C1233.88,-48.75 1249.87,-49.75 1314,-49.75"/>
</g>
<!-- W2&#45;&#45;X3 -->
<g id="edge16" class="edge">
<title>W2:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-19.75C1234.38,-19.78 1250.36,-22.78 1314,-22.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M1170,-21.75C1234.01,-21.75 1249.99,-24.75 1314,-24.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-23.75C1233.64,-23.72 1249.62,-26.72 1314,-26.75"/>
</g>
</g>
</svg>
</div>
<div id="notes">
<!-- %notes% -->
</div>
<h2>Bill of Materials</h2>
<div id="bom">
<table class="bom">
<tr>
<th class="bom_col_id">Id</th>
<th class="bom_col_description">Description</th>
<th class="bom_col_qty">Qty</th>
<th class="bom_col_unit">Unit</th>
<th class="bom_col_designators">Designators</th>
</tr>
<tr>
<td class="bom_col_id">1</td>
<td class="bom_col_description">Connector, <a href="https://www.molex.com/molex/products/family/kk_254_rpc_connector_system">Molex KK 254</a>, female, 4 pins</td>
<td class="bom_col_qty">3</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X1, X2, X3</td>
</tr>
<tr>
<td class="bom_col_id">2</td>
<td class="bom_col_description">Wire, I2C, 0.25 mm², PK</td>
<td class="bom_col_qty">0.4</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1, W2</td>
</tr>
<tr>
<td class="bom_col_id">3</td>
<td class="bom_col_description">Wire, I2C, 0.25 mm², TQ</td>
<td class="bom_col_qty">0.4</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1, W2</td>
</tr>
<tr>
<td class="bom_col_id">4</td>
<td class="bom_col_description">Wire, I2C, 0.25 mm², VT</td>
<td class="bom_col_qty">0.4</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1, W2</td>
</tr>
<tr>
<td class="bom_col_id">5</td>
<td class="bom_col_description">Wire, I2C, 0.25 mm², YE</td>
<td class="bom_col_qty">0.4</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1, W2</td>
</tr>
</table>
</div>
</body></html>

BIN
examples/ex05.png generated Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

301
examples/ex05.svg generated Normal file
View File

@ -0,0 +1,301 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="1502pt" height="194pt"
viewBox="0.00 0.00 1502.00 193.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 189.5)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-189.5 1498,-189.5 1498,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="180,-152.5 0,-152.5 0,-13 180,-13 180,-152.5"/>
<polygon fill="none" stroke="black" points="0,-128.75 0,-152.5 180,-152.5 180,-128.75 0,-128.75"/>
<text text-anchor="start" x="81.75" y="-135.2" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-105 0,-128.75 92.75,-128.75 92.75,-105 0,-105"/>
<text text-anchor="start" x="4" y="-111.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="92.75,-105 92.75,-128.75 142,-128.75 142,-105 92.75,-105"/>
<text text-anchor="start" x="96.75" y="-111.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="142,-105 142,-128.75 180,-128.75 180,-105 142,-105"/>
<text text-anchor="start" x="146" y="-111.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-82 0,-105 101.5,-105 101.5,-82 0,-82"/>
<text text-anchor="start" x="35.38" y="-87.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="101.5,-82 101.5,-105 180,-105 180,-82 101.5,-82"/>
<text text-anchor="start" x="137" y="-87.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-59 0,-82 101.5,-82 101.5,-59 0,-59"/>
<text text-anchor="start" x="36.5" y="-64.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="101.5,-59 101.5,-82 180,-82 180,-59 101.5,-59"/>
<text text-anchor="start" x="137" y="-64.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="0,-36 0,-59 101.5,-59 101.5,-36 0,-36"/>
<text text-anchor="start" x="37.62" y="-41.7" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="101.5,-36 101.5,-59 180,-59 180,-36 101.5,-36"/>
<text text-anchor="start" x="137" y="-41.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="0,-13 0,-36 101.5,-36 101.5,-13 0,-13"/>
<text text-anchor="start" x="36.88" y="-18.7" font-family="arial" font-size="14.00">SDA</text>
<polygon fill="none" stroke="black" points="101.5,-13 101.5,-36 180,-36 180,-13 101.5,-13"/>
<text text-anchor="start" x="137" y="-18.7" font-family="arial" font-size="14.00">4</text>
</g>
<!-- W1 -->
<g id="node4" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="513,-185.5 324,-185.5 324,0 513,0 513,-185.5"/>
<polygon fill="none" stroke="black" points="324,-161.75 324,-185.5 513,-185.5 513,-161.75 324,-161.75"/>
<text text-anchor="start" x="408" y="-168.2" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="324,-138 324,-161.75 360.19,-161.75 360.19,-138 324,-138"/>
<text text-anchor="start" x="331.59" y="-144.45" font-family="arial" font-size="14.00">I2C</text>
<polygon fill="none" stroke="black" points="360.19,-138 360.19,-161.75 389.62,-161.75 389.62,-138 360.19,-138"/>
<text text-anchor="start" x="367.78" y="-144.45" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="389.62,-138 389.62,-161.75 463.31,-161.75 463.31,-138 389.62,-138"/>
<text text-anchor="start" x="397.22" y="-144.45" font-family="arial" font-size="14.00">0.25 mm²</text>
<polygon fill="none" stroke="black" points="463.31,-138 463.31,-161.75 513,-161.75 513,-138 463.31,-138"/>
<text text-anchor="start" x="470.91" y="-144.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="355.12" y="-122.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="325.88" y="-103.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="392.62" y="-103.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;PK &#160;&#160;&#160;</text>
<text text-anchor="start" x="448.88" y="-103.7" font-family="arial" font-size="14.00">X2:1:GND</text>
<polygon fill="#000000" stroke="none" points="324,-98 324,-100 513,-100 513,-98 324,-98"/>
<polygon fill="#ff66cc" stroke="none" points="324,-96 324,-98 513,-98 513,-96 324,-96"/>
<polygon fill="#000000" stroke="none" points="324,-94 324,-96 513,-96 513,-94 324,-94"/>
<text text-anchor="start" x="327" y="-78.7" font-family="arial" font-size="14.00">X1:2:VCC</text>
<text text-anchor="start" x="391.88" y="-78.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;TQ &#160;&#160;&#160;</text>
<text text-anchor="start" x="450" y="-78.7" font-family="arial" font-size="14.00">X2:2:VCC</text>
<polygon fill="#000000" stroke="none" points="324,-73 324,-75 513,-75 513,-73 324,-73"/>
<polygon fill="#00ffff" stroke="none" points="324,-71 324,-73 513,-73 513,-71 324,-71"/>
<polygon fill="#000000" stroke="none" points="324,-69 324,-71 513,-71 513,-69 324,-69"/>
<text text-anchor="start" x="328.12" y="-53.7" font-family="arial" font-size="14.00">X1:3:SCL</text>
<text text-anchor="start" x="392.62" y="-53.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="451.12" y="-53.7" font-family="arial" font-size="14.00">X2:3:SCL</text>
<polygon fill="#000000" stroke="none" points="324,-48 324,-50 513,-50 513,-48 324,-48"/>
<polygon fill="#ffff00" stroke="none" points="324,-46 324,-48 513,-48 513,-46 324,-46"/>
<polygon fill="#000000" stroke="none" points="324,-44 324,-46 513,-46 513,-44 324,-44"/>
<text text-anchor="start" x="327.38" y="-28.7" font-family="arial" font-size="14.00">X1:4:SDA</text>
<text text-anchor="start" x="393" y="-28.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;VT &#160;&#160;&#160;</text>
<text text-anchor="start" x="450.38" y="-28.7" font-family="arial" font-size="14.00">X2:4:SDA</text>
<polygon fill="#000000" stroke="none" points="324,-23 324,-25 513,-25 513,-23 324,-23"/>
<polygon fill="#8000ff" stroke="none" points="324,-21 324,-23 513,-23 513,-21 324,-21"/>
<polygon fill="#000000" stroke="none" points="324,-19 324,-21 513,-21 513,-19 324,-19"/>
<text text-anchor="start" x="355.12" y="-3.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge1" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-91.75C244.38,-91.78 260.36,-94.78 324,-94.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M180,-93.75C244.01,-93.75 259.99,-96.75 324,-96.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-95.75C243.64,-95.72 259.62,-98.72 324,-98.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge3" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-68.75C244.13,-68.75 260.12,-69.75 324,-69.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M180,-70.75C244,-70.75 260,-71.75 324,-71.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-72.75C243.88,-72.75 259.87,-73.75 324,-73.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge5" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-45.75C243.88,-45.75 259.87,-44.75 324,-44.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M180,-47.75C244,-47.75 260,-46.75 324,-46.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-49.75C244.13,-49.75 260.12,-48.75 324,-48.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge7" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-22.75C243.64,-22.78 259.62,-19.78 324,-19.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M180,-24.75C244.01,-24.75 259.99,-21.75 324,-21.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-26.75C244.38,-26.72 260.36,-23.72 324,-23.75"/>
</g>
<!-- X2 -->
<g id="node2" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="837,-152.5 657,-152.5 657,-13 837,-13 837,-152.5"/>
<polygon fill="none" stroke="black" points="657,-128.75 657,-152.5 837,-152.5 837,-128.75 657,-128.75"/>
<text text-anchor="start" x="738.75" y="-135.2" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="657,-105 657,-128.75 749.75,-128.75 749.75,-105 657,-105"/>
<text text-anchor="start" x="661" y="-111.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="749.75,-105 749.75,-128.75 799,-128.75 799,-105 749.75,-105"/>
<text text-anchor="start" x="753.75" y="-111.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="799,-105 799,-128.75 837,-128.75 837,-105 799,-105"/>
<text text-anchor="start" x="803" y="-111.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="657,-82 657,-105 709.33,-105 709.33,-82 657,-82"/>
<text text-anchor="start" x="679.42" y="-87.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="709.33,-82 709.33,-105 784.67,-105 784.67,-82 709.33,-82"/>
<text text-anchor="start" x="731.62" y="-87.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="784.67,-82 784.67,-105 837,-105 837,-82 784.67,-82"/>
<text text-anchor="start" x="807.08" y="-87.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="657,-59 657,-82 709.33,-82 709.33,-59 657,-59"/>
<text text-anchor="start" x="679.42" y="-64.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="709.33,-59 709.33,-82 784.67,-82 784.67,-59 709.33,-59"/>
<text text-anchor="start" x="732.75" y="-64.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="784.67,-59 784.67,-82 837,-82 837,-59 784.67,-59"/>
<text text-anchor="start" x="807.08" y="-64.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="657,-36 657,-59 709.33,-59 709.33,-36 657,-36"/>
<text text-anchor="start" x="679.42" y="-41.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="709.33,-36 709.33,-59 784.67,-59 784.67,-36 709.33,-36"/>
<text text-anchor="start" x="733.88" y="-41.7" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="784.67,-36 784.67,-59 837,-59 837,-36 784.67,-36"/>
<text text-anchor="start" x="807.08" y="-41.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="657,-13 657,-36 709.33,-36 709.33,-13 657,-13"/>
<text text-anchor="start" x="679.42" y="-18.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="709.33,-13 709.33,-36 784.67,-36 784.67,-13 709.33,-13"/>
<text text-anchor="start" x="733.12" y="-18.7" font-family="arial" font-size="14.00">SDA</text>
<polygon fill="none" stroke="black" points="784.67,-13 784.67,-36 837,-36 837,-13 784.67,-13"/>
<text text-anchor="start" x="807.08" y="-18.7" font-family="arial" font-size="14.00">4</text>
</g>
<!-- W2 -->
<g id="node5" class="node">
<title>W2</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="1170,-185.5 981,-185.5 981,0 1170,0 1170,-185.5"/>
<polygon fill="none" stroke="black" points="981,-161.75 981,-185.5 1170,-185.5 1170,-161.75 981,-161.75"/>
<text text-anchor="start" x="1065" y="-168.2" font-family="arial" font-size="14.00">W2</text>
<polygon fill="none" stroke="black" points="981,-138 981,-161.75 1017.19,-161.75 1017.19,-138 981,-138"/>
<text text-anchor="start" x="988.59" y="-144.45" font-family="arial" font-size="14.00">I2C</text>
<polygon fill="none" stroke="black" points="1017.19,-138 1017.19,-161.75 1046.62,-161.75 1046.62,-138 1017.19,-138"/>
<text text-anchor="start" x="1024.78" y="-144.45" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="1046.62,-138 1046.62,-161.75 1120.31,-161.75 1120.31,-138 1046.62,-138"/>
<text text-anchor="start" x="1054.22" y="-144.45" font-family="arial" font-size="14.00">0.25 mm²</text>
<polygon fill="none" stroke="black" points="1120.31,-138 1120.31,-161.75 1170,-161.75 1170,-138 1120.31,-138"/>
<text text-anchor="start" x="1127.91" y="-144.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="1012.12" y="-122.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="982.88" y="-103.7" font-family="arial" font-size="14.00">X2:1:GND</text>
<text text-anchor="start" x="1049.62" y="-103.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;PK &#160;&#160;&#160;</text>
<text text-anchor="start" x="1105.88" y="-103.7" font-family="arial" font-size="14.00">X3:1:GND</text>
<polygon fill="#000000" stroke="none" points="981,-98 981,-100 1170,-100 1170,-98 981,-98"/>
<polygon fill="#ff66cc" stroke="none" points="981,-96 981,-98 1170,-98 1170,-96 981,-96"/>
<polygon fill="#000000" stroke="none" points="981,-94 981,-96 1170,-96 1170,-94 981,-94"/>
<text text-anchor="start" x="984" y="-78.7" font-family="arial" font-size="14.00">X2:2:VCC</text>
<text text-anchor="start" x="1048.88" y="-78.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;TQ &#160;&#160;&#160;</text>
<text text-anchor="start" x="1107" y="-78.7" font-family="arial" font-size="14.00">X3:2:VCC</text>
<polygon fill="#000000" stroke="none" points="981,-73 981,-75 1170,-75 1170,-73 981,-73"/>
<polygon fill="#00ffff" stroke="none" points="981,-71 981,-73 1170,-73 1170,-71 981,-71"/>
<polygon fill="#000000" stroke="none" points="981,-69 981,-71 1170,-71 1170,-69 981,-69"/>
<text text-anchor="start" x="985.12" y="-53.7" font-family="arial" font-size="14.00">X2:3:SCL</text>
<text text-anchor="start" x="1049.62" y="-53.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="1108.12" y="-53.7" font-family="arial" font-size="14.00">X3:3:SCL</text>
<polygon fill="#000000" stroke="none" points="981,-48 981,-50 1170,-50 1170,-48 981,-48"/>
<polygon fill="#ffff00" stroke="none" points="981,-46 981,-48 1170,-48 1170,-46 981,-46"/>
<polygon fill="#000000" stroke="none" points="981,-44 981,-46 1170,-46 1170,-44 981,-44"/>
<text text-anchor="start" x="984.38" y="-28.7" font-family="arial" font-size="14.00">X2:4:SDA</text>
<text text-anchor="start" x="1050" y="-28.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;VT &#160;&#160;&#160;</text>
<text text-anchor="start" x="1107.38" y="-28.7" font-family="arial" font-size="14.00">X3:4:SDA</text>
<polygon fill="#000000" stroke="none" points="981,-23 981,-25 1170,-25 1170,-23 981,-23"/>
<polygon fill="#8000ff" stroke="none" points="981,-21 981,-23 1170,-23 1170,-21 981,-21"/>
<polygon fill="#000000" stroke="none" points="981,-19 981,-21 1170,-21 1170,-19 981,-19"/>
<text text-anchor="start" x="1012.12" y="-3.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X2&#45;&#45;W2 -->
<g id="edge9" class="edge">
<title>X2:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M837,-91.75C901.38,-91.78 917.36,-94.78 981,-94.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M837,-93.75C901.01,-93.75 916.99,-96.75 981,-96.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M837,-95.75C900.64,-95.72 916.62,-98.72 981,-98.75"/>
</g>
<!-- X2&#45;&#45;W2 -->
<g id="edge11" class="edge">
<title>X2:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M837,-68.75C901.13,-68.75 917.12,-69.75 981,-69.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M837,-70.75C901,-70.75 917,-71.75 981,-71.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M837,-72.75C900.88,-72.75 916.87,-73.75 981,-73.75"/>
</g>
<!-- X2&#45;&#45;W2 -->
<g id="edge13" class="edge">
<title>X2:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M837,-45.75C900.88,-45.75 916.87,-44.75 981,-44.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M837,-47.75C901,-47.75 917,-46.75 981,-46.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M837,-49.75C901.13,-49.75 917.12,-48.75 981,-48.75"/>
</g>
<!-- X2&#45;&#45;W2 -->
<g id="edge15" class="edge">
<title>X2:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M837,-22.75C900.64,-22.78 916.62,-19.78 981,-19.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M837,-24.75C901.01,-24.75 916.99,-21.75 981,-21.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M837,-26.75C901.38,-26.72 917.36,-23.72 981,-23.75"/>
</g>
<!-- X3 -->
<g id="node3" class="node">
<title>X3</title>
<polygon fill="#ffffff" stroke="black" points="1494,-152.5 1314,-152.5 1314,-13 1494,-13 1494,-152.5"/>
<polygon fill="none" stroke="black" points="1314,-128.75 1314,-152.5 1494,-152.5 1494,-128.75 1314,-128.75"/>
<text text-anchor="start" x="1395.75" y="-135.2" font-family="arial" font-size="14.00">X3</text>
<polygon fill="none" stroke="black" points="1314,-105 1314,-128.75 1406.75,-128.75 1406.75,-105 1314,-105"/>
<text text-anchor="start" x="1318" y="-111.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="1406.75,-105 1406.75,-128.75 1456,-128.75 1456,-105 1406.75,-105"/>
<text text-anchor="start" x="1410.75" y="-111.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="1456,-105 1456,-128.75 1494,-128.75 1494,-105 1456,-105"/>
<text text-anchor="start" x="1460" y="-111.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="1314,-82 1314,-105 1392.5,-105 1392.5,-82 1314,-82"/>
<text text-anchor="start" x="1349.5" y="-87.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="1392.5,-82 1392.5,-105 1494,-105 1494,-82 1392.5,-82"/>
<text text-anchor="start" x="1427.88" y="-87.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="1314,-59 1314,-82 1392.5,-82 1392.5,-59 1314,-59"/>
<text text-anchor="start" x="1349.5" y="-64.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="1392.5,-59 1392.5,-82 1494,-82 1494,-59 1392.5,-59"/>
<text text-anchor="start" x="1429" y="-64.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="1314,-36 1314,-59 1392.5,-59 1392.5,-36 1314,-36"/>
<text text-anchor="start" x="1349.5" y="-41.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="1392.5,-36 1392.5,-59 1494,-59 1494,-36 1392.5,-36"/>
<text text-anchor="start" x="1430.12" y="-41.7" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="1314,-13 1314,-36 1392.5,-36 1392.5,-13 1314,-13"/>
<text text-anchor="start" x="1349.5" y="-18.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="1392.5,-13 1392.5,-36 1494,-36 1494,-13 1392.5,-13"/>
<text text-anchor="start" x="1429.38" y="-18.7" font-family="arial" font-size="14.00">SDA</text>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-94.75C576.64,-94.78 592.62,-91.78 657,-91.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M513,-96.75C577.01,-96.75 592.99,-93.75 657,-93.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-98.75C577.38,-98.72 593.36,-95.72 657,-95.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-69.75C576.88,-69.75 592.87,-68.75 657,-68.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M513,-71.75C577,-71.75 593,-70.75 657,-70.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-73.75C577.13,-73.75 593.12,-72.75 657,-72.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge6" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-44.75C577.13,-44.75 593.12,-45.75 657,-45.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M513,-46.75C577,-46.75 593,-47.75 657,-47.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-48.75C576.88,-48.75 592.87,-49.75 657,-49.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge8" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-19.75C577.38,-19.78 593.36,-22.78 657,-22.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M513,-21.75C577.01,-21.75 592.99,-24.75 657,-24.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-23.75C576.64,-23.72 592.62,-26.72 657,-26.75"/>
</g>
<!-- W2&#45;&#45;X3 -->
<g id="edge10" class="edge">
<title>W2:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-94.75C1233.64,-94.78 1249.62,-91.78 1314,-91.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M1170,-96.75C1234.01,-96.75 1249.99,-93.75 1314,-93.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-98.75C1234.38,-98.72 1250.36,-95.72 1314,-95.75"/>
</g>
<!-- W2&#45;&#45;X3 -->
<g id="edge12" class="edge">
<title>W2:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-69.75C1233.88,-69.75 1249.87,-68.75 1314,-68.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M1170,-71.75C1234,-71.75 1250,-70.75 1314,-70.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-73.75C1234.13,-73.75 1250.12,-72.75 1314,-72.75"/>
</g>
<!-- W2&#45;&#45;X3 -->
<g id="edge14" class="edge">
<title>W2:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-44.75C1234.13,-44.75 1250.12,-45.75 1314,-45.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M1170,-46.75C1234,-46.75 1250,-47.75 1314,-47.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-48.75C1233.88,-48.75 1249.87,-49.75 1314,-49.75"/>
</g>
<!-- W2&#45;&#45;X3 -->
<g id="edge16" class="edge">
<title>W2:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-19.75C1234.38,-19.78 1250.36,-22.78 1314,-22.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M1170,-21.75C1234.01,-21.75 1249.99,-24.75 1314,-24.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-23.75C1233.64,-23.72 1249.62,-26.72 1314,-26.75"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 23 KiB

36
examples/ex05.yml Normal file
View File

@ -0,0 +1,36 @@
# daisy chain, variant 1
templates:
- &template_con
type: '<a href="https://www.molex.com/molex/products/family/kk_254_rpc_connector_system">Molex KK 254</a>'
subtype: female
pinlabels: [GND, VCC, SCL, SDA]
- &template_wire
gauge: 0.25 mm2
length: 0.2
colors: [PK, TQ, YE, VT]
category: bundle
type: I2C
connectors:
X1:
<<: *template_con
X2:
<<: *template_con
X3:
<<: *template_con
cables:
W1:
<<: *template_wire
W2:
<<: *template_wire
connections:
-
- X1: [1-4]
- W1: [1-4]
- X2: [1-4]
-
- X2: [1-4]
- W2: [1-4]
- X3: [1-4]

6
examples/ex06.bom.tsv generated Normal file
View File

@ -0,0 +1,6 @@
Id Description Qty Unit Designators
1 Connector, Molex KK 254, female, 4 pins 6 X1, X2, X3, X4, X5, X6
2 Wire, 0.25 mm², PK 1 m W1, W2, W3, W4, W5
3 Wire, 0.25 mm², TQ 1 m W1, W2, W3, W4, W5
4 Wire, 0.25 mm², VT 1 m W1, W2, W3, W4, W5
5 Wire, 0.25 mm², YE 1 m W1, W2, W3, W4, W5
1 Id Description Qty Unit Designators
2 1 Connector, Molex KK 254, female, 4 pins 6 X1, X2, X3, X4, X5, X6
3 2 Wire, 0.25 mm², PK 1 m W1, W2, W3, W4, W5
4 3 Wire, 0.25 mm², TQ 1 m W1, W2, W3, W4, W5
5 4 Wire, 0.25 mm², VT 1 m W1, W2, W3, W4, W5
6 5 Wire, 0.25 mm², YE 1 m W1, W2, W3, W4, W5

713
examples/ex06.gv generated Normal file
View File

@ -0,0 +1,713 @@
graph {
// Graph generated by WireViz 0.4.1
// https://github.com/wireviz/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]
X1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex KK 254</td>
<td balign="left">female</td>
<td balign="left">4-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td>GND</td>
<td port="p1r">1</td>
</tr>
<tr>
<td>VCC</td>
<td port="p2r">2</td>
</tr>
<tr>
<td>SCL</td>
<td port="p3r">3</td>
</tr>
<tr>
<td>SDA</td>
<td port="p4r">4</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X2</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex KK 254</td>
<td balign="left">female</td>
<td balign="left">4-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1l">1</td>
<td>GND</td>
</tr>
<tr>
<td port="p2l">2</td>
<td>VCC</td>
</tr>
<tr>
<td port="p3l">3</td>
<td>SCL</td>
</tr>
<tr>
<td port="p4l">4</td>
<td>SDA</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X3 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X3</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex KK 254</td>
<td balign="left">female</td>
<td balign="left">4-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td>GND</td>
<td port="p1r">1</td>
</tr>
<tr>
<td>VCC</td>
<td port="p2r">2</td>
</tr>
<tr>
<td>SCL</td>
<td port="p3r">3</td>
</tr>
<tr>
<td>SDA</td>
<td port="p4r">4</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X4 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X4</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex KK 254</td>
<td balign="left">female</td>
<td balign="left">4-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1l">1</td>
<td>GND</td>
</tr>
<tr>
<td port="p2l">2</td>
<td>VCC</td>
</tr>
<tr>
<td port="p3l">3</td>
<td>SCL</td>
</tr>
<tr>
<td port="p4l">4</td>
<td>SDA</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X5 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X5</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex KK 254</td>
<td balign="left">female</td>
<td balign="left">4-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td>GND</td>
<td port="p1r">1</td>
</tr>
<tr>
<td>VCC</td>
<td port="p2r">2</td>
</tr>
<tr>
<td>SCL</td>
<td port="p3r">3</td>
</tr>
<tr>
<td>SDA</td>
<td port="p4r">4</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X6 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X6</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Molex KK 254</td>
<td balign="left">female</td>
<td balign="left">4-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1l">1</td>
<td>GND</td>
</tr>
<tr>
<td port="p2l">2</td>
<td>VCC</td>
</tr>
<tr>
<td port="p3l">3</td>
<td>SCL</td>
</tr>
<tr>
<td port="p4l">4</td>
<td>SDA</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
edge [color="#000000:#ff66cc:#000000"]
X1:p1r:e -- W1:w1:w
W1:w1:e -- X2:p1l:w
edge [color="#000000:#00ffff:#000000"]
X1:p2r:e -- W1:w2:w
W1:w2:e -- X2:p2l:w
edge [color="#000000:#ffff00:#000000"]
X1:p3r:e -- W1:w3:w
W1:w3:e -- X2:p3l:w
edge [color="#000000:#8000ff:#000000"]
X1:p4r:e -- W1:w4:w
W1:w4:e -- X2:p4l:w
W1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">4x</td>
<td balign="left">0.25 mm²</td>
<td balign="left">0.2 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td>X1:1:GND</td>
<td>
PK
</td>
<td>X2:1:GND</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff66cc" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:2:VCC</td>
<td>
TQ
</td>
<td>X2:2:VCC</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:3:SCL</td>
<td>
YE
</td>
<td>X2:3:SCL</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:4:SDA</td>
<td>
VT
</td>
<td>X2:4:SDA</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#8000ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style="filled,dashed"]
edge [color="#000000:#ff66cc:#000000"]
X3:p1r:e -- W2:w1:w
W2:w1:e -- X2:p1l:w
edge [color="#000000:#00ffff:#000000"]
X3:p2r:e -- W2:w2:w
W2:w2:e -- X2:p2l:w
edge [color="#000000:#ffff00:#000000"]
X3:p3r:e -- W2:w3:w
W2:w3:e -- X2:p3l:w
edge [color="#000000:#8000ff:#000000"]
X3:p4r:e -- W2:w4:w
W2:w4:e -- X2:p4l:w
W2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W2</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">4x</td>
<td balign="left">0.25 mm²</td>
<td balign="left">0.2 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td>X3:1:GND</td>
<td>
PK
</td>
<td>X2:1:GND</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff66cc" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X3:2:VCC</td>
<td>
TQ
</td>
<td>X2:2:VCC</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X3:3:SCL</td>
<td>
YE
</td>
<td>X2:3:SCL</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X3:4:SDA</td>
<td>
VT
</td>
<td>X2:4:SDA</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#8000ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style="filled,dashed"]
edge [color="#000000:#ff66cc:#000000"]
X3:p1r:e -- W3:w1:w
W3:w1:e -- X4:p1l:w
edge [color="#000000:#00ffff:#000000"]
X3:p2r:e -- W3:w2:w
W3:w2:e -- X4:p2l:w
edge [color="#000000:#ffff00:#000000"]
X3:p3r:e -- W3:w3:w
W3:w3:e -- X4:p3l:w
edge [color="#000000:#8000ff:#000000"]
X3:p4r:e -- W3:w4:w
W3:w4:e -- X4:p4l:w
W3 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W3</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">4x</td>
<td balign="left">0.25 mm²</td>
<td balign="left">0.2 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td>X3:1:GND</td>
<td>
PK
</td>
<td>X4:1:GND</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff66cc" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X3:2:VCC</td>
<td>
TQ
</td>
<td>X4:2:VCC</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X3:3:SCL</td>
<td>
YE
</td>
<td>X4:3:SCL</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X3:4:SDA</td>
<td>
VT
</td>
<td>X4:4:SDA</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#8000ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style="filled,dashed"]
edge [color="#000000:#ff66cc:#000000"]
X5:p1r:e -- W4:w1:w
W4:w1:e -- X4:p1l:w
edge [color="#000000:#00ffff:#000000"]
X5:p2r:e -- W4:w2:w
W4:w2:e -- X4:p2l:w
edge [color="#000000:#ffff00:#000000"]
X5:p3r:e -- W4:w3:w
W4:w3:e -- X4:p3l:w
edge [color="#000000:#8000ff:#000000"]
X5:p4r:e -- W4:w4:w
W4:w4:e -- X4:p4l:w
W4 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W4</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">4x</td>
<td balign="left">0.25 mm²</td>
<td balign="left">0.2 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td>X5:1:GND</td>
<td>
PK
</td>
<td>X4:1:GND</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff66cc" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X5:2:VCC</td>
<td>
TQ
</td>
<td>X4:2:VCC</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X5:3:SCL</td>
<td>
YE
</td>
<td>X4:3:SCL</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X5:4:SDA</td>
<td>
VT
</td>
<td>X4:4:SDA</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#8000ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style="filled,dashed"]
edge [color="#000000:#ff66cc:#000000"]
X5:p1r:e -- W5:w1:w
W5:w1:e -- X6:p1l:w
edge [color="#000000:#00ffff:#000000"]
X5:p2r:e -- W5:w2:w
W5:w2:e -- X6:p2l:w
edge [color="#000000:#ffff00:#000000"]
X5:p3r:e -- W5:w3:w
W5:w3:e -- X6:p3l:w
edge [color="#000000:#8000ff:#000000"]
X5:p4r:e -- W5:w4:w
W5:w4:e -- X6:p4l:w
W5 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W5</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">4x</td>
<td balign="left">0.25 mm²</td>
<td balign="left">0.2 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td>X5:1:GND</td>
<td>
PK
</td>
<td>X6:1:GND</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff66cc" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X5:2:VCC</td>
<td>
TQ
</td>
<td>X6:2:VCC</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X5:3:SCL</td>
<td>
YE
</td>
<td>X6:3:SCL</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X5:4:SDA</td>
<td>
VT
</td>
<td>X6:4:SDA</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#8000ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style="filled,dashed"]
}

748
examples/ex06.html generated Normal file
View File

@ -0,0 +1,748 @@
<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<meta name="generator" content="WireViz 0.4.1 - https://github.com/wireviz/WireViz">
<title>ex06</title>
<style>
#bom table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
#bom th, td {
padding: 4px;
text-align: left;
}
.bom_col_qty {
text-align: right;
}
</style>
</head><body style="font-family:arial;background-color:#ffffff">
<h1>ex06</h1>
<h2>Diagram</h2>
<div id="description">
<!-- %description% -->
</div>
<div id="diagram">
<!-- XML and DOCTYPE declarations from SVG file removed -->
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="845pt" height="1034pt"
viewBox="0.00 0.00 845.00 1033.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1029.5)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-1029.5 841,-1029.5 841,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="180,-992.5 0,-992.5 0,-853 180,-853 180,-992.5"/>
<polygon fill="none" stroke="black" points="0,-968.75 0,-992.5 180,-992.5 180,-968.75 0,-968.75"/>
<text text-anchor="start" x="81.75" y="-975.2" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-945 0,-968.75 92.75,-968.75 92.75,-945 0,-945"/>
<text text-anchor="start" x="4" y="-951.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="92.75,-945 92.75,-968.75 142,-968.75 142,-945 92.75,-945"/>
<text text-anchor="start" x="96.75" y="-951.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="142,-945 142,-968.75 180,-968.75 180,-945 142,-945"/>
<text text-anchor="start" x="146" y="-951.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-922 0,-945 101.5,-945 101.5,-922 0,-922"/>
<text text-anchor="start" x="35.38" y="-927.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="101.5,-922 101.5,-945 180,-945 180,-922 101.5,-922"/>
<text text-anchor="start" x="137" y="-927.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-899 0,-922 101.5,-922 101.5,-899 0,-899"/>
<text text-anchor="start" x="36.5" y="-904.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="101.5,-899 101.5,-922 180,-922 180,-899 101.5,-899"/>
<text text-anchor="start" x="137" y="-904.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="0,-876 0,-899 101.5,-899 101.5,-876 0,-876"/>
<text text-anchor="start" x="37.62" y="-881.7" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="101.5,-876 101.5,-899 180,-899 180,-876 101.5,-876"/>
<text text-anchor="start" x="137" y="-881.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="0,-853 0,-876 101.5,-876 101.5,-853 0,-853"/>
<text text-anchor="start" x="36.88" y="-858.7" font-family="arial" font-size="14.00">SDA</text>
<polygon fill="none" stroke="black" points="101.5,-853 101.5,-876 180,-876 180,-853 101.5,-853"/>
<text text-anchor="start" x="137" y="-858.7" font-family="arial" font-size="14.00">4</text>
</g>
<!-- W1 -->
<g id="node7" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="513,-1025.5 324,-1025.5 324,-840 513,-840 513,-1025.5"/>
<polygon fill="none" stroke="black" points="324,-1001.75 324,-1025.5 513,-1025.5 513,-1001.75 324,-1001.75"/>
<text text-anchor="start" x="408" y="-1008.2" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="324,-978 324,-1001.75 365.5,-1001.75 365.5,-978 324,-978"/>
<text text-anchor="start" x="337.62" y="-984.45" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="365.5,-978 365.5,-1001.75 451.25,-1001.75 451.25,-978 365.5,-978"/>
<text text-anchor="start" x="379.12" y="-984.45" font-family="arial" font-size="14.00">0.25 mm²</text>
<polygon fill="none" stroke="black" points="451.25,-978 451.25,-1001.75 513,-1001.75 513,-978 451.25,-978"/>
<text text-anchor="start" x="464.88" y="-984.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="355.12" y="-962.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="325.88" y="-943.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="392.62" y="-943.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;PK &#160;&#160;&#160;</text>
<text text-anchor="start" x="448.88" y="-943.7" font-family="arial" font-size="14.00">X2:1:GND</text>
<polygon fill="#000000" stroke="none" points="324,-938 324,-940 513,-940 513,-938 324,-938"/>
<polygon fill="#ff66cc" stroke="none" points="324,-936 324,-938 513,-938 513,-936 324,-936"/>
<polygon fill="#000000" stroke="none" points="324,-934 324,-936 513,-936 513,-934 324,-934"/>
<text text-anchor="start" x="327" y="-918.7" font-family="arial" font-size="14.00">X1:2:VCC</text>
<text text-anchor="start" x="391.88" y="-918.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;TQ &#160;&#160;&#160;</text>
<text text-anchor="start" x="450" y="-918.7" font-family="arial" font-size="14.00">X2:2:VCC</text>
<polygon fill="#000000" stroke="none" points="324,-913 324,-915 513,-915 513,-913 324,-913"/>
<polygon fill="#00ffff" stroke="none" points="324,-911 324,-913 513,-913 513,-911 324,-911"/>
<polygon fill="#000000" stroke="none" points="324,-909 324,-911 513,-911 513,-909 324,-909"/>
<text text-anchor="start" x="328.12" y="-893.7" font-family="arial" font-size="14.00">X1:3:SCL</text>
<text text-anchor="start" x="392.62" y="-893.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="451.12" y="-893.7" font-family="arial" font-size="14.00">X2:3:SCL</text>
<polygon fill="#000000" stroke="none" points="324,-888 324,-890 513,-890 513,-888 324,-888"/>
<polygon fill="#ffff00" stroke="none" points="324,-886 324,-888 513,-888 513,-886 324,-886"/>
<polygon fill="#000000" stroke="none" points="324,-884 324,-886 513,-886 513,-884 324,-884"/>
<text text-anchor="start" x="327.38" y="-868.7" font-family="arial" font-size="14.00">X1:4:SDA</text>
<text text-anchor="start" x="393" y="-868.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;VT &#160;&#160;&#160;</text>
<text text-anchor="start" x="450.38" y="-868.7" font-family="arial" font-size="14.00">X2:4:SDA</text>
<polygon fill="#000000" stroke="none" points="324,-863 324,-865 513,-865 513,-863 324,-863"/>
<polygon fill="#8000ff" stroke="none" points="324,-861 324,-863 513,-863 513,-861 324,-861"/>
<polygon fill="#000000" stroke="none" points="324,-859 324,-861 513,-861 513,-859 324,-859"/>
<text text-anchor="start" x="355.12" y="-843.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge1" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-931.75C244.38,-931.78 260.36,-934.78 324,-934.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M180,-933.75C244.01,-933.75 259.99,-936.75 324,-936.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-935.75C243.64,-935.72 259.62,-938.72 324,-938.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge3" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-908.75C244.13,-908.75 260.12,-909.75 324,-909.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M180,-910.75C244,-910.75 260,-911.75 324,-911.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-912.75C243.88,-912.75 259.87,-913.75 324,-913.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge5" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-885.75C243.88,-885.75 259.87,-884.75 324,-884.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M180,-887.75C244,-887.75 260,-886.75 324,-886.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-889.75C244.13,-889.75 260.12,-888.75 324,-888.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge7" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-862.75C243.64,-862.78 259.62,-859.78 324,-859.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M180,-864.75C244.01,-864.75 259.99,-861.75 324,-861.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-866.75C244.38,-866.72 260.36,-863.72 324,-863.75"/>
</g>
<!-- X2 -->
<g id="node2" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="837,-887.5 657,-887.5 657,-748 837,-748 837,-887.5"/>
<polygon fill="none" stroke="black" points="657,-863.75 657,-887.5 837,-887.5 837,-863.75 657,-863.75"/>
<text text-anchor="start" x="738.75" y="-870.2" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="657,-840 657,-863.75 749.75,-863.75 749.75,-840 657,-840"/>
<text text-anchor="start" x="661" y="-846.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="749.75,-840 749.75,-863.75 799,-863.75 799,-840 749.75,-840"/>
<text text-anchor="start" x="753.75" y="-846.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="799,-840 799,-863.75 837,-863.75 837,-840 799,-840"/>
<text text-anchor="start" x="803" y="-846.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="657,-817 657,-840 735.5,-840 735.5,-817 657,-817"/>
<text text-anchor="start" x="692.5" y="-822.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="735.5,-817 735.5,-840 837,-840 837,-817 735.5,-817"/>
<text text-anchor="start" x="770.88" y="-822.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="657,-794 657,-817 735.5,-817 735.5,-794 657,-794"/>
<text text-anchor="start" x="692.5" y="-799.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="735.5,-794 735.5,-817 837,-817 837,-794 735.5,-794"/>
<text text-anchor="start" x="772" y="-799.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="657,-771 657,-794 735.5,-794 735.5,-771 657,-771"/>
<text text-anchor="start" x="692.5" y="-776.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="735.5,-771 735.5,-794 837,-794 837,-771 735.5,-771"/>
<text text-anchor="start" x="773.12" y="-776.7" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="657,-748 657,-771 735.5,-771 735.5,-748 657,-748"/>
<text text-anchor="start" x="692.5" y="-753.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="735.5,-748 735.5,-771 837,-771 837,-748 735.5,-748"/>
<text text-anchor="start" x="772.38" y="-753.7" font-family="arial" font-size="14.00">SDA</text>
</g>
<!-- X3 -->
<g id="node3" class="node">
<title>X3</title>
<polygon fill="#ffffff" stroke="black" points="180,-677.5 0,-677.5 0,-538 180,-538 180,-677.5"/>
<polygon fill="none" stroke="black" points="0,-653.75 0,-677.5 180,-677.5 180,-653.75 0,-653.75"/>
<text text-anchor="start" x="81.75" y="-660.2" font-family="arial" font-size="14.00">X3</text>
<polygon fill="none" stroke="black" points="0,-630 0,-653.75 92.75,-653.75 92.75,-630 0,-630"/>
<text text-anchor="start" x="4" y="-636.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="92.75,-630 92.75,-653.75 142,-653.75 142,-630 92.75,-630"/>
<text text-anchor="start" x="96.75" y="-636.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="142,-630 142,-653.75 180,-653.75 180,-630 142,-630"/>
<text text-anchor="start" x="146" y="-636.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-607 0,-630 101.5,-630 101.5,-607 0,-607"/>
<text text-anchor="start" x="35.38" y="-612.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="101.5,-607 101.5,-630 180,-630 180,-607 101.5,-607"/>
<text text-anchor="start" x="137" y="-612.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-584 0,-607 101.5,-607 101.5,-584 0,-584"/>
<text text-anchor="start" x="36.5" y="-589.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="101.5,-584 101.5,-607 180,-607 180,-584 101.5,-584"/>
<text text-anchor="start" x="137" y="-589.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="0,-561 0,-584 101.5,-584 101.5,-561 0,-561"/>
<text text-anchor="start" x="37.62" y="-566.7" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="101.5,-561 101.5,-584 180,-584 180,-561 101.5,-561"/>
<text text-anchor="start" x="137" y="-566.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="0,-538 0,-561 101.5,-561 101.5,-538 0,-538"/>
<text text-anchor="start" x="36.88" y="-543.7" font-family="arial" font-size="14.00">SDA</text>
<polygon fill="none" stroke="black" points="101.5,-538 101.5,-561 180,-561 180,-538 101.5,-538"/>
<text text-anchor="start" x="137" y="-543.7" font-family="arial" font-size="14.00">4</text>
</g>
<!-- W2 -->
<g id="node8" class="node">
<title>W2</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="513,-815.5 324,-815.5 324,-630 513,-630 513,-815.5"/>
<polygon fill="none" stroke="black" points="324,-791.75 324,-815.5 513,-815.5 513,-791.75 324,-791.75"/>
<text text-anchor="start" x="408" y="-798.2" font-family="arial" font-size="14.00">W2</text>
<polygon fill="none" stroke="black" points="324,-768 324,-791.75 365.5,-791.75 365.5,-768 324,-768"/>
<text text-anchor="start" x="337.62" y="-774.45" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="365.5,-768 365.5,-791.75 451.25,-791.75 451.25,-768 365.5,-768"/>
<text text-anchor="start" x="379.12" y="-774.45" font-family="arial" font-size="14.00">0.25 mm²</text>
<polygon fill="none" stroke="black" points="451.25,-768 451.25,-791.75 513,-791.75 513,-768 451.25,-768"/>
<text text-anchor="start" x="464.88" y="-774.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="355.12" y="-752.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="325.88" y="-733.7" font-family="arial" font-size="14.00">X3:1:GND</text>
<text text-anchor="start" x="392.62" y="-733.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;PK &#160;&#160;&#160;</text>
<text text-anchor="start" x="448.88" y="-733.7" font-family="arial" font-size="14.00">X2:1:GND</text>
<polygon fill="#000000" stroke="none" points="324,-728 324,-730 513,-730 513,-728 324,-728"/>
<polygon fill="#ff66cc" stroke="none" points="324,-726 324,-728 513,-728 513,-726 324,-726"/>
<polygon fill="#000000" stroke="none" points="324,-724 324,-726 513,-726 513,-724 324,-724"/>
<text text-anchor="start" x="327" y="-708.7" font-family="arial" font-size="14.00">X3:2:VCC</text>
<text text-anchor="start" x="391.88" y="-708.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;TQ &#160;&#160;&#160;</text>
<text text-anchor="start" x="450" y="-708.7" font-family="arial" font-size="14.00">X2:2:VCC</text>
<polygon fill="#000000" stroke="none" points="324,-703 324,-705 513,-705 513,-703 324,-703"/>
<polygon fill="#00ffff" stroke="none" points="324,-701 324,-703 513,-703 513,-701 324,-701"/>
<polygon fill="#000000" stroke="none" points="324,-699 324,-701 513,-701 513,-699 324,-699"/>
<text text-anchor="start" x="328.12" y="-683.7" font-family="arial" font-size="14.00">X3:3:SCL</text>
<text text-anchor="start" x="392.62" y="-683.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="451.12" y="-683.7" font-family="arial" font-size="14.00">X2:3:SCL</text>
<polygon fill="#000000" stroke="none" points="324,-678 324,-680 513,-680 513,-678 324,-678"/>
<polygon fill="#ffff00" stroke="none" points="324,-676 324,-678 513,-678 513,-676 324,-676"/>
<polygon fill="#000000" stroke="none" points="324,-674 324,-676 513,-676 513,-674 324,-674"/>
<text text-anchor="start" x="327.38" y="-658.7" font-family="arial" font-size="14.00">X3:4:SDA</text>
<text text-anchor="start" x="393" y="-658.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;VT &#160;&#160;&#160;</text>
<text text-anchor="start" x="450.38" y="-658.7" font-family="arial" font-size="14.00">X2:4:SDA</text>
<polygon fill="#000000" stroke="none" points="324,-653 324,-655 513,-655 513,-653 324,-653"/>
<polygon fill="#8000ff" stroke="none" points="324,-651 324,-653 513,-653 513,-651 324,-651"/>
<polygon fill="#000000" stroke="none" points="324,-649 324,-651 513,-651 513,-649 324,-649"/>
<text text-anchor="start" x="355.12" y="-633.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X3&#45;&#45;W2 -->
<g id="edge9" class="edge">
<title>X3:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-616.75C261.98,-619.04 245.98,-727.04 324,-724.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M180,-618.75C260,-618.75 244,-726.75 324,-726.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-620.75C258.02,-618.46 242.02,-726.46 324,-728.75"/>
</g>
<!-- X3&#45;&#45;W2 -->
<g id="edge11" class="edge">
<title>X3:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-593.75C261.45,-596.03 246.51,-702.03 324,-699.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M180,-595.75C259.47,-595.75 244.53,-701.75 324,-701.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-597.75C257.49,-595.47 242.55,-701.47 324,-703.75"/>
</g>
<!-- X3&#45;&#45;W2 -->
<g id="edge13" class="edge">
<title>X3:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-570.75C260.93,-573.01 247.04,-677.01 324,-674.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M180,-572.75C258.95,-572.75 245.05,-676.75 324,-676.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-574.75C256.96,-572.49 243.07,-676.49 324,-678.75"/>
</g>
<!-- X3&#45;&#45;W2 -->
<g id="edge15" class="edge">
<title>X3:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-547.75C260.41,-550 247.56,-652 324,-649.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M180,-549.75C258.43,-549.75 245.57,-651.75 324,-651.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-551.75C256.44,-549.5 243.59,-651.5 324,-653.75"/>
</g>
<!-- W3 -->
<g id="node9" class="node">
<title>W3</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="513,-605.5 324,-605.5 324,-420 513,-420 513,-605.5"/>
<polygon fill="none" stroke="black" points="324,-581.75 324,-605.5 513,-605.5 513,-581.75 324,-581.75"/>
<text text-anchor="start" x="408" y="-588.2" font-family="arial" font-size="14.00">W3</text>
<polygon fill="none" stroke="black" points="324,-558 324,-581.75 365.5,-581.75 365.5,-558 324,-558"/>
<text text-anchor="start" x="337.62" y="-564.45" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="365.5,-558 365.5,-581.75 451.25,-581.75 451.25,-558 365.5,-558"/>
<text text-anchor="start" x="379.12" y="-564.45" font-family="arial" font-size="14.00">0.25 mm²</text>
<polygon fill="none" stroke="black" points="451.25,-558 451.25,-581.75 513,-581.75 513,-558 451.25,-558"/>
<text text-anchor="start" x="464.88" y="-564.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="355.12" y="-542.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="325.88" y="-523.7" font-family="arial" font-size="14.00">X3:1:GND</text>
<text text-anchor="start" x="392.62" y="-523.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;PK &#160;&#160;&#160;</text>
<text text-anchor="start" x="448.88" y="-523.7" font-family="arial" font-size="14.00">X4:1:GND</text>
<polygon fill="#000000" stroke="none" points="324,-518 324,-520 513,-520 513,-518 324,-518"/>
<polygon fill="#ff66cc" stroke="none" points="324,-516 324,-518 513,-518 513,-516 324,-516"/>
<polygon fill="#000000" stroke="none" points="324,-514 324,-516 513,-516 513,-514 324,-514"/>
<text text-anchor="start" x="327" y="-498.7" font-family="arial" font-size="14.00">X3:2:VCC</text>
<text text-anchor="start" x="391.88" y="-498.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;TQ &#160;&#160;&#160;</text>
<text text-anchor="start" x="450" y="-498.7" font-family="arial" font-size="14.00">X4:2:VCC</text>
<polygon fill="#000000" stroke="none" points="324,-493 324,-495 513,-495 513,-493 324,-493"/>
<polygon fill="#00ffff" stroke="none" points="324,-491 324,-493 513,-493 513,-491 324,-491"/>
<polygon fill="#000000" stroke="none" points="324,-489 324,-491 513,-491 513,-489 324,-489"/>
<text text-anchor="start" x="328.12" y="-473.7" font-family="arial" font-size="14.00">X3:3:SCL</text>
<text text-anchor="start" x="392.62" y="-473.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="451.12" y="-473.7" font-family="arial" font-size="14.00">X4:3:SCL</text>
<polygon fill="#000000" stroke="none" points="324,-468 324,-470 513,-470 513,-468 324,-468"/>
<polygon fill="#ffff00" stroke="none" points="324,-466 324,-468 513,-468 513,-466 324,-466"/>
<polygon fill="#000000" stroke="none" points="324,-464 324,-466 513,-466 513,-464 324,-464"/>
<text text-anchor="start" x="327.38" y="-448.7" font-family="arial" font-size="14.00">X3:4:SDA</text>
<text text-anchor="start" x="393" y="-448.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;VT &#160;&#160;&#160;</text>
<text text-anchor="start" x="450.38" y="-448.7" font-family="arial" font-size="14.00">X4:4:SDA</text>
<polygon fill="#000000" stroke="none" points="324,-443 324,-445 513,-445 513,-443 324,-443"/>
<polygon fill="#8000ff" stroke="none" points="324,-441 324,-443 513,-443 513,-441 324,-441"/>
<polygon fill="#000000" stroke="none" points="324,-439 324,-441 513,-441 513,-439 324,-439"/>
<text text-anchor="start" x="355.12" y="-423.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X3&#45;&#45;W3 -->
<g id="edge17" class="edge">
<title>X3:e&#45;&#45;W3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-616.75C256.44,-619 243.59,-517 324,-514.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M180,-618.75C258.43,-618.75 245.57,-516.75 324,-516.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-620.75C260.41,-618.5 247.56,-516.5 324,-518.75"/>
</g>
<!-- X3&#45;&#45;W3 -->
<g id="edge19" class="edge">
<title>X3:e&#45;&#45;W3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-593.75C256.96,-596.01 243.07,-492.01 324,-489.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M180,-595.75C258.95,-595.75 245.05,-491.75 324,-491.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-597.75C260.93,-595.49 247.04,-491.49 324,-493.75"/>
</g>
<!-- X3&#45;&#45;W3 -->
<g id="edge21" class="edge">
<title>X3:e&#45;&#45;W3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-570.75C257.49,-573.03 242.55,-467.03 324,-464.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M180,-572.75C259.47,-572.75 244.53,-466.75 324,-466.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-574.75C261.45,-572.47 246.51,-466.47 324,-468.75"/>
</g>
<!-- X3&#45;&#45;W3 -->
<g id="edge23" class="edge">
<title>X3:e&#45;&#45;W3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-547.75C258.02,-550.04 242.02,-442.04 324,-439.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M180,-549.75C260,-549.75 244,-441.75 324,-441.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-551.75C261.98,-549.46 245.98,-441.46 324,-443.75"/>
</g>
<!-- X4 -->
<g id="node4" class="node">
<title>X4</title>
<polygon fill="#ffffff" stroke="black" points="837,-467.5 657,-467.5 657,-328 837,-328 837,-467.5"/>
<polygon fill="none" stroke="black" points="657,-443.75 657,-467.5 837,-467.5 837,-443.75 657,-443.75"/>
<text text-anchor="start" x="738.75" y="-450.2" font-family="arial" font-size="14.00">X4</text>
<polygon fill="none" stroke="black" points="657,-420 657,-443.75 749.75,-443.75 749.75,-420 657,-420"/>
<text text-anchor="start" x="661" y="-426.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="749.75,-420 749.75,-443.75 799,-443.75 799,-420 749.75,-420"/>
<text text-anchor="start" x="753.75" y="-426.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="799,-420 799,-443.75 837,-443.75 837,-420 799,-420"/>
<text text-anchor="start" x="803" y="-426.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="657,-397 657,-420 735.5,-420 735.5,-397 657,-397"/>
<text text-anchor="start" x="692.5" y="-402.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="735.5,-397 735.5,-420 837,-420 837,-397 735.5,-397"/>
<text text-anchor="start" x="770.88" y="-402.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="657,-374 657,-397 735.5,-397 735.5,-374 657,-374"/>
<text text-anchor="start" x="692.5" y="-379.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="735.5,-374 735.5,-397 837,-397 837,-374 735.5,-374"/>
<text text-anchor="start" x="772" y="-379.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="657,-351 657,-374 735.5,-374 735.5,-351 657,-351"/>
<text text-anchor="start" x="692.5" y="-356.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="735.5,-351 735.5,-374 837,-374 837,-351 735.5,-351"/>
<text text-anchor="start" x="773.12" y="-356.7" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="657,-328 657,-351 735.5,-351 735.5,-328 657,-328"/>
<text text-anchor="start" x="692.5" y="-333.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="735.5,-328 735.5,-351 837,-351 837,-328 735.5,-328"/>
<text text-anchor="start" x="772.38" y="-333.7" font-family="arial" font-size="14.00">SDA</text>
</g>
<!-- X5 -->
<g id="node5" class="node">
<title>X5</title>
<polygon fill="#ffffff" stroke="black" points="180,-257.5 0,-257.5 0,-118 180,-118 180,-257.5"/>
<polygon fill="none" stroke="black" points="0,-233.75 0,-257.5 180,-257.5 180,-233.75 0,-233.75"/>
<text text-anchor="start" x="81.75" y="-240.2" font-family="arial" font-size="14.00">X5</text>
<polygon fill="none" stroke="black" points="0,-210 0,-233.75 92.75,-233.75 92.75,-210 0,-210"/>
<text text-anchor="start" x="4" y="-216.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="92.75,-210 92.75,-233.75 142,-233.75 142,-210 92.75,-210"/>
<text text-anchor="start" x="96.75" y="-216.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="142,-210 142,-233.75 180,-233.75 180,-210 142,-210"/>
<text text-anchor="start" x="146" y="-216.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-187 0,-210 101.5,-210 101.5,-187 0,-187"/>
<text text-anchor="start" x="35.38" y="-192.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="101.5,-187 101.5,-210 180,-210 180,-187 101.5,-187"/>
<text text-anchor="start" x="137" y="-192.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-164 0,-187 101.5,-187 101.5,-164 0,-164"/>
<text text-anchor="start" x="36.5" y="-169.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="101.5,-164 101.5,-187 180,-187 180,-164 101.5,-164"/>
<text text-anchor="start" x="137" y="-169.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="0,-141 0,-164 101.5,-164 101.5,-141 0,-141"/>
<text text-anchor="start" x="37.62" y="-146.7" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="101.5,-141 101.5,-164 180,-164 180,-141 101.5,-141"/>
<text text-anchor="start" x="137" y="-146.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="0,-118 0,-141 101.5,-141 101.5,-118 0,-118"/>
<text text-anchor="start" x="36.88" y="-123.7" font-family="arial" font-size="14.00">SDA</text>
<polygon fill="none" stroke="black" points="101.5,-118 101.5,-141 180,-141 180,-118 101.5,-118"/>
<text text-anchor="start" x="137" y="-123.7" font-family="arial" font-size="14.00">4</text>
</g>
<!-- W4 -->
<g id="node10" class="node">
<title>W4</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="513,-395.5 324,-395.5 324,-210 513,-210 513,-395.5"/>
<polygon fill="none" stroke="black" points="324,-371.75 324,-395.5 513,-395.5 513,-371.75 324,-371.75"/>
<text text-anchor="start" x="408" y="-378.2" font-family="arial" font-size="14.00">W4</text>
<polygon fill="none" stroke="black" points="324,-348 324,-371.75 365.5,-371.75 365.5,-348 324,-348"/>
<text text-anchor="start" x="337.62" y="-354.45" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="365.5,-348 365.5,-371.75 451.25,-371.75 451.25,-348 365.5,-348"/>
<text text-anchor="start" x="379.12" y="-354.45" font-family="arial" font-size="14.00">0.25 mm²</text>
<polygon fill="none" stroke="black" points="451.25,-348 451.25,-371.75 513,-371.75 513,-348 451.25,-348"/>
<text text-anchor="start" x="464.88" y="-354.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="355.12" y="-332.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="325.88" y="-313.7" font-family="arial" font-size="14.00">X5:1:GND</text>
<text text-anchor="start" x="392.62" y="-313.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;PK &#160;&#160;&#160;</text>
<text text-anchor="start" x="448.88" y="-313.7" font-family="arial" font-size="14.00">X4:1:GND</text>
<polygon fill="#000000" stroke="none" points="324,-308 324,-310 513,-310 513,-308 324,-308"/>
<polygon fill="#ff66cc" stroke="none" points="324,-306 324,-308 513,-308 513,-306 324,-306"/>
<polygon fill="#000000" stroke="none" points="324,-304 324,-306 513,-306 513,-304 324,-304"/>
<text text-anchor="start" x="327" y="-288.7" font-family="arial" font-size="14.00">X5:2:VCC</text>
<text text-anchor="start" x="391.88" y="-288.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;TQ &#160;&#160;&#160;</text>
<text text-anchor="start" x="450" y="-288.7" font-family="arial" font-size="14.00">X4:2:VCC</text>
<polygon fill="#000000" stroke="none" points="324,-283 324,-285 513,-285 513,-283 324,-283"/>
<polygon fill="#00ffff" stroke="none" points="324,-281 324,-283 513,-283 513,-281 324,-281"/>
<polygon fill="#000000" stroke="none" points="324,-279 324,-281 513,-281 513,-279 324,-279"/>
<text text-anchor="start" x="328.12" y="-263.7" font-family="arial" font-size="14.00">X5:3:SCL</text>
<text text-anchor="start" x="392.62" y="-263.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="451.12" y="-263.7" font-family="arial" font-size="14.00">X4:3:SCL</text>
<polygon fill="#000000" stroke="none" points="324,-258 324,-260 513,-260 513,-258 324,-258"/>
<polygon fill="#ffff00" stroke="none" points="324,-256 324,-258 513,-258 513,-256 324,-256"/>
<polygon fill="#000000" stroke="none" points="324,-254 324,-256 513,-256 513,-254 324,-254"/>
<text text-anchor="start" x="327.38" y="-238.7" font-family="arial" font-size="14.00">X5:4:SDA</text>
<text text-anchor="start" x="393" y="-238.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;VT &#160;&#160;&#160;</text>
<text text-anchor="start" x="450.38" y="-238.7" font-family="arial" font-size="14.00">X4:4:SDA</text>
<polygon fill="#000000" stroke="none" points="324,-233 324,-235 513,-235 513,-233 324,-233"/>
<polygon fill="#8000ff" stroke="none" points="324,-231 324,-233 513,-233 513,-231 324,-231"/>
<polygon fill="#000000" stroke="none" points="324,-229 324,-231 513,-231 513,-229 324,-229"/>
<text text-anchor="start" x="355.12" y="-213.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X5&#45;&#45;W4 -->
<g id="edge25" class="edge">
<title>X5:e&#45;&#45;W4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-196.75C261.98,-199.04 245.98,-307.04 324,-304.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M180,-198.75C260,-198.75 244,-306.75 324,-306.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-200.75C258.02,-198.46 242.02,-306.46 324,-308.75"/>
</g>
<!-- X5&#45;&#45;W4 -->
<g id="edge27" class="edge">
<title>X5:e&#45;&#45;W4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-173.75C261.45,-176.03 246.51,-282.03 324,-279.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M180,-175.75C259.47,-175.75 244.53,-281.75 324,-281.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-177.75C257.49,-175.47 242.55,-281.47 324,-283.75"/>
</g>
<!-- X5&#45;&#45;W4 -->
<g id="edge29" class="edge">
<title>X5:e&#45;&#45;W4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-150.75C260.93,-153.01 247.04,-257.01 324,-254.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M180,-152.75C258.95,-152.75 245.05,-256.75 324,-256.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-154.75C256.96,-152.49 243.07,-256.49 324,-258.75"/>
</g>
<!-- X5&#45;&#45;W4 -->
<g id="edge31" class="edge">
<title>X5:e&#45;&#45;W4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-127.75C260.41,-130 247.56,-232 324,-229.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M180,-129.75C258.43,-129.75 245.57,-231.75 324,-231.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-131.75C256.44,-129.5 243.59,-231.5 324,-233.75"/>
</g>
<!-- W5 -->
<g id="node11" class="node">
<title>W5</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="513,-185.5 324,-185.5 324,0 513,0 513,-185.5"/>
<polygon fill="none" stroke="black" points="324,-161.75 324,-185.5 513,-185.5 513,-161.75 324,-161.75"/>
<text text-anchor="start" x="408" y="-168.2" font-family="arial" font-size="14.00">W5</text>
<polygon fill="none" stroke="black" points="324,-138 324,-161.75 365.5,-161.75 365.5,-138 324,-138"/>
<text text-anchor="start" x="337.62" y="-144.45" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="365.5,-138 365.5,-161.75 451.25,-161.75 451.25,-138 365.5,-138"/>
<text text-anchor="start" x="379.12" y="-144.45" font-family="arial" font-size="14.00">0.25 mm²</text>
<polygon fill="none" stroke="black" points="451.25,-138 451.25,-161.75 513,-161.75 513,-138 451.25,-138"/>
<text text-anchor="start" x="464.88" y="-144.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="355.12" y="-122.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="325.88" y="-103.7" font-family="arial" font-size="14.00">X5:1:GND</text>
<text text-anchor="start" x="392.62" y="-103.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;PK &#160;&#160;&#160;</text>
<text text-anchor="start" x="448.88" y="-103.7" font-family="arial" font-size="14.00">X6:1:GND</text>
<polygon fill="#000000" stroke="none" points="324,-98 324,-100 513,-100 513,-98 324,-98"/>
<polygon fill="#ff66cc" stroke="none" points="324,-96 324,-98 513,-98 513,-96 324,-96"/>
<polygon fill="#000000" stroke="none" points="324,-94 324,-96 513,-96 513,-94 324,-94"/>
<text text-anchor="start" x="327" y="-78.7" font-family="arial" font-size="14.00">X5:2:VCC</text>
<text text-anchor="start" x="391.88" y="-78.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;TQ &#160;&#160;&#160;</text>
<text text-anchor="start" x="450" y="-78.7" font-family="arial" font-size="14.00">X6:2:VCC</text>
<polygon fill="#000000" stroke="none" points="324,-73 324,-75 513,-75 513,-73 324,-73"/>
<polygon fill="#00ffff" stroke="none" points="324,-71 324,-73 513,-73 513,-71 324,-71"/>
<polygon fill="#000000" stroke="none" points="324,-69 324,-71 513,-71 513,-69 324,-69"/>
<text text-anchor="start" x="328.12" y="-53.7" font-family="arial" font-size="14.00">X5:3:SCL</text>
<text text-anchor="start" x="392.62" y="-53.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="451.12" y="-53.7" font-family="arial" font-size="14.00">X6:3:SCL</text>
<polygon fill="#000000" stroke="none" points="324,-48 324,-50 513,-50 513,-48 324,-48"/>
<polygon fill="#ffff00" stroke="none" points="324,-46 324,-48 513,-48 513,-46 324,-46"/>
<polygon fill="#000000" stroke="none" points="324,-44 324,-46 513,-46 513,-44 324,-44"/>
<text text-anchor="start" x="327.38" y="-28.7" font-family="arial" font-size="14.00">X5:4:SDA</text>
<text text-anchor="start" x="393" y="-28.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;VT &#160;&#160;&#160;</text>
<text text-anchor="start" x="450.38" y="-28.7" font-family="arial" font-size="14.00">X6:4:SDA</text>
<polygon fill="#000000" stroke="none" points="324,-23 324,-25 513,-25 513,-23 324,-23"/>
<polygon fill="#8000ff" stroke="none" points="324,-21 324,-23 513,-23 513,-21 324,-21"/>
<polygon fill="#000000" stroke="none" points="324,-19 324,-21 513,-21 513,-19 324,-19"/>
<text text-anchor="start" x="355.12" y="-3.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X5&#45;&#45;W5 -->
<g id="edge33" class="edge">
<title>X5:e&#45;&#45;W5:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-196.75C256.44,-199 243.59,-97 324,-94.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M180,-198.75C258.43,-198.75 245.57,-96.75 324,-96.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-200.75C260.41,-198.5 247.56,-96.5 324,-98.75"/>
</g>
<!-- X5&#45;&#45;W5 -->
<g id="edge35" class="edge">
<title>X5:e&#45;&#45;W5:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-173.75C256.96,-176.01 243.07,-72.01 324,-69.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M180,-175.75C258.95,-175.75 245.05,-71.75 324,-71.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-177.75C260.93,-175.49 247.04,-71.49 324,-73.75"/>
</g>
<!-- X5&#45;&#45;W5 -->
<g id="edge37" class="edge">
<title>X5:e&#45;&#45;W5:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-150.75C257.49,-153.03 242.55,-47.03 324,-44.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M180,-152.75C259.47,-152.75 244.53,-46.75 324,-46.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-154.75C261.45,-152.47 246.51,-46.47 324,-48.75"/>
</g>
<!-- X5&#45;&#45;W5 -->
<g id="edge39" class="edge">
<title>X5:e&#45;&#45;W5:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-127.75C258.02,-130.04 242.02,-22.04 324,-19.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M180,-129.75C260,-129.75 244,-21.75 324,-21.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-131.75C261.98,-129.46 245.98,-21.46 324,-23.75"/>
</g>
<!-- X6 -->
<g id="node6" class="node">
<title>X6</title>
<polygon fill="#ffffff" stroke="black" points="837,-152.5 657,-152.5 657,-13 837,-13 837,-152.5"/>
<polygon fill="none" stroke="black" points="657,-128.75 657,-152.5 837,-152.5 837,-128.75 657,-128.75"/>
<text text-anchor="start" x="738.75" y="-135.2" font-family="arial" font-size="14.00">X6</text>
<polygon fill="none" stroke="black" points="657,-105 657,-128.75 749.75,-128.75 749.75,-105 657,-105"/>
<text text-anchor="start" x="661" y="-111.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="749.75,-105 749.75,-128.75 799,-128.75 799,-105 749.75,-105"/>
<text text-anchor="start" x="753.75" y="-111.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="799,-105 799,-128.75 837,-128.75 837,-105 799,-105"/>
<text text-anchor="start" x="803" y="-111.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="657,-82 657,-105 735.5,-105 735.5,-82 657,-82"/>
<text text-anchor="start" x="692.5" y="-87.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="735.5,-82 735.5,-105 837,-105 837,-82 735.5,-82"/>
<text text-anchor="start" x="770.88" y="-87.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="657,-59 657,-82 735.5,-82 735.5,-59 657,-59"/>
<text text-anchor="start" x="692.5" y="-64.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="735.5,-59 735.5,-82 837,-82 837,-59 735.5,-59"/>
<text text-anchor="start" x="772" y="-64.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="657,-36 657,-59 735.5,-59 735.5,-36 657,-36"/>
<text text-anchor="start" x="692.5" y="-41.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="735.5,-36 735.5,-59 837,-59 837,-36 735.5,-36"/>
<text text-anchor="start" x="773.12" y="-41.7" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="657,-13 657,-36 735.5,-36 735.5,-13 657,-13"/>
<text text-anchor="start" x="692.5" y="-18.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="735.5,-13 735.5,-36 837,-36 837,-13 735.5,-13"/>
<text text-anchor="start" x="772.38" y="-18.7" font-family="arial" font-size="14.00">SDA</text>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-934.75C591.02,-937.04 575.02,-829.04 657,-826.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M513,-936.75C593,-936.75 577,-828.75 657,-828.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-938.75C594.98,-936.46 578.98,-828.46 657,-830.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-909.75C590.49,-912.03 575.55,-806.03 657,-803.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M513,-911.75C592.47,-911.75 577.53,-805.75 657,-805.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-913.75C594.45,-911.47 579.51,-805.47 657,-807.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge6" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-884.75C589.96,-887.01 576.07,-783.01 657,-780.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M513,-886.75C591.95,-886.75 578.05,-782.75 657,-782.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-888.75C593.93,-886.49 580.04,-782.49 657,-784.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge8" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-859.75C589.44,-862 576.59,-760 657,-757.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M513,-861.75C591.43,-861.75 578.57,-759.75 657,-759.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-863.75C593.41,-861.5 580.56,-759.5 657,-761.75"/>
</g>
<!-- W2&#45;&#45;X2 -->
<g id="edge10" class="edge">
<title>W2:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-724.75C593.41,-727 580.56,-829 657,-826.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M513,-726.75C591.43,-726.75 578.57,-828.75 657,-828.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-728.75C589.44,-726.5 576.59,-828.5 657,-830.75"/>
</g>
<!-- W2&#45;&#45;X2 -->
<g id="edge12" class="edge">
<title>W2:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-699.75C593.93,-702.01 580.04,-806.01 657,-803.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M513,-701.75C591.95,-701.75 578.05,-805.75 657,-805.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-703.75C589.96,-701.49 576.07,-805.49 657,-807.75"/>
</g>
<!-- W2&#45;&#45;X2 -->
<g id="edge14" class="edge">
<title>W2:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-674.75C594.45,-677.03 579.51,-783.03 657,-780.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M513,-676.75C592.47,-676.75 577.53,-782.75 657,-782.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-678.75C590.49,-676.47 575.55,-782.47 657,-784.75"/>
</g>
<!-- W2&#45;&#45;X2 -->
<g id="edge16" class="edge">
<title>W2:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-649.75C594.98,-652.04 578.98,-760.04 657,-757.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M513,-651.75C593,-651.75 577,-759.75 657,-759.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-653.75C591.02,-651.46 575.02,-759.46 657,-761.75"/>
</g>
<!-- W3&#45;&#45;X4 -->
<g id="edge18" class="edge">
<title>W3:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-514.75C591.02,-517.04 575.02,-409.04 657,-406.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M513,-516.75C593,-516.75 577,-408.75 657,-408.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-518.75C594.98,-516.46 578.98,-408.46 657,-410.75"/>
</g>
<!-- W3&#45;&#45;X4 -->
<g id="edge20" class="edge">
<title>W3:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-489.75C590.49,-492.03 575.55,-386.03 657,-383.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M513,-491.75C592.47,-491.75 577.53,-385.75 657,-385.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-493.75C594.45,-491.47 579.51,-385.47 657,-387.75"/>
</g>
<!-- W3&#45;&#45;X4 -->
<g id="edge22" class="edge">
<title>W3:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-464.75C589.96,-467.01 576.07,-363.01 657,-360.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M513,-466.75C591.95,-466.75 578.05,-362.75 657,-362.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-468.75C593.93,-466.49 580.04,-362.49 657,-364.75"/>
</g>
<!-- W3&#45;&#45;X4 -->
<g id="edge24" class="edge">
<title>W3:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-439.75C589.44,-442 576.59,-340 657,-337.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M513,-441.75C591.43,-441.75 578.57,-339.75 657,-339.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-443.75C593.41,-441.5 580.56,-339.5 657,-341.75"/>
</g>
<!-- W4&#45;&#45;X4 -->
<g id="edge26" class="edge">
<title>W4:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-304.75C593.41,-307 580.56,-409 657,-406.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M513,-306.75C591.43,-306.75 578.57,-408.75 657,-408.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-308.75C589.44,-306.5 576.59,-408.5 657,-410.75"/>
</g>
<!-- W4&#45;&#45;X4 -->
<g id="edge28" class="edge">
<title>W4:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-279.75C593.93,-282.01 580.04,-386.01 657,-383.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M513,-281.75C591.95,-281.75 578.05,-385.75 657,-385.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-283.75C589.96,-281.49 576.07,-385.49 657,-387.75"/>
</g>
<!-- W4&#45;&#45;X4 -->
<g id="edge30" class="edge">
<title>W4:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-254.75C594.45,-257.03 579.51,-363.03 657,-360.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M513,-256.75C592.47,-256.75 577.53,-362.75 657,-362.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-258.75C590.49,-256.47 575.55,-362.47 657,-364.75"/>
</g>
<!-- W4&#45;&#45;X4 -->
<g id="edge32" class="edge">
<title>W4:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-229.75C594.98,-232.04 578.98,-340.04 657,-337.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M513,-231.75C593,-231.75 577,-339.75 657,-339.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-233.75C591.02,-231.46 575.02,-339.46 657,-341.75"/>
</g>
<!-- W5&#45;&#45;X6 -->
<g id="edge34" class="edge">
<title>W5:e&#45;&#45;X6:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-94.75C576.64,-94.78 592.62,-91.78 657,-91.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M513,-96.75C577.01,-96.75 592.99,-93.75 657,-93.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-98.75C577.38,-98.72 593.36,-95.72 657,-95.75"/>
</g>
<!-- W5&#45;&#45;X6 -->
<g id="edge36" class="edge">
<title>W5:e&#45;&#45;X6:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-69.75C576.88,-69.75 592.87,-68.75 657,-68.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M513,-71.75C577,-71.75 593,-70.75 657,-70.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-73.75C577.13,-73.75 593.12,-72.75 657,-72.75"/>
</g>
<!-- W5&#45;&#45;X6 -->
<g id="edge38" class="edge">
<title>W5:e&#45;&#45;X6:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-44.75C577.13,-44.75 593.12,-45.75 657,-45.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M513,-46.75C577,-46.75 593,-47.75 657,-47.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-48.75C576.88,-48.75 592.87,-49.75 657,-49.75"/>
</g>
<!-- W5&#45;&#45;X6 -->
<g id="edge40" class="edge">
<title>W5:e&#45;&#45;X6:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-19.75C577.38,-19.78 593.36,-22.78 657,-22.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M513,-21.75C577.01,-21.75 592.99,-24.75 657,-24.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-23.75C576.64,-23.72 592.62,-26.72 657,-26.75"/>
</g>
</g>
</svg>
</div>
<div id="notes">
<!-- %notes% -->
</div>
<h2>Bill of Materials</h2>
<div id="bom">
<table class="bom">
<tr>
<th class="bom_col_id">Id</th>
<th class="bom_col_description">Description</th>
<th class="bom_col_qty">Qty</th>
<th class="bom_col_unit">Unit</th>
<th class="bom_col_designators">Designators</th>
</tr>
<tr>
<td class="bom_col_id">1</td>
<td class="bom_col_description">Connector, Molex KK 254, female, 4 pins</td>
<td class="bom_col_qty">6</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X1, X2, X3, X4, X5, X6</td>
</tr>
<tr>
<td class="bom_col_id">2</td>
<td class="bom_col_description">Wire, 0.25 mm², PK</td>
<td class="bom_col_qty">1</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1, W2, W3, W4, W5</td>
</tr>
<tr>
<td class="bom_col_id">3</td>
<td class="bom_col_description">Wire, 0.25 mm², TQ</td>
<td class="bom_col_qty">1</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1, W2, W3, W4, W5</td>
</tr>
<tr>
<td class="bom_col_id">4</td>
<td class="bom_col_description">Wire, 0.25 mm², VT</td>
<td class="bom_col_qty">1</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1, W2, W3, W4, W5</td>
</tr>
<tr>
<td class="bom_col_id">5</td>
<td class="bom_col_description">Wire, 0.25 mm², YE</td>
<td class="bom_col_qty">1</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1, W2, W3, W4, W5</td>
</tr>
</table>
</div>
</body></html>

BIN
examples/ex06.png generated Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 KiB

661
examples/ex06.svg generated Normal file
View File

@ -0,0 +1,661 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="845pt" height="1034pt"
viewBox="0.00 0.00 845.00 1033.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1029.5)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-1029.5 841,-1029.5 841,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="180,-992.5 0,-992.5 0,-853 180,-853 180,-992.5"/>
<polygon fill="none" stroke="black" points="0,-968.75 0,-992.5 180,-992.5 180,-968.75 0,-968.75"/>
<text text-anchor="start" x="81.75" y="-975.2" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-945 0,-968.75 92.75,-968.75 92.75,-945 0,-945"/>
<text text-anchor="start" x="4" y="-951.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="92.75,-945 92.75,-968.75 142,-968.75 142,-945 92.75,-945"/>
<text text-anchor="start" x="96.75" y="-951.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="142,-945 142,-968.75 180,-968.75 180,-945 142,-945"/>
<text text-anchor="start" x="146" y="-951.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-922 0,-945 101.5,-945 101.5,-922 0,-922"/>
<text text-anchor="start" x="35.38" y="-927.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="101.5,-922 101.5,-945 180,-945 180,-922 101.5,-922"/>
<text text-anchor="start" x="137" y="-927.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-899 0,-922 101.5,-922 101.5,-899 0,-899"/>
<text text-anchor="start" x="36.5" y="-904.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="101.5,-899 101.5,-922 180,-922 180,-899 101.5,-899"/>
<text text-anchor="start" x="137" y="-904.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="0,-876 0,-899 101.5,-899 101.5,-876 0,-876"/>
<text text-anchor="start" x="37.62" y="-881.7" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="101.5,-876 101.5,-899 180,-899 180,-876 101.5,-876"/>
<text text-anchor="start" x="137" y="-881.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="0,-853 0,-876 101.5,-876 101.5,-853 0,-853"/>
<text text-anchor="start" x="36.88" y="-858.7" font-family="arial" font-size="14.00">SDA</text>
<polygon fill="none" stroke="black" points="101.5,-853 101.5,-876 180,-876 180,-853 101.5,-853"/>
<text text-anchor="start" x="137" y="-858.7" font-family="arial" font-size="14.00">4</text>
</g>
<!-- W1 -->
<g id="node7" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="513,-1025.5 324,-1025.5 324,-840 513,-840 513,-1025.5"/>
<polygon fill="none" stroke="black" points="324,-1001.75 324,-1025.5 513,-1025.5 513,-1001.75 324,-1001.75"/>
<text text-anchor="start" x="408" y="-1008.2" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="324,-978 324,-1001.75 365.5,-1001.75 365.5,-978 324,-978"/>
<text text-anchor="start" x="337.62" y="-984.45" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="365.5,-978 365.5,-1001.75 451.25,-1001.75 451.25,-978 365.5,-978"/>
<text text-anchor="start" x="379.12" y="-984.45" font-family="arial" font-size="14.00">0.25 mm²</text>
<polygon fill="none" stroke="black" points="451.25,-978 451.25,-1001.75 513,-1001.75 513,-978 451.25,-978"/>
<text text-anchor="start" x="464.88" y="-984.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="355.12" y="-962.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="325.88" y="-943.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="392.62" y="-943.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;PK &#160;&#160;&#160;</text>
<text text-anchor="start" x="448.88" y="-943.7" font-family="arial" font-size="14.00">X2:1:GND</text>
<polygon fill="#000000" stroke="none" points="324,-938 324,-940 513,-940 513,-938 324,-938"/>
<polygon fill="#ff66cc" stroke="none" points="324,-936 324,-938 513,-938 513,-936 324,-936"/>
<polygon fill="#000000" stroke="none" points="324,-934 324,-936 513,-936 513,-934 324,-934"/>
<text text-anchor="start" x="327" y="-918.7" font-family="arial" font-size="14.00">X1:2:VCC</text>
<text text-anchor="start" x="391.88" y="-918.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;TQ &#160;&#160;&#160;</text>
<text text-anchor="start" x="450" y="-918.7" font-family="arial" font-size="14.00">X2:2:VCC</text>
<polygon fill="#000000" stroke="none" points="324,-913 324,-915 513,-915 513,-913 324,-913"/>
<polygon fill="#00ffff" stroke="none" points="324,-911 324,-913 513,-913 513,-911 324,-911"/>
<polygon fill="#000000" stroke="none" points="324,-909 324,-911 513,-911 513,-909 324,-909"/>
<text text-anchor="start" x="328.12" y="-893.7" font-family="arial" font-size="14.00">X1:3:SCL</text>
<text text-anchor="start" x="392.62" y="-893.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="451.12" y="-893.7" font-family="arial" font-size="14.00">X2:3:SCL</text>
<polygon fill="#000000" stroke="none" points="324,-888 324,-890 513,-890 513,-888 324,-888"/>
<polygon fill="#ffff00" stroke="none" points="324,-886 324,-888 513,-888 513,-886 324,-886"/>
<polygon fill="#000000" stroke="none" points="324,-884 324,-886 513,-886 513,-884 324,-884"/>
<text text-anchor="start" x="327.38" y="-868.7" font-family="arial" font-size="14.00">X1:4:SDA</text>
<text text-anchor="start" x="393" y="-868.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;VT &#160;&#160;&#160;</text>
<text text-anchor="start" x="450.38" y="-868.7" font-family="arial" font-size="14.00">X2:4:SDA</text>
<polygon fill="#000000" stroke="none" points="324,-863 324,-865 513,-865 513,-863 324,-863"/>
<polygon fill="#8000ff" stroke="none" points="324,-861 324,-863 513,-863 513,-861 324,-861"/>
<polygon fill="#000000" stroke="none" points="324,-859 324,-861 513,-861 513,-859 324,-859"/>
<text text-anchor="start" x="355.12" y="-843.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge1" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-931.75C244.38,-931.78 260.36,-934.78 324,-934.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M180,-933.75C244.01,-933.75 259.99,-936.75 324,-936.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-935.75C243.64,-935.72 259.62,-938.72 324,-938.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge3" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-908.75C244.13,-908.75 260.12,-909.75 324,-909.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M180,-910.75C244,-910.75 260,-911.75 324,-911.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-912.75C243.88,-912.75 259.87,-913.75 324,-913.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge5" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-885.75C243.88,-885.75 259.87,-884.75 324,-884.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M180,-887.75C244,-887.75 260,-886.75 324,-886.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-889.75C244.13,-889.75 260.12,-888.75 324,-888.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge7" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-862.75C243.64,-862.78 259.62,-859.78 324,-859.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M180,-864.75C244.01,-864.75 259.99,-861.75 324,-861.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-866.75C244.38,-866.72 260.36,-863.72 324,-863.75"/>
</g>
<!-- X2 -->
<g id="node2" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="837,-887.5 657,-887.5 657,-748 837,-748 837,-887.5"/>
<polygon fill="none" stroke="black" points="657,-863.75 657,-887.5 837,-887.5 837,-863.75 657,-863.75"/>
<text text-anchor="start" x="738.75" y="-870.2" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="657,-840 657,-863.75 749.75,-863.75 749.75,-840 657,-840"/>
<text text-anchor="start" x="661" y="-846.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="749.75,-840 749.75,-863.75 799,-863.75 799,-840 749.75,-840"/>
<text text-anchor="start" x="753.75" y="-846.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="799,-840 799,-863.75 837,-863.75 837,-840 799,-840"/>
<text text-anchor="start" x="803" y="-846.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="657,-817 657,-840 735.5,-840 735.5,-817 657,-817"/>
<text text-anchor="start" x="692.5" y="-822.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="735.5,-817 735.5,-840 837,-840 837,-817 735.5,-817"/>
<text text-anchor="start" x="770.88" y="-822.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="657,-794 657,-817 735.5,-817 735.5,-794 657,-794"/>
<text text-anchor="start" x="692.5" y="-799.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="735.5,-794 735.5,-817 837,-817 837,-794 735.5,-794"/>
<text text-anchor="start" x="772" y="-799.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="657,-771 657,-794 735.5,-794 735.5,-771 657,-771"/>
<text text-anchor="start" x="692.5" y="-776.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="735.5,-771 735.5,-794 837,-794 837,-771 735.5,-771"/>
<text text-anchor="start" x="773.12" y="-776.7" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="657,-748 657,-771 735.5,-771 735.5,-748 657,-748"/>
<text text-anchor="start" x="692.5" y="-753.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="735.5,-748 735.5,-771 837,-771 837,-748 735.5,-748"/>
<text text-anchor="start" x="772.38" y="-753.7" font-family="arial" font-size="14.00">SDA</text>
</g>
<!-- X3 -->
<g id="node3" class="node">
<title>X3</title>
<polygon fill="#ffffff" stroke="black" points="180,-677.5 0,-677.5 0,-538 180,-538 180,-677.5"/>
<polygon fill="none" stroke="black" points="0,-653.75 0,-677.5 180,-677.5 180,-653.75 0,-653.75"/>
<text text-anchor="start" x="81.75" y="-660.2" font-family="arial" font-size="14.00">X3</text>
<polygon fill="none" stroke="black" points="0,-630 0,-653.75 92.75,-653.75 92.75,-630 0,-630"/>
<text text-anchor="start" x="4" y="-636.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="92.75,-630 92.75,-653.75 142,-653.75 142,-630 92.75,-630"/>
<text text-anchor="start" x="96.75" y="-636.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="142,-630 142,-653.75 180,-653.75 180,-630 142,-630"/>
<text text-anchor="start" x="146" y="-636.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-607 0,-630 101.5,-630 101.5,-607 0,-607"/>
<text text-anchor="start" x="35.38" y="-612.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="101.5,-607 101.5,-630 180,-630 180,-607 101.5,-607"/>
<text text-anchor="start" x="137" y="-612.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-584 0,-607 101.5,-607 101.5,-584 0,-584"/>
<text text-anchor="start" x="36.5" y="-589.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="101.5,-584 101.5,-607 180,-607 180,-584 101.5,-584"/>
<text text-anchor="start" x="137" y="-589.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="0,-561 0,-584 101.5,-584 101.5,-561 0,-561"/>
<text text-anchor="start" x="37.62" y="-566.7" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="101.5,-561 101.5,-584 180,-584 180,-561 101.5,-561"/>
<text text-anchor="start" x="137" y="-566.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="0,-538 0,-561 101.5,-561 101.5,-538 0,-538"/>
<text text-anchor="start" x="36.88" y="-543.7" font-family="arial" font-size="14.00">SDA</text>
<polygon fill="none" stroke="black" points="101.5,-538 101.5,-561 180,-561 180,-538 101.5,-538"/>
<text text-anchor="start" x="137" y="-543.7" font-family="arial" font-size="14.00">4</text>
</g>
<!-- W2 -->
<g id="node8" class="node">
<title>W2</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="513,-815.5 324,-815.5 324,-630 513,-630 513,-815.5"/>
<polygon fill="none" stroke="black" points="324,-791.75 324,-815.5 513,-815.5 513,-791.75 324,-791.75"/>
<text text-anchor="start" x="408" y="-798.2" font-family="arial" font-size="14.00">W2</text>
<polygon fill="none" stroke="black" points="324,-768 324,-791.75 365.5,-791.75 365.5,-768 324,-768"/>
<text text-anchor="start" x="337.62" y="-774.45" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="365.5,-768 365.5,-791.75 451.25,-791.75 451.25,-768 365.5,-768"/>
<text text-anchor="start" x="379.12" y="-774.45" font-family="arial" font-size="14.00">0.25 mm²</text>
<polygon fill="none" stroke="black" points="451.25,-768 451.25,-791.75 513,-791.75 513,-768 451.25,-768"/>
<text text-anchor="start" x="464.88" y="-774.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="355.12" y="-752.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="325.88" y="-733.7" font-family="arial" font-size="14.00">X3:1:GND</text>
<text text-anchor="start" x="392.62" y="-733.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;PK &#160;&#160;&#160;</text>
<text text-anchor="start" x="448.88" y="-733.7" font-family="arial" font-size="14.00">X2:1:GND</text>
<polygon fill="#000000" stroke="none" points="324,-728 324,-730 513,-730 513,-728 324,-728"/>
<polygon fill="#ff66cc" stroke="none" points="324,-726 324,-728 513,-728 513,-726 324,-726"/>
<polygon fill="#000000" stroke="none" points="324,-724 324,-726 513,-726 513,-724 324,-724"/>
<text text-anchor="start" x="327" y="-708.7" font-family="arial" font-size="14.00">X3:2:VCC</text>
<text text-anchor="start" x="391.88" y="-708.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;TQ &#160;&#160;&#160;</text>
<text text-anchor="start" x="450" y="-708.7" font-family="arial" font-size="14.00">X2:2:VCC</text>
<polygon fill="#000000" stroke="none" points="324,-703 324,-705 513,-705 513,-703 324,-703"/>
<polygon fill="#00ffff" stroke="none" points="324,-701 324,-703 513,-703 513,-701 324,-701"/>
<polygon fill="#000000" stroke="none" points="324,-699 324,-701 513,-701 513,-699 324,-699"/>
<text text-anchor="start" x="328.12" y="-683.7" font-family="arial" font-size="14.00">X3:3:SCL</text>
<text text-anchor="start" x="392.62" y="-683.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="451.12" y="-683.7" font-family="arial" font-size="14.00">X2:3:SCL</text>
<polygon fill="#000000" stroke="none" points="324,-678 324,-680 513,-680 513,-678 324,-678"/>
<polygon fill="#ffff00" stroke="none" points="324,-676 324,-678 513,-678 513,-676 324,-676"/>
<polygon fill="#000000" stroke="none" points="324,-674 324,-676 513,-676 513,-674 324,-674"/>
<text text-anchor="start" x="327.38" y="-658.7" font-family="arial" font-size="14.00">X3:4:SDA</text>
<text text-anchor="start" x="393" y="-658.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;VT &#160;&#160;&#160;</text>
<text text-anchor="start" x="450.38" y="-658.7" font-family="arial" font-size="14.00">X2:4:SDA</text>
<polygon fill="#000000" stroke="none" points="324,-653 324,-655 513,-655 513,-653 324,-653"/>
<polygon fill="#8000ff" stroke="none" points="324,-651 324,-653 513,-653 513,-651 324,-651"/>
<polygon fill="#000000" stroke="none" points="324,-649 324,-651 513,-651 513,-649 324,-649"/>
<text text-anchor="start" x="355.12" y="-633.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X3&#45;&#45;W2 -->
<g id="edge9" class="edge">
<title>X3:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-616.75C261.98,-619.04 245.98,-727.04 324,-724.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M180,-618.75C260,-618.75 244,-726.75 324,-726.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-620.75C258.02,-618.46 242.02,-726.46 324,-728.75"/>
</g>
<!-- X3&#45;&#45;W2 -->
<g id="edge11" class="edge">
<title>X3:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-593.75C261.45,-596.03 246.51,-702.03 324,-699.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M180,-595.75C259.47,-595.75 244.53,-701.75 324,-701.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-597.75C257.49,-595.47 242.55,-701.47 324,-703.75"/>
</g>
<!-- X3&#45;&#45;W2 -->
<g id="edge13" class="edge">
<title>X3:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-570.75C260.93,-573.01 247.04,-677.01 324,-674.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M180,-572.75C258.95,-572.75 245.05,-676.75 324,-676.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-574.75C256.96,-572.49 243.07,-676.49 324,-678.75"/>
</g>
<!-- X3&#45;&#45;W2 -->
<g id="edge15" class="edge">
<title>X3:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-547.75C260.41,-550 247.56,-652 324,-649.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M180,-549.75C258.43,-549.75 245.57,-651.75 324,-651.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-551.75C256.44,-549.5 243.59,-651.5 324,-653.75"/>
</g>
<!-- W3 -->
<g id="node9" class="node">
<title>W3</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="513,-605.5 324,-605.5 324,-420 513,-420 513,-605.5"/>
<polygon fill="none" stroke="black" points="324,-581.75 324,-605.5 513,-605.5 513,-581.75 324,-581.75"/>
<text text-anchor="start" x="408" y="-588.2" font-family="arial" font-size="14.00">W3</text>
<polygon fill="none" stroke="black" points="324,-558 324,-581.75 365.5,-581.75 365.5,-558 324,-558"/>
<text text-anchor="start" x="337.62" y="-564.45" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="365.5,-558 365.5,-581.75 451.25,-581.75 451.25,-558 365.5,-558"/>
<text text-anchor="start" x="379.12" y="-564.45" font-family="arial" font-size="14.00">0.25 mm²</text>
<polygon fill="none" stroke="black" points="451.25,-558 451.25,-581.75 513,-581.75 513,-558 451.25,-558"/>
<text text-anchor="start" x="464.88" y="-564.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="355.12" y="-542.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="325.88" y="-523.7" font-family="arial" font-size="14.00">X3:1:GND</text>
<text text-anchor="start" x="392.62" y="-523.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;PK &#160;&#160;&#160;</text>
<text text-anchor="start" x="448.88" y="-523.7" font-family="arial" font-size="14.00">X4:1:GND</text>
<polygon fill="#000000" stroke="none" points="324,-518 324,-520 513,-520 513,-518 324,-518"/>
<polygon fill="#ff66cc" stroke="none" points="324,-516 324,-518 513,-518 513,-516 324,-516"/>
<polygon fill="#000000" stroke="none" points="324,-514 324,-516 513,-516 513,-514 324,-514"/>
<text text-anchor="start" x="327" y="-498.7" font-family="arial" font-size="14.00">X3:2:VCC</text>
<text text-anchor="start" x="391.88" y="-498.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;TQ &#160;&#160;&#160;</text>
<text text-anchor="start" x="450" y="-498.7" font-family="arial" font-size="14.00">X4:2:VCC</text>
<polygon fill="#000000" stroke="none" points="324,-493 324,-495 513,-495 513,-493 324,-493"/>
<polygon fill="#00ffff" stroke="none" points="324,-491 324,-493 513,-493 513,-491 324,-491"/>
<polygon fill="#000000" stroke="none" points="324,-489 324,-491 513,-491 513,-489 324,-489"/>
<text text-anchor="start" x="328.12" y="-473.7" font-family="arial" font-size="14.00">X3:3:SCL</text>
<text text-anchor="start" x="392.62" y="-473.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="451.12" y="-473.7" font-family="arial" font-size="14.00">X4:3:SCL</text>
<polygon fill="#000000" stroke="none" points="324,-468 324,-470 513,-470 513,-468 324,-468"/>
<polygon fill="#ffff00" stroke="none" points="324,-466 324,-468 513,-468 513,-466 324,-466"/>
<polygon fill="#000000" stroke="none" points="324,-464 324,-466 513,-466 513,-464 324,-464"/>
<text text-anchor="start" x="327.38" y="-448.7" font-family="arial" font-size="14.00">X3:4:SDA</text>
<text text-anchor="start" x="393" y="-448.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;VT &#160;&#160;&#160;</text>
<text text-anchor="start" x="450.38" y="-448.7" font-family="arial" font-size="14.00">X4:4:SDA</text>
<polygon fill="#000000" stroke="none" points="324,-443 324,-445 513,-445 513,-443 324,-443"/>
<polygon fill="#8000ff" stroke="none" points="324,-441 324,-443 513,-443 513,-441 324,-441"/>
<polygon fill="#000000" stroke="none" points="324,-439 324,-441 513,-441 513,-439 324,-439"/>
<text text-anchor="start" x="355.12" y="-423.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X3&#45;&#45;W3 -->
<g id="edge17" class="edge">
<title>X3:e&#45;&#45;W3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-616.75C256.44,-619 243.59,-517 324,-514.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M180,-618.75C258.43,-618.75 245.57,-516.75 324,-516.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-620.75C260.41,-618.5 247.56,-516.5 324,-518.75"/>
</g>
<!-- X3&#45;&#45;W3 -->
<g id="edge19" class="edge">
<title>X3:e&#45;&#45;W3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-593.75C256.96,-596.01 243.07,-492.01 324,-489.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M180,-595.75C258.95,-595.75 245.05,-491.75 324,-491.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-597.75C260.93,-595.49 247.04,-491.49 324,-493.75"/>
</g>
<!-- X3&#45;&#45;W3 -->
<g id="edge21" class="edge">
<title>X3:e&#45;&#45;W3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-570.75C257.49,-573.03 242.55,-467.03 324,-464.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M180,-572.75C259.47,-572.75 244.53,-466.75 324,-466.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-574.75C261.45,-572.47 246.51,-466.47 324,-468.75"/>
</g>
<!-- X3&#45;&#45;W3 -->
<g id="edge23" class="edge">
<title>X3:e&#45;&#45;W3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-547.75C258.02,-550.04 242.02,-442.04 324,-439.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M180,-549.75C260,-549.75 244,-441.75 324,-441.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-551.75C261.98,-549.46 245.98,-441.46 324,-443.75"/>
</g>
<!-- X4 -->
<g id="node4" class="node">
<title>X4</title>
<polygon fill="#ffffff" stroke="black" points="837,-467.5 657,-467.5 657,-328 837,-328 837,-467.5"/>
<polygon fill="none" stroke="black" points="657,-443.75 657,-467.5 837,-467.5 837,-443.75 657,-443.75"/>
<text text-anchor="start" x="738.75" y="-450.2" font-family="arial" font-size="14.00">X4</text>
<polygon fill="none" stroke="black" points="657,-420 657,-443.75 749.75,-443.75 749.75,-420 657,-420"/>
<text text-anchor="start" x="661" y="-426.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="749.75,-420 749.75,-443.75 799,-443.75 799,-420 749.75,-420"/>
<text text-anchor="start" x="753.75" y="-426.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="799,-420 799,-443.75 837,-443.75 837,-420 799,-420"/>
<text text-anchor="start" x="803" y="-426.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="657,-397 657,-420 735.5,-420 735.5,-397 657,-397"/>
<text text-anchor="start" x="692.5" y="-402.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="735.5,-397 735.5,-420 837,-420 837,-397 735.5,-397"/>
<text text-anchor="start" x="770.88" y="-402.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="657,-374 657,-397 735.5,-397 735.5,-374 657,-374"/>
<text text-anchor="start" x="692.5" y="-379.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="735.5,-374 735.5,-397 837,-397 837,-374 735.5,-374"/>
<text text-anchor="start" x="772" y="-379.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="657,-351 657,-374 735.5,-374 735.5,-351 657,-351"/>
<text text-anchor="start" x="692.5" y="-356.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="735.5,-351 735.5,-374 837,-374 837,-351 735.5,-351"/>
<text text-anchor="start" x="773.12" y="-356.7" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="657,-328 657,-351 735.5,-351 735.5,-328 657,-328"/>
<text text-anchor="start" x="692.5" y="-333.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="735.5,-328 735.5,-351 837,-351 837,-328 735.5,-328"/>
<text text-anchor="start" x="772.38" y="-333.7" font-family="arial" font-size="14.00">SDA</text>
</g>
<!-- X5 -->
<g id="node5" class="node">
<title>X5</title>
<polygon fill="#ffffff" stroke="black" points="180,-257.5 0,-257.5 0,-118 180,-118 180,-257.5"/>
<polygon fill="none" stroke="black" points="0,-233.75 0,-257.5 180,-257.5 180,-233.75 0,-233.75"/>
<text text-anchor="start" x="81.75" y="-240.2" font-family="arial" font-size="14.00">X5</text>
<polygon fill="none" stroke="black" points="0,-210 0,-233.75 92.75,-233.75 92.75,-210 0,-210"/>
<text text-anchor="start" x="4" y="-216.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="92.75,-210 92.75,-233.75 142,-233.75 142,-210 92.75,-210"/>
<text text-anchor="start" x="96.75" y="-216.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="142,-210 142,-233.75 180,-233.75 180,-210 142,-210"/>
<text text-anchor="start" x="146" y="-216.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-187 0,-210 101.5,-210 101.5,-187 0,-187"/>
<text text-anchor="start" x="35.38" y="-192.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="101.5,-187 101.5,-210 180,-210 180,-187 101.5,-187"/>
<text text-anchor="start" x="137" y="-192.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-164 0,-187 101.5,-187 101.5,-164 0,-164"/>
<text text-anchor="start" x="36.5" y="-169.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="101.5,-164 101.5,-187 180,-187 180,-164 101.5,-164"/>
<text text-anchor="start" x="137" y="-169.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="0,-141 0,-164 101.5,-164 101.5,-141 0,-141"/>
<text text-anchor="start" x="37.62" y="-146.7" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="101.5,-141 101.5,-164 180,-164 180,-141 101.5,-141"/>
<text text-anchor="start" x="137" y="-146.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="0,-118 0,-141 101.5,-141 101.5,-118 0,-118"/>
<text text-anchor="start" x="36.88" y="-123.7" font-family="arial" font-size="14.00">SDA</text>
<polygon fill="none" stroke="black" points="101.5,-118 101.5,-141 180,-141 180,-118 101.5,-118"/>
<text text-anchor="start" x="137" y="-123.7" font-family="arial" font-size="14.00">4</text>
</g>
<!-- W4 -->
<g id="node10" class="node">
<title>W4</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="513,-395.5 324,-395.5 324,-210 513,-210 513,-395.5"/>
<polygon fill="none" stroke="black" points="324,-371.75 324,-395.5 513,-395.5 513,-371.75 324,-371.75"/>
<text text-anchor="start" x="408" y="-378.2" font-family="arial" font-size="14.00">W4</text>
<polygon fill="none" stroke="black" points="324,-348 324,-371.75 365.5,-371.75 365.5,-348 324,-348"/>
<text text-anchor="start" x="337.62" y="-354.45" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="365.5,-348 365.5,-371.75 451.25,-371.75 451.25,-348 365.5,-348"/>
<text text-anchor="start" x="379.12" y="-354.45" font-family="arial" font-size="14.00">0.25 mm²</text>
<polygon fill="none" stroke="black" points="451.25,-348 451.25,-371.75 513,-371.75 513,-348 451.25,-348"/>
<text text-anchor="start" x="464.88" y="-354.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="355.12" y="-332.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="325.88" y="-313.7" font-family="arial" font-size="14.00">X5:1:GND</text>
<text text-anchor="start" x="392.62" y="-313.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;PK &#160;&#160;&#160;</text>
<text text-anchor="start" x="448.88" y="-313.7" font-family="arial" font-size="14.00">X4:1:GND</text>
<polygon fill="#000000" stroke="none" points="324,-308 324,-310 513,-310 513,-308 324,-308"/>
<polygon fill="#ff66cc" stroke="none" points="324,-306 324,-308 513,-308 513,-306 324,-306"/>
<polygon fill="#000000" stroke="none" points="324,-304 324,-306 513,-306 513,-304 324,-304"/>
<text text-anchor="start" x="327" y="-288.7" font-family="arial" font-size="14.00">X5:2:VCC</text>
<text text-anchor="start" x="391.88" y="-288.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;TQ &#160;&#160;&#160;</text>
<text text-anchor="start" x="450" y="-288.7" font-family="arial" font-size="14.00">X4:2:VCC</text>
<polygon fill="#000000" stroke="none" points="324,-283 324,-285 513,-285 513,-283 324,-283"/>
<polygon fill="#00ffff" stroke="none" points="324,-281 324,-283 513,-283 513,-281 324,-281"/>
<polygon fill="#000000" stroke="none" points="324,-279 324,-281 513,-281 513,-279 324,-279"/>
<text text-anchor="start" x="328.12" y="-263.7" font-family="arial" font-size="14.00">X5:3:SCL</text>
<text text-anchor="start" x="392.62" y="-263.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="451.12" y="-263.7" font-family="arial" font-size="14.00">X4:3:SCL</text>
<polygon fill="#000000" stroke="none" points="324,-258 324,-260 513,-260 513,-258 324,-258"/>
<polygon fill="#ffff00" stroke="none" points="324,-256 324,-258 513,-258 513,-256 324,-256"/>
<polygon fill="#000000" stroke="none" points="324,-254 324,-256 513,-256 513,-254 324,-254"/>
<text text-anchor="start" x="327.38" y="-238.7" font-family="arial" font-size="14.00">X5:4:SDA</text>
<text text-anchor="start" x="393" y="-238.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;VT &#160;&#160;&#160;</text>
<text text-anchor="start" x="450.38" y="-238.7" font-family="arial" font-size="14.00">X4:4:SDA</text>
<polygon fill="#000000" stroke="none" points="324,-233 324,-235 513,-235 513,-233 324,-233"/>
<polygon fill="#8000ff" stroke="none" points="324,-231 324,-233 513,-233 513,-231 324,-231"/>
<polygon fill="#000000" stroke="none" points="324,-229 324,-231 513,-231 513,-229 324,-229"/>
<text text-anchor="start" x="355.12" y="-213.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X5&#45;&#45;W4 -->
<g id="edge25" class="edge">
<title>X5:e&#45;&#45;W4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-196.75C261.98,-199.04 245.98,-307.04 324,-304.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M180,-198.75C260,-198.75 244,-306.75 324,-306.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-200.75C258.02,-198.46 242.02,-306.46 324,-308.75"/>
</g>
<!-- X5&#45;&#45;W4 -->
<g id="edge27" class="edge">
<title>X5:e&#45;&#45;W4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-173.75C261.45,-176.03 246.51,-282.03 324,-279.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M180,-175.75C259.47,-175.75 244.53,-281.75 324,-281.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-177.75C257.49,-175.47 242.55,-281.47 324,-283.75"/>
</g>
<!-- X5&#45;&#45;W4 -->
<g id="edge29" class="edge">
<title>X5:e&#45;&#45;W4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-150.75C260.93,-153.01 247.04,-257.01 324,-254.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M180,-152.75C258.95,-152.75 245.05,-256.75 324,-256.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-154.75C256.96,-152.49 243.07,-256.49 324,-258.75"/>
</g>
<!-- X5&#45;&#45;W4 -->
<g id="edge31" class="edge">
<title>X5:e&#45;&#45;W4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-127.75C260.41,-130 247.56,-232 324,-229.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M180,-129.75C258.43,-129.75 245.57,-231.75 324,-231.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-131.75C256.44,-129.5 243.59,-231.5 324,-233.75"/>
</g>
<!-- W5 -->
<g id="node11" class="node">
<title>W5</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="513,-185.5 324,-185.5 324,0 513,0 513,-185.5"/>
<polygon fill="none" stroke="black" points="324,-161.75 324,-185.5 513,-185.5 513,-161.75 324,-161.75"/>
<text text-anchor="start" x="408" y="-168.2" font-family="arial" font-size="14.00">W5</text>
<polygon fill="none" stroke="black" points="324,-138 324,-161.75 365.5,-161.75 365.5,-138 324,-138"/>
<text text-anchor="start" x="337.62" y="-144.45" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="365.5,-138 365.5,-161.75 451.25,-161.75 451.25,-138 365.5,-138"/>
<text text-anchor="start" x="379.12" y="-144.45" font-family="arial" font-size="14.00">0.25 mm²</text>
<polygon fill="none" stroke="black" points="451.25,-138 451.25,-161.75 513,-161.75 513,-138 451.25,-138"/>
<text text-anchor="start" x="464.88" y="-144.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="355.12" y="-122.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="325.88" y="-103.7" font-family="arial" font-size="14.00">X5:1:GND</text>
<text text-anchor="start" x="392.62" y="-103.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;PK &#160;&#160;&#160;</text>
<text text-anchor="start" x="448.88" y="-103.7" font-family="arial" font-size="14.00">X6:1:GND</text>
<polygon fill="#000000" stroke="none" points="324,-98 324,-100 513,-100 513,-98 324,-98"/>
<polygon fill="#ff66cc" stroke="none" points="324,-96 324,-98 513,-98 513,-96 324,-96"/>
<polygon fill="#000000" stroke="none" points="324,-94 324,-96 513,-96 513,-94 324,-94"/>
<text text-anchor="start" x="327" y="-78.7" font-family="arial" font-size="14.00">X5:2:VCC</text>
<text text-anchor="start" x="391.88" y="-78.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;TQ &#160;&#160;&#160;</text>
<text text-anchor="start" x="450" y="-78.7" font-family="arial" font-size="14.00">X6:2:VCC</text>
<polygon fill="#000000" stroke="none" points="324,-73 324,-75 513,-75 513,-73 324,-73"/>
<polygon fill="#00ffff" stroke="none" points="324,-71 324,-73 513,-73 513,-71 324,-71"/>
<polygon fill="#000000" stroke="none" points="324,-69 324,-71 513,-71 513,-69 324,-69"/>
<text text-anchor="start" x="328.12" y="-53.7" font-family="arial" font-size="14.00">X5:3:SCL</text>
<text text-anchor="start" x="392.62" y="-53.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="451.12" y="-53.7" font-family="arial" font-size="14.00">X6:3:SCL</text>
<polygon fill="#000000" stroke="none" points="324,-48 324,-50 513,-50 513,-48 324,-48"/>
<polygon fill="#ffff00" stroke="none" points="324,-46 324,-48 513,-48 513,-46 324,-46"/>
<polygon fill="#000000" stroke="none" points="324,-44 324,-46 513,-46 513,-44 324,-44"/>
<text text-anchor="start" x="327.38" y="-28.7" font-family="arial" font-size="14.00">X5:4:SDA</text>
<text text-anchor="start" x="393" y="-28.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;VT &#160;&#160;&#160;</text>
<text text-anchor="start" x="450.38" y="-28.7" font-family="arial" font-size="14.00">X6:4:SDA</text>
<polygon fill="#000000" stroke="none" points="324,-23 324,-25 513,-25 513,-23 324,-23"/>
<polygon fill="#8000ff" stroke="none" points="324,-21 324,-23 513,-23 513,-21 324,-21"/>
<polygon fill="#000000" stroke="none" points="324,-19 324,-21 513,-21 513,-19 324,-19"/>
<text text-anchor="start" x="355.12" y="-3.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X5&#45;&#45;W5 -->
<g id="edge33" class="edge">
<title>X5:e&#45;&#45;W5:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-196.75C256.44,-199 243.59,-97 324,-94.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M180,-198.75C258.43,-198.75 245.57,-96.75 324,-96.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-200.75C260.41,-198.5 247.56,-96.5 324,-98.75"/>
</g>
<!-- X5&#45;&#45;W5 -->
<g id="edge35" class="edge">
<title>X5:e&#45;&#45;W5:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-173.75C256.96,-176.01 243.07,-72.01 324,-69.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M180,-175.75C258.95,-175.75 245.05,-71.75 324,-71.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-177.75C260.93,-175.49 247.04,-71.49 324,-73.75"/>
</g>
<!-- X5&#45;&#45;W5 -->
<g id="edge37" class="edge">
<title>X5:e&#45;&#45;W5:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-150.75C257.49,-153.03 242.55,-47.03 324,-44.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M180,-152.75C259.47,-152.75 244.53,-46.75 324,-46.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-154.75C261.45,-152.47 246.51,-46.47 324,-48.75"/>
</g>
<!-- X5&#45;&#45;W5 -->
<g id="edge39" class="edge">
<title>X5:e&#45;&#45;W5:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-127.75C258.02,-130.04 242.02,-22.04 324,-19.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M180,-129.75C260,-129.75 244,-21.75 324,-21.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M180,-131.75C261.98,-129.46 245.98,-21.46 324,-23.75"/>
</g>
<!-- X6 -->
<g id="node6" class="node">
<title>X6</title>
<polygon fill="#ffffff" stroke="black" points="837,-152.5 657,-152.5 657,-13 837,-13 837,-152.5"/>
<polygon fill="none" stroke="black" points="657,-128.75 657,-152.5 837,-152.5 837,-128.75 657,-128.75"/>
<text text-anchor="start" x="738.75" y="-135.2" font-family="arial" font-size="14.00">X6</text>
<polygon fill="none" stroke="black" points="657,-105 657,-128.75 749.75,-128.75 749.75,-105 657,-105"/>
<text text-anchor="start" x="661" y="-111.45" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="749.75,-105 749.75,-128.75 799,-128.75 799,-105 749.75,-105"/>
<text text-anchor="start" x="753.75" y="-111.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="799,-105 799,-128.75 837,-128.75 837,-105 799,-105"/>
<text text-anchor="start" x="803" y="-111.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="657,-82 657,-105 735.5,-105 735.5,-82 657,-82"/>
<text text-anchor="start" x="692.5" y="-87.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="735.5,-82 735.5,-105 837,-105 837,-82 735.5,-82"/>
<text text-anchor="start" x="770.88" y="-87.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="657,-59 657,-82 735.5,-82 735.5,-59 657,-59"/>
<text text-anchor="start" x="692.5" y="-64.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="735.5,-59 735.5,-82 837,-82 837,-59 735.5,-59"/>
<text text-anchor="start" x="772" y="-64.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="657,-36 657,-59 735.5,-59 735.5,-36 657,-36"/>
<text text-anchor="start" x="692.5" y="-41.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="735.5,-36 735.5,-59 837,-59 837,-36 735.5,-36"/>
<text text-anchor="start" x="773.12" y="-41.7" font-family="arial" font-size="14.00">SCL</text>
<polygon fill="none" stroke="black" points="657,-13 657,-36 735.5,-36 735.5,-13 657,-13"/>
<text text-anchor="start" x="692.5" y="-18.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="735.5,-13 735.5,-36 837,-36 837,-13 735.5,-13"/>
<text text-anchor="start" x="772.38" y="-18.7" font-family="arial" font-size="14.00">SDA</text>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-934.75C591.02,-937.04 575.02,-829.04 657,-826.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M513,-936.75C593,-936.75 577,-828.75 657,-828.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-938.75C594.98,-936.46 578.98,-828.46 657,-830.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-909.75C590.49,-912.03 575.55,-806.03 657,-803.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M513,-911.75C592.47,-911.75 577.53,-805.75 657,-805.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-913.75C594.45,-911.47 579.51,-805.47 657,-807.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge6" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-884.75C589.96,-887.01 576.07,-783.01 657,-780.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M513,-886.75C591.95,-886.75 578.05,-782.75 657,-782.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-888.75C593.93,-886.49 580.04,-782.49 657,-784.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge8" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-859.75C589.44,-862 576.59,-760 657,-757.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M513,-861.75C591.43,-861.75 578.57,-759.75 657,-759.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-863.75C593.41,-861.5 580.56,-759.5 657,-761.75"/>
</g>
<!-- W2&#45;&#45;X2 -->
<g id="edge10" class="edge">
<title>W2:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-724.75C593.41,-727 580.56,-829 657,-826.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M513,-726.75C591.43,-726.75 578.57,-828.75 657,-828.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-728.75C589.44,-726.5 576.59,-828.5 657,-830.75"/>
</g>
<!-- W2&#45;&#45;X2 -->
<g id="edge12" class="edge">
<title>W2:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-699.75C593.93,-702.01 580.04,-806.01 657,-803.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M513,-701.75C591.95,-701.75 578.05,-805.75 657,-805.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-703.75C589.96,-701.49 576.07,-805.49 657,-807.75"/>
</g>
<!-- W2&#45;&#45;X2 -->
<g id="edge14" class="edge">
<title>W2:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-674.75C594.45,-677.03 579.51,-783.03 657,-780.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M513,-676.75C592.47,-676.75 577.53,-782.75 657,-782.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-678.75C590.49,-676.47 575.55,-782.47 657,-784.75"/>
</g>
<!-- W2&#45;&#45;X2 -->
<g id="edge16" class="edge">
<title>W2:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-649.75C594.98,-652.04 578.98,-760.04 657,-757.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M513,-651.75C593,-651.75 577,-759.75 657,-759.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-653.75C591.02,-651.46 575.02,-759.46 657,-761.75"/>
</g>
<!-- W3&#45;&#45;X4 -->
<g id="edge18" class="edge">
<title>W3:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-514.75C591.02,-517.04 575.02,-409.04 657,-406.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M513,-516.75C593,-516.75 577,-408.75 657,-408.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-518.75C594.98,-516.46 578.98,-408.46 657,-410.75"/>
</g>
<!-- W3&#45;&#45;X4 -->
<g id="edge20" class="edge">
<title>W3:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-489.75C590.49,-492.03 575.55,-386.03 657,-383.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M513,-491.75C592.47,-491.75 577.53,-385.75 657,-385.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-493.75C594.45,-491.47 579.51,-385.47 657,-387.75"/>
</g>
<!-- W3&#45;&#45;X4 -->
<g id="edge22" class="edge">
<title>W3:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-464.75C589.96,-467.01 576.07,-363.01 657,-360.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M513,-466.75C591.95,-466.75 578.05,-362.75 657,-362.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-468.75C593.93,-466.49 580.04,-362.49 657,-364.75"/>
</g>
<!-- W3&#45;&#45;X4 -->
<g id="edge24" class="edge">
<title>W3:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-439.75C589.44,-442 576.59,-340 657,-337.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M513,-441.75C591.43,-441.75 578.57,-339.75 657,-339.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-443.75C593.41,-441.5 580.56,-339.5 657,-341.75"/>
</g>
<!-- W4&#45;&#45;X4 -->
<g id="edge26" class="edge">
<title>W4:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-304.75C593.41,-307 580.56,-409 657,-406.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M513,-306.75C591.43,-306.75 578.57,-408.75 657,-408.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-308.75C589.44,-306.5 576.59,-408.5 657,-410.75"/>
</g>
<!-- W4&#45;&#45;X4 -->
<g id="edge28" class="edge">
<title>W4:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-279.75C593.93,-282.01 580.04,-386.01 657,-383.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M513,-281.75C591.95,-281.75 578.05,-385.75 657,-385.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-283.75C589.96,-281.49 576.07,-385.49 657,-387.75"/>
</g>
<!-- W4&#45;&#45;X4 -->
<g id="edge30" class="edge">
<title>W4:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-254.75C594.45,-257.03 579.51,-363.03 657,-360.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M513,-256.75C592.47,-256.75 577.53,-362.75 657,-362.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-258.75C590.49,-256.47 575.55,-362.47 657,-364.75"/>
</g>
<!-- W4&#45;&#45;X4 -->
<g id="edge32" class="edge">
<title>W4:e&#45;&#45;X4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-229.75C594.98,-232.04 578.98,-340.04 657,-337.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M513,-231.75C593,-231.75 577,-339.75 657,-339.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-233.75C591.02,-231.46 575.02,-339.46 657,-341.75"/>
</g>
<!-- W5&#45;&#45;X6 -->
<g id="edge34" class="edge">
<title>W5:e&#45;&#45;X6:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-94.75C576.64,-94.78 592.62,-91.78 657,-91.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M513,-96.75C577.01,-96.75 592.99,-93.75 657,-93.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-98.75C577.38,-98.72 593.36,-95.72 657,-95.75"/>
</g>
<!-- W5&#45;&#45;X6 -->
<g id="edge36" class="edge">
<title>W5:e&#45;&#45;X6:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-69.75C576.88,-69.75 592.87,-68.75 657,-68.75"/>
<path fill="none" stroke="#00ffff" stroke-width="2" d="M513,-71.75C577,-71.75 593,-70.75 657,-70.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-73.75C577.13,-73.75 593.12,-72.75 657,-72.75"/>
</g>
<!-- W5&#45;&#45;X6 -->
<g id="edge38" class="edge">
<title>W5:e&#45;&#45;X6:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-44.75C577.13,-44.75 593.12,-45.75 657,-45.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M513,-46.75C577,-46.75 593,-47.75 657,-47.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-48.75C576.88,-48.75 592.87,-49.75 657,-49.75"/>
</g>
<!-- W5&#45;&#45;X6 -->
<g id="edge40" class="edge">
<title>W5:e&#45;&#45;X6:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-19.75C577.38,-19.78 593.36,-22.78 657,-22.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M513,-21.75C577.01,-21.75 592.99,-24.75 657,-24.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-23.75C576.64,-23.72 592.62,-26.72 657,-26.75"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 50 KiB

59
examples/ex06.yml Normal file
View File

@ -0,0 +1,59 @@
# daisy chain, variant 2
templates:
- &template_con
type: Molex KK 254
subtype: female
pinlabels: [GND, VCC, SCL, SDA]
- &template_wire
gauge: 0.25 mm2
length: 0.2
colors: [PK, TQ, YE, VT]
category: bundle
connectors:
X1:
<<: *template_con
X2:
<<: *template_con
X3:
<<: *template_con
X4:
<<: *template_con
X5:
<<: *template_con
X6:
<<: *template_con
cables:
W1:
<<: *template_wire
W2:
<<: *template_wire
W3:
<<: *template_wire
W4:
<<: *template_wire
W5:
<<: *template_wire
connections:
-
- X1: [1-4]
- W1: [1-4]
- X2: [1-4]
-
- X3: [1-4]
- W2: [1-4]
- X2: [1-4]
-
- X3: [1-4]
- W3: [1-4]
- X4: [1-4]
-
- X5: [1-4]
- W4: [1-4]
- X4: [1-4]
-
- X5: [1-4]
- W5: [1-4]
- X6: [1-4]

4
examples/ex07.bom.tsv generated Normal file
View File

@ -0,0 +1,4 @@
Id Description Qty Unit Designators
1 Cable, 2 x 20 AWG 1 m C1
2 Connector, D-Sub, female, 9 pins 1 X2
3 Connector, TE 776164-1, female, 35 pins 1 X1
1 Id Description Qty Unit Designators
2 1 Cable, 2 x 20 AWG 1 m C1
3 2 Connector, D-Sub, female, 9 pins 1 X2
4 3 Connector, TE 776164-1, female, 35 pins 1 X1

129
examples/ex07.gv generated Normal file
View File

@ -0,0 +1,129 @@
graph {
// Graph generated by WireViz 0.4.1
// https://github.com/wireviz/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]
X1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">TE 776164-1</td>
<td balign="left">female</td>
<td balign="left">35-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p5r">5</td>
</tr>
<tr>
<td port="p6r">6</td>
</tr>
</table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Unconnected pins are not shown</td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X2</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">D-Sub</td>
<td balign="left">female</td>
<td balign="left">9-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p2l">2</td>
</tr>
<tr>
<td port="p7l">7</td>
</tr>
</table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Unconnected pins are not shown</td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
edge [color="#000000:#ffff00:#000000"]
X1:p5r:e -- C1:w1:w
C1:w1:e -- X2:p7l:w
edge [color="#000000:#00ff00:#000000"]
X1:p6r:e -- C1:w2:w
C1:w2:e -- X2:p2l:w
C1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">C1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">2x</td>
<td balign="left">20 AWG</td>
<td balign="left">1 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td>X1:5</td>
<td>
1:YE
</td>
<td>X2:7</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:6</td>
<td>
2:GN
</td>
<td>X2:2</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
}

178
examples/ex07.html generated Normal file
View File

@ -0,0 +1,178 @@
<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<meta name="generator" content="WireViz 0.4.1 - https://github.com/wireviz/WireViz">
<title>ex07</title>
<style>
#bom table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
#bom th, td {
padding: 4px;
text-align: left;
}
.bom_col_qty {
text-align: right;
}
</style>
</head><body style="font-family:arial;background-color:#ffffff">
<h1>ex07</h1>
<h2>Diagram</h2>
<div id="description">
<!-- %description% -->
</div>
<div id="diagram">
<!-- XML and DOCTYPE declarations from SVG file removed -->
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="837pt" height="156pt"
viewBox="0.00 0.00 837.00 156.12" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 152.12)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-152.12 833,-152.12 833,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="204.5,-118.75 0,-118.75 0,0 204.5,0 204.5,-118.75"/>
<polygon fill="none" stroke="black" points="0,-95 0,-118.75 204.5,-118.75 204.5,-95 0,-95"/>
<text text-anchor="start" x="94" y="-101.45" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-71.25 0,-95 93.92,-95 93.92,-71.25 0,-71.25"/>
<text text-anchor="start" x="7.96" y="-77.7" font-family="arial" font-size="14.00">TE 776164&#45;1</text>
<polygon fill="none" stroke="black" points="93.92,-71.25 93.92,-95 151.08,-95 151.08,-71.25 93.92,-71.25"/>
<text text-anchor="start" x="101.88" y="-77.7" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="151.08,-71.25 151.08,-95 204.5,-95 204.5,-71.25 151.08,-71.25"/>
<text text-anchor="start" x="159.04" y="-77.7" font-family="arial" font-size="14.00">35&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-47.5 0,-71.25 204.5,-71.25 204.5,-47.5 0,-47.5"/>
<text text-anchor="start" x="98.5" y="-53.95" font-family="arial" font-size="14.00">5</text>
<polygon fill="none" stroke="black" points="0,-23.75 0,-47.5 204.5,-47.5 204.5,-23.75 0,-23.75"/>
<text text-anchor="start" x="98.5" y="-30.2" font-family="arial" font-size="14.00">6</text>
<polygon fill="none" stroke="black" points="0,0 0,-23.75 204.5,-23.75 204.5,0 0,0"/>
<text text-anchor="start" x="4" y="-6.45" font-family="arial" font-size="14.00">Unconnected pins are not shown</text>
</g>
<!-- C1 -->
<g id="node3" class="node">
<title>C1</title>
<polygon fill="#ffffff" stroke="black" points="480.5,-148.12 348.5,-148.12 348.5,-12.62 480.5,-12.62 480.5,-148.12"/>
<polygon fill="none" stroke="black" points="348.5,-124.38 348.5,-148.12 480.5,-148.12 480.5,-124.38 348.5,-124.38"/>
<text text-anchor="start" x="405.88" y="-130.82" font-family="arial" font-size="14.00">C1</text>
<polygon fill="none" stroke="black" points="348.5,-100.62 348.5,-124.38 377,-124.38 377,-100.62 348.5,-100.62"/>
<text text-anchor="start" x="355.62" y="-107.08" font-family="arial" font-size="14.00">2x</text>
<polygon fill="none" stroke="black" points="377,-100.62 377,-124.38 443,-124.38 443,-100.62 377,-100.62"/>
<text text-anchor="start" x="384.12" y="-107.08" font-family="arial" font-size="14.00">20 AWG</text>
<polygon fill="none" stroke="black" points="443,-100.62 443,-124.38 480.5,-124.38 480.5,-100.62 443,-100.62"/>
<text text-anchor="start" x="450.12" y="-107.08" font-family="arial" font-size="14.00">1 m</text>
<text text-anchor="start" x="362.12" y="-85.33" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="350.12" y="-66.33" font-family="arial" font-size="14.00">X1:5</text>
<text text-anchor="start" x="383" y="-66.33" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="451.12" y="-66.33" font-family="arial" font-size="14.00">X2:7</text>
<polygon fill="#000000" stroke="none" points="348.5,-60.62 348.5,-62.62 480.5,-62.62 480.5,-60.62 348.5,-60.62"/>
<polygon fill="#ffff00" stroke="none" points="348.5,-58.62 348.5,-60.62 480.5,-60.62 480.5,-58.62 348.5,-58.62"/>
<polygon fill="#000000" stroke="none" points="348.5,-56.62 348.5,-58.62 480.5,-58.62 480.5,-56.62 348.5,-56.62"/>
<text text-anchor="start" x="350.12" y="-41.33" font-family="arial" font-size="14.00">X1:6</text>
<text text-anchor="start" x="381.5" y="-41.33" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:GN &#160;&#160;&#160;</text>
<text text-anchor="start" x="451.12" y="-41.33" font-family="arial" font-size="14.00">X2:2</text>
<polygon fill="#000000" stroke="none" points="348.5,-35.62 348.5,-37.62 480.5,-37.62 480.5,-35.62 348.5,-35.62"/>
<polygon fill="#00ff00" stroke="none" points="348.5,-33.62 348.5,-35.62 480.5,-35.62 480.5,-33.62 348.5,-33.62"/>
<polygon fill="#000000" stroke="none" points="348.5,-31.62 348.5,-33.62 480.5,-33.62 480.5,-31.62 348.5,-31.62"/>
<text text-anchor="start" x="362.12" y="-16.32" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;C1 -->
<g id="edge1" class="edge">
<title>X1:e&#45;&#45;C1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M204.5,-57.38C268.5,-57.38 284.5,-57.38 348.5,-57.38"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M204.5,-59.38C268.5,-59.38 284.5,-59.38 348.5,-59.38"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M204.5,-61.37C268.5,-61.38 284.5,-61.38 348.5,-61.37"/>
</g>
<!-- X1&#45;&#45;C1 -->
<g id="edge3" class="edge">
<title>X1:e&#45;&#45;C1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M204.5,-33.38C268.38,-33.38 284.37,-32.38 348.5,-32.38"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M204.5,-35.38C268.5,-35.38 284.5,-34.38 348.5,-34.38"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M204.5,-37.37C268.63,-37.37 284.62,-36.37 348.5,-36.37"/>
</g>
<!-- X2 -->
<g id="node2" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="829,-118.75 624.5,-118.75 624.5,0 829,0 829,-118.75"/>
<polygon fill="none" stroke="black" points="624.5,-95 624.5,-118.75 829,-118.75 829,-95 624.5,-95"/>
<text text-anchor="start" x="718.5" y="-101.45" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="624.5,-71.25 624.5,-95 694.42,-95 694.42,-71.25 624.5,-71.25"/>
<text text-anchor="start" x="640.33" y="-77.7" font-family="arial" font-size="14.00">D&#45;Sub</text>
<polygon fill="none" stroke="black" points="694.42,-71.25 694.42,-95 767.33,-95 767.33,-71.25 694.42,-71.25"/>
<text text-anchor="start" x="710.25" y="-77.7" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="767.33,-71.25 767.33,-95 829,-95 829,-71.25 767.33,-71.25"/>
<text text-anchor="start" x="783.17" y="-77.7" font-family="arial" font-size="14.00">9&#45;pin</text>
<polygon fill="none" stroke="black" points="624.5,-47.5 624.5,-71.25 829,-71.25 829,-47.5 624.5,-47.5"/>
<text text-anchor="start" x="723" y="-53.95" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="624.5,-23.75 624.5,-47.5 829,-47.5 829,-23.75 624.5,-23.75"/>
<text text-anchor="start" x="723" y="-30.2" font-family="arial" font-size="14.00">7</text>
<polygon fill="none" stroke="black" points="624.5,0 624.5,-23.75 829,-23.75 829,0 624.5,0"/>
<text text-anchor="start" x="628.5" y="-6.45" font-family="arial" font-size="14.00">Unconnected pins are not shown</text>
</g>
<!-- C1&#45;&#45;X2 -->
<g id="edge2" class="edge">
<title>C1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M480.5,-57.38C543.66,-58.35 557.9,-34.35 624.5,-33.38"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M480.5,-59.37C545.38,-59.37 559.62,-35.38 624.5,-35.37"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M480.5,-61.37C547.1,-60.4 561.34,-36.4 624.5,-37.37"/>
</g>
<!-- C1&#45;&#45;X2 -->
<g id="edge4" class="edge">
<title>C1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M480.5,-32.38C547.2,-33.39 561.29,-58.39 624.5,-57.38"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M480.5,-34.38C545.46,-34.38 559.54,-59.38 624.5,-59.38"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M480.5,-36.37C543.71,-35.36 557.8,-60.36 624.5,-61.37"/>
</g>
</g>
</svg>
</div>
<div id="notes">
<!-- %notes% -->
</div>
<h2>Bill of Materials</h2>
<div id="bom">
<table class="bom">
<tr>
<th class="bom_col_id">Id</th>
<th class="bom_col_description">Description</th>
<th class="bom_col_qty">Qty</th>
<th class="bom_col_unit">Unit</th>
<th class="bom_col_designators">Designators</th>
</tr>
<tr>
<td class="bom_col_id">1</td>
<td class="bom_col_description">Cable, 2 x 20 AWG</td>
<td class="bom_col_qty">1</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">C1</td>
</tr>
<tr>
<td class="bom_col_id">2</td>
<td class="bom_col_description">Connector, D-Sub, female, 9 pins</td>
<td class="bom_col_qty">1</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X2</td>
</tr>
<tr>
<td class="bom_col_id">3</td>
<td class="bom_col_description">Connector, TE 776164-1, female, 35 pins</td>
<td class="bom_col_qty">1</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X1</td>
</tr>
</table>
</div>
</body></html>

BIN
examples/ex07.png generated Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

105
examples/ex07.svg generated Normal file
View File

@ -0,0 +1,105 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="837pt" height="156pt"
viewBox="0.00 0.00 837.00 156.12" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 152.12)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-152.12 833,-152.12 833,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="204.5,-118.75 0,-118.75 0,0 204.5,0 204.5,-118.75"/>
<polygon fill="none" stroke="black" points="0,-95 0,-118.75 204.5,-118.75 204.5,-95 0,-95"/>
<text text-anchor="start" x="94" y="-101.45" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-71.25 0,-95 93.92,-95 93.92,-71.25 0,-71.25"/>
<text text-anchor="start" x="7.96" y="-77.7" font-family="arial" font-size="14.00">TE 776164&#45;1</text>
<polygon fill="none" stroke="black" points="93.92,-71.25 93.92,-95 151.08,-95 151.08,-71.25 93.92,-71.25"/>
<text text-anchor="start" x="101.88" y="-77.7" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="151.08,-71.25 151.08,-95 204.5,-95 204.5,-71.25 151.08,-71.25"/>
<text text-anchor="start" x="159.04" y="-77.7" font-family="arial" font-size="14.00">35&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-47.5 0,-71.25 204.5,-71.25 204.5,-47.5 0,-47.5"/>
<text text-anchor="start" x="98.5" y="-53.95" font-family="arial" font-size="14.00">5</text>
<polygon fill="none" stroke="black" points="0,-23.75 0,-47.5 204.5,-47.5 204.5,-23.75 0,-23.75"/>
<text text-anchor="start" x="98.5" y="-30.2" font-family="arial" font-size="14.00">6</text>
<polygon fill="none" stroke="black" points="0,0 0,-23.75 204.5,-23.75 204.5,0 0,0"/>
<text text-anchor="start" x="4" y="-6.45" font-family="arial" font-size="14.00">Unconnected pins are not shown</text>
</g>
<!-- C1 -->
<g id="node3" class="node">
<title>C1</title>
<polygon fill="#ffffff" stroke="black" points="480.5,-148.12 348.5,-148.12 348.5,-12.62 480.5,-12.62 480.5,-148.12"/>
<polygon fill="none" stroke="black" points="348.5,-124.38 348.5,-148.12 480.5,-148.12 480.5,-124.38 348.5,-124.38"/>
<text text-anchor="start" x="405.88" y="-130.82" font-family="arial" font-size="14.00">C1</text>
<polygon fill="none" stroke="black" points="348.5,-100.62 348.5,-124.38 377,-124.38 377,-100.62 348.5,-100.62"/>
<text text-anchor="start" x="355.62" y="-107.08" font-family="arial" font-size="14.00">2x</text>
<polygon fill="none" stroke="black" points="377,-100.62 377,-124.38 443,-124.38 443,-100.62 377,-100.62"/>
<text text-anchor="start" x="384.12" y="-107.08" font-family="arial" font-size="14.00">20 AWG</text>
<polygon fill="none" stroke="black" points="443,-100.62 443,-124.38 480.5,-124.38 480.5,-100.62 443,-100.62"/>
<text text-anchor="start" x="450.12" y="-107.08" font-family="arial" font-size="14.00">1 m</text>
<text text-anchor="start" x="362.12" y="-85.33" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="350.12" y="-66.33" font-family="arial" font-size="14.00">X1:5</text>
<text text-anchor="start" x="383" y="-66.33" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="451.12" y="-66.33" font-family="arial" font-size="14.00">X2:7</text>
<polygon fill="#000000" stroke="none" points="348.5,-60.62 348.5,-62.62 480.5,-62.62 480.5,-60.62 348.5,-60.62"/>
<polygon fill="#ffff00" stroke="none" points="348.5,-58.62 348.5,-60.62 480.5,-60.62 480.5,-58.62 348.5,-58.62"/>
<polygon fill="#000000" stroke="none" points="348.5,-56.62 348.5,-58.62 480.5,-58.62 480.5,-56.62 348.5,-56.62"/>
<text text-anchor="start" x="350.12" y="-41.33" font-family="arial" font-size="14.00">X1:6</text>
<text text-anchor="start" x="381.5" y="-41.33" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:GN &#160;&#160;&#160;</text>
<text text-anchor="start" x="451.12" y="-41.33" font-family="arial" font-size="14.00">X2:2</text>
<polygon fill="#000000" stroke="none" points="348.5,-35.62 348.5,-37.62 480.5,-37.62 480.5,-35.62 348.5,-35.62"/>
<polygon fill="#00ff00" stroke="none" points="348.5,-33.62 348.5,-35.62 480.5,-35.62 480.5,-33.62 348.5,-33.62"/>
<polygon fill="#000000" stroke="none" points="348.5,-31.62 348.5,-33.62 480.5,-33.62 480.5,-31.62 348.5,-31.62"/>
<text text-anchor="start" x="362.12" y="-16.32" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;C1 -->
<g id="edge1" class="edge">
<title>X1:e&#45;&#45;C1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M204.5,-57.38C268.5,-57.38 284.5,-57.38 348.5,-57.38"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M204.5,-59.38C268.5,-59.38 284.5,-59.38 348.5,-59.38"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M204.5,-61.37C268.5,-61.38 284.5,-61.38 348.5,-61.37"/>
</g>
<!-- X1&#45;&#45;C1 -->
<g id="edge3" class="edge">
<title>X1:e&#45;&#45;C1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M204.5,-33.38C268.38,-33.38 284.37,-32.38 348.5,-32.38"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M204.5,-35.38C268.5,-35.38 284.5,-34.38 348.5,-34.38"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M204.5,-37.37C268.63,-37.37 284.62,-36.37 348.5,-36.37"/>
</g>
<!-- X2 -->
<g id="node2" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="829,-118.75 624.5,-118.75 624.5,0 829,0 829,-118.75"/>
<polygon fill="none" stroke="black" points="624.5,-95 624.5,-118.75 829,-118.75 829,-95 624.5,-95"/>
<text text-anchor="start" x="718.5" y="-101.45" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="624.5,-71.25 624.5,-95 694.42,-95 694.42,-71.25 624.5,-71.25"/>
<text text-anchor="start" x="640.33" y="-77.7" font-family="arial" font-size="14.00">D&#45;Sub</text>
<polygon fill="none" stroke="black" points="694.42,-71.25 694.42,-95 767.33,-95 767.33,-71.25 694.42,-71.25"/>
<text text-anchor="start" x="710.25" y="-77.7" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="767.33,-71.25 767.33,-95 829,-95 829,-71.25 767.33,-71.25"/>
<text text-anchor="start" x="783.17" y="-77.7" font-family="arial" font-size="14.00">9&#45;pin</text>
<polygon fill="none" stroke="black" points="624.5,-47.5 624.5,-71.25 829,-71.25 829,-47.5 624.5,-47.5"/>
<text text-anchor="start" x="723" y="-53.95" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="624.5,-23.75 624.5,-47.5 829,-47.5 829,-23.75 624.5,-23.75"/>
<text text-anchor="start" x="723" y="-30.2" font-family="arial" font-size="14.00">7</text>
<polygon fill="none" stroke="black" points="624.5,0 624.5,-23.75 829,-23.75 829,0 624.5,0"/>
<text text-anchor="start" x="628.5" y="-6.45" font-family="arial" font-size="14.00">Unconnected pins are not shown</text>
</g>
<!-- C1&#45;&#45;X2 -->
<g id="edge2" class="edge">
<title>C1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M480.5,-57.38C543.66,-58.35 557.9,-34.35 624.5,-33.38"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M480.5,-59.37C545.38,-59.37 559.62,-35.38 624.5,-35.37"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M480.5,-61.37C547.1,-60.4 561.34,-36.4 624.5,-37.37"/>
</g>
<!-- C1&#45;&#45;X2 -->
<g id="edge4" class="edge">
<title>C1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M480.5,-32.38C547.2,-33.39 561.29,-58.39 624.5,-57.38"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M480.5,-34.38C545.46,-34.38 559.54,-59.38 624.5,-59.38"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M480.5,-36.37C543.71,-35.36 557.8,-60.36 624.5,-61.37"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.8 KiB

29
examples/ex07.yml Normal file
View File

@ -0,0 +1,29 @@
# contributed by @elliotmr
connectors:
X1:
type: TE 776164-1
subtype: female
hide_disconnected_pins: True
pincount: 35
notes: Unconnected pins are not shown
X2:
type: D-Sub
subtype: female
pincount: 9
hide_disconnected_pins: True
notes: Unconnected pins are not shown
cables:
C1:
wirecount: 2
gauge: 20 AWG
colors: [YE, GN]
length: 1
connections:
-
- X1: [5,6]
- C1: [1,2]
- X2: [7,2]

3
examples/ex08.bom.tsv generated Normal file
View File

@ -0,0 +1,3 @@
Id Description Qty Unit Designators
1 Cable, 3 x 24 AWG shielded, BK 0.2 m W1
2 Connector, Phone Connector, male 3.5 1 Key
1 Id Description Qty Unit Designators
2 1 Cable, 3 x 24 AWG shielded, BK 0.2 m W1
3 2 Connector, Phone Connector, male 3.5 1 Key

150
examples/ex08.gv generated Normal file
View File

@ -0,0 +1,150 @@
graph {
// Graph generated by WireViz 0.4.1
// https://github.com/wireviz/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]
Key [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Key</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Phone Connector</td>
<td balign="left">male 3.5</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td>Dot</td>
<td port="p1r">T</td>
</tr>
<tr>
<td>Dash</td>
<td port="p2r">R</td>
</tr>
<tr>
<td>Ground</td>
<td port="p3r">S</td>
</tr>
</table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left" sides="TLR"><img scale="false" src="/Users/daniel/Projects/WireViz/examples/resources/stereo-phone-plug-TRS.png"/></td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left" sides="BLR">Tip, Ring, and Sleeve</td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
edge [color="#000000:#ffffff:#000000"]
Key:p3r:e -- W1:w1:w
edge [color="#000000:#895956:#000000"]
Key:p2r:e -- W1:w2:w
edge [color="#000000:#00ff00:#000000"]
Key:p1r:e -- W1:w3:w
edge [color="#000000:#aaaaaa:#000000"]
Key:p3r:e -- W1:ws:w
W1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">3x</td>
<td balign="left">24 AWG</td>
<td balign="left">+ S</td>
<td balign="left">0.2 m</td>
<td balign="left">BK</td>
<td balign="left" bgcolor="#000000" width="4"></td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td>Key:S:Ground</td>
<td>
1:WH
</td>
<td><!-- 1_out --></td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>Key:R:Dash</td>
<td>
2:BN
</td>
<td><!-- 2_out --></td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#895956" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>Key:T:Dot</td>
<td>
3:GN
</td>
<td><!-- 3_out --></td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td>Key:S:Ground</td>
<td>Shield</td>
<td><!-- s_out --></td>
</tr>
<tr><td colspan="3" cellpadding="0" height="6" bgcolor="#aaaaaa" border="2" sides="tb" port="ws"></td></tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left" sides="TLR">
<table border="0" cellspacing="0" cellborder="0"><tr>
<td width="70.0" height="70" fixedsize="true"><img scale="true" src="/Users/daniel/Projects/WireViz/examples/resources/cable-WH+BN+GN+shield.png"/></td>
</tr></table>
</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left" sides="BLR">Cross-section</td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
}

179
examples/ex08.html generated Normal file

File diff suppressed because one or more lines are too long

BIN
examples/ex08.png generated Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

113
examples/ex08.svg generated Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 18 KiB

34
examples/ex08.yml Normal file
View File

@ -0,0 +1,34 @@
# contributed by @cocide
# and later extended to include images
connectors:
Key:
type: Phone Connector
subtype: male 3.5
pins: [T, R, S]
pinlabels: [Dot, Dash, Ground]
show_pincount: false
image:
src: resources/stereo-phone-plug-TRS.png
caption: Tip, Ring, and Sleeve
cables:
W1:
gauge: 24 AWG
length: 0.2
color: BK # Cable jacket color
color_code: DIN
wirecount: 3
shield: SN # Matching the shield color in the image
image:
src: resources/cable-WH+BN+GN+shield.png
height: 70 # Scale the image size slightly down
caption: Cross-section
connections:
-
- Key: [S,R,T]
- W1: [WH,BN,GN]
-
- Key: S
- W1: s

4
examples/ex09.bom.tsv generated Normal file
View File

@ -0,0 +1,4 @@
Id Description Qty Unit Designators
1 Cable, 12 x 0.25 mm² shielded 0.2 m W1
2 Connector, D-Sub, male, 25 pins 1 X1
3 Connector, F48, female, 48 pins 1 X2
1 Id Description Qty Unit Designators
2 1 Cable, 12 x 0.25 mm² shielded 0.2 m W1
3 2 Connector, D-Sub, male, 25 pins 1 X1
4 3 Connector, F48, female, 48 pins 1 X2

527
examples/ex09.gv generated Normal file
View File

@ -0,0 +1,527 @@
graph {
// Graph generated by WireViz 0.4.1
// https://github.com/wireviz/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]
X1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">D-Sub</td>
<td balign="left">male</td>
<td balign="left">25-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td>SENSE_P_1</td>
<td port="p1r">1</td>
</tr>
<tr>
<td>SENSE_N_1</td>
<td port="p2r">14</td>
</tr>
<tr>
<td>SENSE_P_2</td>
<td port="p3r">3</td>
</tr>
<tr>
<td>SENSE_N_2</td>
<td port="p4r">16</td>
</tr>
<tr>
<td>SENSE_P_3</td>
<td port="p5r">5</td>
</tr>
<tr>
<td>SENSE_N_3</td>
<td port="p6r">18</td>
</tr>
<tr>
<td>SENSE_P_4</td>
<td port="p7r">7</td>
</tr>
<tr>
<td>SENSE_N_4</td>
<td port="p8r">20</td>
</tr>
<tr>
<td>SENSE_P_5</td>
<td port="p9r">9</td>
</tr>
<tr>
<td>SENSE_N_5</td>
<td port="p10r">22</td>
</tr>
<tr>
<td>SENSE_P_6</td>
<td port="p11r">11</td>
</tr>
<tr>
<td>SENSE_N_6</td>
<td port="p12r">24</td>
</tr>
<tr>
<td>GND</td>
<td port="p13r">13</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X2</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">F48</td>
<td balign="left">female</td>
<td balign="left">48-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1l">z2</td>
</tr>
<tr>
<td port="p2l">b2</td>
</tr>
<tr>
<td port="p3l">d2</td>
</tr>
<tr>
<td port="p4l">z4</td>
</tr>
<tr>
<td port="p5l">b4</td>
</tr>
<tr>
<td port="p6l">d4</td>
</tr>
<tr>
<td port="p7l">z6</td>
</tr>
<tr>
<td port="p8l">b6</td>
</tr>
<tr>
<td port="p9l">d6</td>
</tr>
<tr>
<td port="p10l">z8</td>
</tr>
<tr>
<td port="p11l">b8</td>
</tr>
<tr>
<td port="p12l">d8</td>
</tr>
<tr>
<td port="p13l">z10</td>
</tr>
<tr>
<td port="p14l">b10</td>
</tr>
<tr>
<td port="p15l">d10</td>
</tr>
<tr>
<td port="p16l">z12</td>
</tr>
<tr>
<td port="p17l">b12</td>
</tr>
<tr>
<td port="p18l">d12</td>
</tr>
<tr>
<td port="p19l">z14</td>
</tr>
<tr>
<td port="p20l">b14</td>
</tr>
<tr>
<td port="p21l">d14</td>
</tr>
<tr>
<td port="p22l">z16</td>
</tr>
<tr>
<td port="p23l">b16</td>
</tr>
<tr>
<td port="p24l">d16</td>
</tr>
<tr>
<td port="p25l">z18</td>
</tr>
<tr>
<td port="p26l">b18</td>
</tr>
<tr>
<td port="p27l">d18</td>
</tr>
<tr>
<td port="p28l">z20</td>
</tr>
<tr>
<td port="p29l">b20</td>
</tr>
<tr>
<td port="p30l">d20</td>
</tr>
<tr>
<td port="p31l">z22</td>
</tr>
<tr>
<td port="p32l">b22</td>
</tr>
<tr>
<td port="p33l">d22</td>
</tr>
<tr>
<td port="p34l">z24</td>
</tr>
<tr>
<td port="p35l">b24</td>
</tr>
<tr>
<td port="p36l">d24</td>
</tr>
<tr>
<td port="p37l">z26</td>
</tr>
<tr>
<td port="p38l">b26</td>
</tr>
<tr>
<td port="p39l">d26</td>
</tr>
<tr>
<td port="p40l">z28</td>
</tr>
<tr>
<td port="p41l">b28</td>
</tr>
<tr>
<td port="p42l">d28</td>
</tr>
<tr>
<td port="p43l">z30</td>
</tr>
<tr>
<td port="p44l">b30</td>
</tr>
<tr>
<td port="p45l">d30</td>
</tr>
<tr>
<td port="p46l">z32</td>
</tr>
<tr>
<td port="p47l">b32</td>
</tr>
<tr>
<td port="p48l">d32</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
edge [color="#000000:#895956:#895956:#895956:#000000"]
X1:p1r:e -- W1:w2:w
W1:w2:e -- X2:p6l:w
edge [color="#000000:#ffffff:#ffffff:#ffffff:#000000"]
X1:p2r:e -- W1:w1:w
W1:w1:e -- X2:p1l:w
edge [color="#000000:#ffff00:#ffff00:#ffff00:#000000"]
X1:p3r:e -- W1:w4:w
W1:w4:e -- X2:p15l:w
edge [color="#000000:#00ff00:#00ff00:#00ff00:#000000"]
X1:p4r:e -- W1:w3:w
W1:w3:e -- X2:p10l:w
edge [color="#000000:#ff66cc:#ff66cc:#ff66cc:#000000"]
X1:p5r:e -- W1:w6:w
W1:w6:e -- X2:p24l:w
edge [color="#000000:#999999:#999999:#999999:#000000"]
X1:p6r:e -- W1:w5:w
W1:w5:e -- X2:p19l:w
edge [color="#000000:#ff0000:#ff0000:#ff0000:#000000"]
X1:p7r:e -- W1:w8:w
W1:w8:e -- X2:p30l:w
edge [color="#000000:#0066ff:#0066ff:#0066ff:#000000"]
X1:p8r:e -- W1:w7:w
W1:w7:e -- X2:p25l:w
edge [color="#000000:#8000ff:#8000ff:#8000ff:#000000"]
X1:p9r:e -- W1:w10:w
W1:w10:e -- X2:p39l:w
edge [color="#000000:#000000:#000000:#000000:#000000"]
X1:p10r:e -- W1:w9:w
W1:w9:e -- X2:p34l:w
edge [color="#000000:#ff0000:#0066ff:#ff0000:#000000"]
X1:p11r:e -- W1:w12:w
W1:w12:e -- X2:p48l:w
edge [color="#000000:#999999:#ff66cc:#999999:#000000"]
X1:p12r:e -- W1:w11:w
W1:w11:e -- X2:p43l:w
edge [color="#000000"]
X1:p13r:e -- W1:ws:w
W1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">12x</td>
<td balign="left">0.25 mm²</td>
<td balign="left">+ S</td>
<td balign="left">0.2 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td>X1:14:SENSE_N_1</td>
<td>
1:WH
</td>
<td>X2:z2</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="10">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:1:SENSE_P_1</td>
<td>
2:BN
</td>
<td>X2:d4</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="10">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#895956" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#895956" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#895956" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:16:SENSE_N_2</td>
<td>
3:GN
</td>
<td>X2:z8</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="10">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:3:SENSE_P_2</td>
<td>
4:YE
</td>
<td>X2:d10</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="10">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:18:SENSE_N_3</td>
<td>
5:GY
</td>
<td>X2:z14</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w5" height="10">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#999999" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#999999" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#999999" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:5:SENSE_P_3</td>
<td>
6:PK
</td>
<td>X2:d16</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w6" height="10">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff66cc" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff66cc" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff66cc" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:20:SENSE_N_4</td>
<td>
7:BU
</td>
<td>X2:z18</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w7" height="10">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#0066ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#0066ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#0066ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:7:SENSE_P_4</td>
<td>
8:RD
</td>
<td>X2:d20</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w8" height="10">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff0000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff0000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff0000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:22:SENSE_N_5</td>
<td>
9:BK
</td>
<td>X2:z24</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w9" height="10">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:9:SENSE_P_5</td>
<td>
10:VT
</td>
<td>X2:d26</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w10" height="10">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#8000ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#8000ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#8000ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:24:SENSE_N_6</td>
<td>
11:GYPK
</td>
<td>X2:z30</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w11" height="10">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#999999" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff66cc" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#999999" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:11:SENSE_P_6</td>
<td>
12:RDBU
</td>
<td>X2:d32</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w12" height="10">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff0000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#0066ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff0000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td>X1:13:GND</td>
<td>Shield</td>
<td><!-- s_out --></td>
</tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0" port="ws"></td></tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
}

597
examples/ex09.html generated Normal file
View File

@ -0,0 +1,597 @@
<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<meta name="generator" content="WireViz 0.4.1 - https://github.com/wireviz/WireViz">
<title>ex09</title>
<style>
#bom table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
#bom th, td {
padding: 4px;
text-align: left;
}
.bom_col_qty {
text-align: right;
}
</style>
</head><body style="font-family:arial;background-color:#ffffff">
<h1>ex09</h1>
<h2>Diagram</h2>
<div id="description">
<!-- %description% -->
</div>
<div id="diagram">
<!-- XML and DOCTYPE declarations from SVG file removed -->
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="813pt" height="1196pt"
viewBox="0.00 0.00 812.75 1195.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1191.5)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-1191.5 808.75,-1191.5 808.75,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="129.75,-752 0,-752 0,-405.5 129.75,-405.5 129.75,-752"/>
<polygon fill="none" stroke="black" points="0,-728.25 0,-752 129.75,-752 129.75,-728.25 0,-728.25"/>
<text text-anchor="start" x="56.62" y="-734.7" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-704.5 0,-728.25 46.25,-728.25 46.25,-704.5 0,-704.5"/>
<text text-anchor="start" x="4" y="-710.95" font-family="arial" font-size="14.00">D&#45;Sub</text>
<polygon fill="none" stroke="black" points="46.25,-704.5 46.25,-728.25 84.25,-728.25 84.25,-704.5 46.25,-704.5"/>
<text text-anchor="start" x="50.25" y="-710.95" font-family="arial" font-size="14.00">male</text>
<polygon fill="none" stroke="black" points="84.25,-704.5 84.25,-728.25 129.75,-728.25 129.75,-704.5 84.25,-704.5"/>
<text text-anchor="start" x="88.25" y="-710.95" font-family="arial" font-size="14.00">25&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-681.5 0,-704.5 96.38,-704.5 96.38,-681.5 0,-681.5"/>
<text text-anchor="start" x="9.56" y="-687.2" font-family="arial" font-size="14.00">SENSE_P_1</text>
<polygon fill="none" stroke="black" points="96.38,-681.5 96.38,-704.5 129.75,-704.5 129.75,-681.5 96.38,-681.5"/>
<text text-anchor="start" x="109.31" y="-687.2" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-658.5 0,-681.5 96.38,-681.5 96.38,-658.5 0,-658.5"/>
<text text-anchor="start" x="9.19" y="-664.2" font-family="arial" font-size="14.00">SENSE_N_1</text>
<polygon fill="none" stroke="black" points="96.38,-658.5 96.38,-681.5 129.75,-681.5 129.75,-658.5 96.38,-658.5"/>
<text text-anchor="start" x="105.56" y="-664.2" font-family="arial" font-size="14.00">14</text>
<polygon fill="none" stroke="black" points="0,-635.5 0,-658.5 96.38,-658.5 96.38,-635.5 0,-635.5"/>
<text text-anchor="start" x="9.56" y="-641.2" font-family="arial" font-size="14.00">SENSE_P_2</text>
<polygon fill="none" stroke="black" points="96.38,-635.5 96.38,-658.5 129.75,-658.5 129.75,-635.5 96.38,-635.5"/>
<text text-anchor="start" x="109.31" y="-641.2" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="0,-612.5 0,-635.5 96.38,-635.5 96.38,-612.5 0,-612.5"/>
<text text-anchor="start" x="9.19" y="-618.2" font-family="arial" font-size="14.00">SENSE_N_2</text>
<polygon fill="none" stroke="black" points="96.38,-612.5 96.38,-635.5 129.75,-635.5 129.75,-612.5 96.38,-612.5"/>
<text text-anchor="start" x="105.56" y="-618.2" font-family="arial" font-size="14.00">16</text>
<polygon fill="none" stroke="black" points="0,-589.5 0,-612.5 96.38,-612.5 96.38,-589.5 0,-589.5"/>
<text text-anchor="start" x="9.56" y="-595.2" font-family="arial" font-size="14.00">SENSE_P_3</text>
<polygon fill="none" stroke="black" points="96.38,-589.5 96.38,-612.5 129.75,-612.5 129.75,-589.5 96.38,-589.5"/>
<text text-anchor="start" x="109.31" y="-595.2" font-family="arial" font-size="14.00">5</text>
<polygon fill="none" stroke="black" points="0,-566.5 0,-589.5 96.38,-589.5 96.38,-566.5 0,-566.5"/>
<text text-anchor="start" x="9.19" y="-572.2" font-family="arial" font-size="14.00">SENSE_N_3</text>
<polygon fill="none" stroke="black" points="96.38,-566.5 96.38,-589.5 129.75,-589.5 129.75,-566.5 96.38,-566.5"/>
<text text-anchor="start" x="105.56" y="-572.2" font-family="arial" font-size="14.00">18</text>
<polygon fill="none" stroke="black" points="0,-543.5 0,-566.5 96.38,-566.5 96.38,-543.5 0,-543.5"/>
<text text-anchor="start" x="9.56" y="-549.2" font-family="arial" font-size="14.00">SENSE_P_4</text>
<polygon fill="none" stroke="black" points="96.38,-543.5 96.38,-566.5 129.75,-566.5 129.75,-543.5 96.38,-543.5"/>
<text text-anchor="start" x="109.31" y="-549.2" font-family="arial" font-size="14.00">7</text>
<polygon fill="none" stroke="black" points="0,-520.5 0,-543.5 96.38,-543.5 96.38,-520.5 0,-520.5"/>
<text text-anchor="start" x="9.19" y="-526.2" font-family="arial" font-size="14.00">SENSE_N_4</text>
<polygon fill="none" stroke="black" points="96.38,-520.5 96.38,-543.5 129.75,-543.5 129.75,-520.5 96.38,-520.5"/>
<text text-anchor="start" x="105.56" y="-526.2" font-family="arial" font-size="14.00">20</text>
<polygon fill="none" stroke="black" points="0,-497.5 0,-520.5 96.38,-520.5 96.38,-497.5 0,-497.5"/>
<text text-anchor="start" x="9.56" y="-503.2" font-family="arial" font-size="14.00">SENSE_P_5</text>
<polygon fill="none" stroke="black" points="96.38,-497.5 96.38,-520.5 129.75,-520.5 129.75,-497.5 96.38,-497.5"/>
<text text-anchor="start" x="109.31" y="-503.2" font-family="arial" font-size="14.00">9</text>
<polygon fill="none" stroke="black" points="0,-474.5 0,-497.5 96.38,-497.5 96.38,-474.5 0,-474.5"/>
<text text-anchor="start" x="9.19" y="-480.2" font-family="arial" font-size="14.00">SENSE_N_5</text>
<polygon fill="none" stroke="black" points="96.38,-474.5 96.38,-497.5 129.75,-497.5 129.75,-474.5 96.38,-474.5"/>
<text text-anchor="start" x="105.56" y="-480.2" font-family="arial" font-size="14.00">22</text>
<polygon fill="none" stroke="black" points="0,-451.5 0,-474.5 96.38,-474.5 96.38,-451.5 0,-451.5"/>
<text text-anchor="start" x="9.56" y="-457.2" font-family="arial" font-size="14.00">SENSE_P_6</text>
<polygon fill="none" stroke="black" points="96.38,-451.5 96.38,-474.5 129.75,-474.5 129.75,-451.5 96.38,-451.5"/>
<text text-anchor="start" x="105.94" y="-457.2" font-family="arial" font-size="14.00">11</text>
<polygon fill="none" stroke="black" points="0,-428.5 0,-451.5 96.38,-451.5 96.38,-428.5 0,-428.5"/>
<text text-anchor="start" x="9.19" y="-434.2" font-family="arial" font-size="14.00">SENSE_N_6</text>
<polygon fill="none" stroke="black" points="96.38,-428.5 96.38,-451.5 129.75,-451.5 129.75,-428.5 96.38,-428.5"/>
<text text-anchor="start" x="105.56" y="-434.2" font-family="arial" font-size="14.00">24</text>
<polygon fill="none" stroke="black" points="0,-405.5 0,-428.5 96.38,-428.5 96.38,-405.5 0,-405.5"/>
<text text-anchor="start" x="32.81" y="-411.2" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="96.38,-405.5 96.38,-428.5 129.75,-428.5 129.75,-405.5 96.38,-405.5"/>
<text text-anchor="start" x="105.56" y="-411.2" font-family="arial" font-size="14.00">13</text>
</g>
<!-- W1 -->
<g id="node3" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" points="534.75,-820.5 273.75,-820.5 273.75,-347 534.75,-347 534.75,-820.5"/>
<polygon fill="none" stroke="black" points="273.75,-796.75 273.75,-820.5 534.75,-820.5 534.75,-796.75 273.75,-796.75"/>
<text text-anchor="start" x="393.75" y="-803.2" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="273.75,-773 273.75,-796.75 326.81,-796.75 326.81,-773 273.75,-773"/>
<text text-anchor="start" x="289.41" y="-779.45" font-family="arial" font-size="14.00">12x</text>
<polygon fill="none" stroke="black" points="326.81,-773 326.81,-796.75 416.62,-796.75 416.62,-773 326.81,-773"/>
<text text-anchor="start" x="342.47" y="-779.45" font-family="arial" font-size="14.00">0.25 mm²</text>
<polygon fill="none" stroke="black" points="416.62,-773 416.62,-796.75 468.94,-796.75 468.94,-773 416.62,-773"/>
<text text-anchor="start" x="432.28" y="-779.45" font-family="arial" font-size="14.00">+ S</text>
<polygon fill="none" stroke="black" points="468.94,-773 468.94,-796.75 534.75,-796.75 534.75,-773 468.94,-773"/>
<text text-anchor="start" x="484.59" y="-779.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="332.38" y="-757.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="275.75" y="-738.7" font-family="arial" font-size="14.00">X1:14:SENSE_N_1</text>
<text text-anchor="start" x="407.62" y="-738.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:WH &#160;&#160;&#160;</text>
<text text-anchor="start" x="494.5" y="-738.7" font-family="arial" font-size="14.00">X2:z2</text>
<polygon fill="#000000" stroke="none" points="273.75,-733 273.75,-735 534.75,-735 534.75,-733 273.75,-733"/>
<polygon fill="#ffffff" stroke="none" points="273.75,-731 273.75,-733 534.75,-733 534.75,-731 273.75,-731"/>
<polygon fill="#ffffff" stroke="none" points="273.75,-729 273.75,-731 534.75,-731 534.75,-729 273.75,-729"/>
<polygon fill="#ffffff" stroke="none" points="273.75,-727 273.75,-729 534.75,-729 534.75,-727 273.75,-727"/>
<polygon fill="#000000" stroke="none" points="273.75,-725 273.75,-727 534.75,-727 534.75,-725 273.75,-725"/>
<text text-anchor="start" x="279.88" y="-709.7" font-family="arial" font-size="14.00">X1:1:SENSE_P_1</text>
<text text-anchor="start" x="409.88" y="-709.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:BN &#160;&#160;&#160;</text>
<text text-anchor="start" x="494.12" y="-709.7" font-family="arial" font-size="14.00">X2:d4</text>
<polygon fill="#000000" stroke="none" points="273.75,-704 273.75,-706 534.75,-706 534.75,-704 273.75,-704"/>
<polygon fill="#895956" stroke="none" points="273.75,-702 273.75,-704 534.75,-704 534.75,-702 273.75,-702"/>
<polygon fill="#895956" stroke="none" points="273.75,-700 273.75,-702 534.75,-702 534.75,-700 273.75,-700"/>
<polygon fill="#895956" stroke="none" points="273.75,-698 273.75,-700 534.75,-700 534.75,-698 273.75,-698"/>
<polygon fill="#000000" stroke="none" points="273.75,-696 273.75,-698 534.75,-698 534.75,-696 273.75,-696"/>
<text text-anchor="start" x="275.75" y="-680.7" font-family="arial" font-size="14.00">X1:16:SENSE_N_2</text>
<text text-anchor="start" x="408.75" y="-680.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;3:GN &#160;&#160;&#160;</text>
<text text-anchor="start" x="494.5" y="-680.7" font-family="arial" font-size="14.00">X2:z8</text>
<polygon fill="#000000" stroke="none" points="273.75,-675 273.75,-677 534.75,-677 534.75,-675 273.75,-675"/>
<polygon fill="#00ff00" stroke="none" points="273.75,-673 273.75,-675 534.75,-675 534.75,-673 273.75,-673"/>
<polygon fill="#00ff00" stroke="none" points="273.75,-671 273.75,-673 534.75,-673 534.75,-671 273.75,-671"/>
<polygon fill="#00ff00" stroke="none" points="273.75,-669 273.75,-671 534.75,-671 534.75,-669 273.75,-669"/>
<polygon fill="#000000" stroke="none" points="273.75,-667 273.75,-669 534.75,-669 534.75,-667 273.75,-667"/>
<text text-anchor="start" x="279.88" y="-651.7" font-family="arial" font-size="14.00">X1:3:SENSE_P_2</text>
<text text-anchor="start" x="410.25" y="-651.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;4:YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="490.38" y="-651.7" font-family="arial" font-size="14.00">X2:d10</text>
<polygon fill="#000000" stroke="none" points="273.75,-646 273.75,-648 534.75,-648 534.75,-646 273.75,-646"/>
<polygon fill="#ffff00" stroke="none" points="273.75,-644 273.75,-646 534.75,-646 534.75,-644 273.75,-644"/>
<polygon fill="#ffff00" stroke="none" points="273.75,-642 273.75,-644 534.75,-644 534.75,-642 273.75,-642"/>
<polygon fill="#ffff00" stroke="none" points="273.75,-640 273.75,-642 534.75,-642 534.75,-640 273.75,-640"/>
<polygon fill="#000000" stroke="none" points="273.75,-638 273.75,-640 534.75,-640 534.75,-638 273.75,-638"/>
<text text-anchor="start" x="275.75" y="-622.7" font-family="arial" font-size="14.00">X1:18:SENSE_N_3</text>
<text text-anchor="start" x="409.12" y="-622.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;5:GY &#160;&#160;&#160;</text>
<text text-anchor="start" x="490.75" y="-622.7" font-family="arial" font-size="14.00">X2:z14</text>
<polygon fill="#000000" stroke="none" points="273.75,-617 273.75,-619 534.75,-619 534.75,-617 273.75,-617"/>
<polygon fill="#999999" stroke="none" points="273.75,-615 273.75,-617 534.75,-617 534.75,-615 273.75,-615"/>
<polygon fill="#999999" stroke="none" points="273.75,-613 273.75,-615 534.75,-615 534.75,-613 273.75,-613"/>
<polygon fill="#999999" stroke="none" points="273.75,-611 273.75,-613 534.75,-613 534.75,-611 273.75,-611"/>
<polygon fill="#000000" stroke="none" points="273.75,-609 273.75,-611 534.75,-611 534.75,-609 273.75,-609"/>
<text text-anchor="start" x="279.88" y="-593.7" font-family="arial" font-size="14.00">X1:5:SENSE_P_3</text>
<text text-anchor="start" x="410.25" y="-593.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;6:PK &#160;&#160;&#160;</text>
<text text-anchor="start" x="490.38" y="-593.7" font-family="arial" font-size="14.00">X2:d16</text>
<polygon fill="#000000" stroke="none" points="273.75,-588 273.75,-590 534.75,-590 534.75,-588 273.75,-588"/>
<polygon fill="#ff66cc" stroke="none" points="273.75,-586 273.75,-588 534.75,-588 534.75,-586 273.75,-586"/>
<polygon fill="#ff66cc" stroke="none" points="273.75,-584 273.75,-586 534.75,-586 534.75,-584 273.75,-584"/>
<polygon fill="#ff66cc" stroke="none" points="273.75,-582 273.75,-584 534.75,-584 534.75,-582 273.75,-582"/>
<polygon fill="#000000" stroke="none" points="273.75,-580 273.75,-582 534.75,-582 534.75,-580 273.75,-580"/>
<text text-anchor="start" x="275.75" y="-564.7" font-family="arial" font-size="14.00">X1:20:SENSE_N_4</text>
<text text-anchor="start" x="409.88" y="-564.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;7:BU &#160;&#160;&#160;</text>
<text text-anchor="start" x="490.75" y="-564.7" font-family="arial" font-size="14.00">X2:z18</text>
<polygon fill="#000000" stroke="none" points="273.75,-559 273.75,-561 534.75,-561 534.75,-559 273.75,-559"/>
<polygon fill="#0066ff" stroke="none" points="273.75,-557 273.75,-559 534.75,-559 534.75,-557 273.75,-557"/>
<polygon fill="#0066ff" stroke="none" points="273.75,-555 273.75,-557 534.75,-557 534.75,-555 273.75,-555"/>
<polygon fill="#0066ff" stroke="none" points="273.75,-553 273.75,-555 534.75,-555 534.75,-553 273.75,-553"/>
<polygon fill="#000000" stroke="none" points="273.75,-551 273.75,-553 534.75,-553 534.75,-551 273.75,-551"/>
<text text-anchor="start" x="279.88" y="-535.7" font-family="arial" font-size="14.00">X1:7:SENSE_P_4</text>
<text text-anchor="start" x="409.5" y="-535.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;8:RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="490.38" y="-535.7" font-family="arial" font-size="14.00">X2:d20</text>
<polygon fill="#000000" stroke="none" points="273.75,-530 273.75,-532 534.75,-532 534.75,-530 273.75,-530"/>
<polygon fill="#ff0000" stroke="none" points="273.75,-528 273.75,-530 534.75,-530 534.75,-528 273.75,-528"/>
<polygon fill="#ff0000" stroke="none" points="273.75,-526 273.75,-528 534.75,-528 534.75,-526 273.75,-526"/>
<polygon fill="#ff0000" stroke="none" points="273.75,-524 273.75,-526 534.75,-526 534.75,-524 273.75,-524"/>
<polygon fill="#000000" stroke="none" points="273.75,-522 273.75,-524 534.75,-524 534.75,-522 273.75,-522"/>
<text text-anchor="start" x="275.75" y="-506.7" font-family="arial" font-size="14.00">X1:22:SENSE_N_5</text>
<text text-anchor="start" x="410.25" y="-506.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;9:BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="490.75" y="-506.7" font-family="arial" font-size="14.00">X2:z24</text>
<polygon fill="#000000" stroke="none" points="273.75,-501 273.75,-503 534.75,-503 534.75,-501 273.75,-501"/>
<polygon fill="#000000" stroke="none" points="273.75,-499 273.75,-501 534.75,-501 534.75,-499 273.75,-499"/>
<polygon fill="#000000" stroke="none" points="273.75,-497 273.75,-499 534.75,-499 534.75,-497 273.75,-497"/>
<polygon fill="#000000" stroke="none" points="273.75,-495 273.75,-497 534.75,-497 534.75,-495 273.75,-495"/>
<polygon fill="#000000" stroke="none" points="273.75,-493 273.75,-495 534.75,-495 534.75,-493 273.75,-493"/>
<text text-anchor="start" x="279.88" y="-477.7" font-family="arial" font-size="14.00">X1:9:SENSE_P_5</text>
<text text-anchor="start" x="406.88" y="-477.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;10:VT &#160;&#160;&#160;</text>
<text text-anchor="start" x="490.38" y="-477.7" font-family="arial" font-size="14.00">X2:d26</text>
<polygon fill="#000000" stroke="none" points="273.75,-472 273.75,-474 534.75,-474 534.75,-472 273.75,-472"/>
<polygon fill="#8000ff" stroke="none" points="273.75,-470 273.75,-472 534.75,-472 534.75,-470 273.75,-470"/>
<polygon fill="#8000ff" stroke="none" points="273.75,-468 273.75,-470 534.75,-470 534.75,-468 273.75,-468"/>
<polygon fill="#8000ff" stroke="none" points="273.75,-466 273.75,-468 534.75,-468 534.75,-466 273.75,-466"/>
<polygon fill="#000000" stroke="none" points="273.75,-464 273.75,-466 534.75,-466 534.75,-464 273.75,-464"/>
<text text-anchor="start" x="275.75" y="-448.7" font-family="arial" font-size="14.00">X1:24:SENSE_N_6</text>
<text text-anchor="start" x="396.75" y="-448.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;11:GYPK &#160;&#160;&#160;</text>
<text text-anchor="start" x="490.75" y="-448.7" font-family="arial" font-size="14.00">X2:z30</text>
<polygon fill="#000000" stroke="none" points="273.75,-443 273.75,-445 534.75,-445 534.75,-443 273.75,-443"/>
<polygon fill="#999999" stroke="none" points="273.75,-441 273.75,-443 534.75,-443 534.75,-441 273.75,-441"/>
<polygon fill="#ff66cc" stroke="none" points="273.75,-439 273.75,-441 534.75,-441 534.75,-439 273.75,-439"/>
<polygon fill="#999999" stroke="none" points="273.75,-437 273.75,-439 534.75,-439 534.75,-437 273.75,-437"/>
<polygon fill="#000000" stroke="none" points="273.75,-435 273.75,-437 534.75,-437 534.75,-435 273.75,-435"/>
<text text-anchor="start" x="276.5" y="-419.7" font-family="arial" font-size="14.00">X1:11:SENSE_P_6</text>
<text text-anchor="start" x="396.38" y="-419.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;12:RDBU &#160;&#160;&#160;</text>
<text text-anchor="start" x="490.38" y="-419.7" font-family="arial" font-size="14.00">X2:d32</text>
<polygon fill="#000000" stroke="none" points="273.75,-414 273.75,-416 534.75,-416 534.75,-414 273.75,-414"/>
<polygon fill="#ff0000" stroke="none" points="273.75,-412 273.75,-414 534.75,-414 534.75,-412 273.75,-412"/>
<polygon fill="#0066ff" stroke="none" points="273.75,-410 273.75,-412 534.75,-412 534.75,-410 273.75,-410"/>
<polygon fill="#ff0000" stroke="none" points="273.75,-408 273.75,-410 534.75,-410 534.75,-408 273.75,-408"/>
<polygon fill="#000000" stroke="none" points="273.75,-406 273.75,-408 534.75,-408 534.75,-406 273.75,-406"/>
<text text-anchor="start" x="332.38" y="-390.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="299.38" y="-371.7" font-family="arial" font-size="14.00">X1:13:GND</text>
<text text-anchor="start" x="423" y="-371.7" font-family="arial" font-size="14.00">Shield</text>
<polygon fill="#000000" stroke="none" points="273.75,-366 273.75,-368 534.75,-368 534.75,-366 273.75,-366"/>
<text text-anchor="start" x="332.38" y="-350.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge1" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-688.75C195.66,-689.18 211.46,-697.18 273.75,-696.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M129.75,-690.75C194.75,-690.97 210.55,-698.97 273.75,-698.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M129.75,-692.75C193.85,-692.75 209.65,-700.75 273.75,-700.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M129.75,-694.75C192.95,-694.53 208.75,-702.53 273.75,-702.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-696.75C192.04,-696.32 207.84,-704.32 273.75,-704.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge3" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-665.75C203.07,-669.4 208.4,-729.4 273.75,-725.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M129.75,-667.75C201.08,-669.57 206.41,-729.57 273.75,-727.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M129.75,-669.75C199.08,-669.75 204.42,-729.75 273.75,-729.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M129.75,-671.75C197.09,-669.93 202.42,-729.93 273.75,-731.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-673.75C195.1,-670.1 200.43,-730.1 273.75,-733.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge5" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-642.75C192.8,-642.87 208.75,-638.87 273.75,-638.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M129.75,-644.75C193.29,-644.81 209.24,-640.81 273.75,-640.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M129.75,-646.75C193.77,-646.75 209.73,-642.75 273.75,-642.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M129.75,-648.75C194.26,-648.69 210.21,-644.69 273.75,-644.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-650.75C194.75,-650.63 210.7,-646.63 273.75,-646.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge7" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-619.75C201.14,-623.01 210.22,-671.01 273.75,-667.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M129.75,-621.75C199.18,-623.38 208.25,-671.38 273.75,-669.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M129.75,-623.75C197.21,-623.75 206.29,-671.75 273.75,-671.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M129.75,-625.75C195.25,-624.12 204.32,-672.12 273.75,-673.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-627.75C193.28,-624.49 202.36,-672.49 273.75,-675.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge9" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-596.75C191.24,-597.99 206.46,-581.99 273.75,-580.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M129.75,-598.75C192.69,-599.37 207.91,-583.37 273.75,-582.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M129.75,-600.75C194.14,-600.75 209.36,-584.75 273.75,-584.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M129.75,-602.75C195.59,-602.13 210.81,-586.13 273.75,-586.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-604.75C197.04,-603.51 212.26,-587.51 273.75,-588.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge11" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-573.75C199.51,-576.48 211.57,-612.48 273.75,-609.75"/>
<path fill="none" stroke="#999999" stroke-width="2" d="M129.75,-575.75C197.62,-577.11 209.68,-613.11 273.75,-611.75"/>
<path fill="none" stroke="#999999" stroke-width="2" d="M129.75,-577.75C195.72,-577.75 207.78,-613.75 273.75,-613.75"/>
<path fill="none" stroke="#999999" stroke-width="2" d="M129.75,-579.75C193.82,-578.39 205.88,-614.39 273.75,-615.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-581.75C191.93,-579.02 203.99,-615.02 273.75,-617.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge13" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-550.75C191.35,-553 204.95,-525 273.75,-522.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M129.75,-552.75C193.15,-553.88 206.75,-525.88 273.75,-524.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M129.75,-554.75C194.95,-554.75 208.55,-526.75 273.75,-526.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M129.75,-556.75C196.75,-555.62 210.35,-527.62 273.75,-528.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-558.75C198.55,-556.5 212.15,-528.5 273.75,-530.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge15" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-527.75C198.07,-529.71 212.31,-553.71 273.75,-551.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M129.75,-529.75C196.35,-530.73 210.59,-554.73 273.75,-553.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M129.75,-531.75C194.63,-531.75 208.87,-555.75 273.75,-555.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M129.75,-533.75C192.91,-532.77 207.15,-556.77 273.75,-557.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-535.75C191.19,-533.79 205.43,-557.79 273.75,-559.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge17" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-504.75C192.32,-507.68 203.47,-467.68 273.75,-464.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M129.75,-506.75C194.25,-508.21 205.4,-468.21 273.75,-466.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M129.75,-508.75C196.17,-508.75 207.33,-468.75 273.75,-468.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M129.75,-510.75C198.1,-509.29 209.25,-469.29 273.75,-470.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-512.75C200.03,-509.82 211.18,-469.82 273.75,-472.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge19" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-481.75C196.41,-482.58 211.97,-494.58 273.75,-493.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-483.75C195.19,-484.17 210.75,-496.17 273.75,-495.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-485.75C193.97,-485.75 209.53,-497.75 273.75,-497.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-487.75C192.75,-487.33 208.31,-499.33 273.75,-499.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-489.75C191.53,-488.92 207.09,-500.92 273.75,-501.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge21" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-458.75C193.84,-462.15 201.75,-410.15 273.75,-406.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M129.75,-460.75C195.82,-462.45 203.73,-410.45 273.75,-408.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M129.75,-462.75C197.8,-462.75 205.7,-410.75 273.75,-410.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M129.75,-464.75C199.77,-463.05 207.68,-411.05 273.75,-412.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-466.75C201.75,-463.35 209.66,-411.35 273.75,-414.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge23" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-435.75C193.75,-435.75 209.75,-435.75 273.75,-435.75"/>
<path fill="none" stroke="#999999" stroke-width="2" d="M129.75,-437.75C193.75,-437.75 209.75,-437.75 273.75,-437.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M129.75,-439.75C193.75,-439.75 209.75,-439.75 273.75,-439.75"/>
<path fill="none" stroke="#999999" stroke-width="2" d="M129.75,-441.75C193.75,-441.75 209.75,-441.75 273.75,-441.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-443.75C193.75,-443.75 209.75,-443.75 273.75,-443.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge25" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-416.75C197.5,-416.75 206,-366.75 273.75,-366.75"/>
</g>
<!-- X2 -->
<g id="node2" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="804.75,-1187.5 678.75,-1187.5 678.75,0 804.75,0 804.75,-1187.5"/>
<polygon fill="none" stroke="black" points="678.75,-1163.75 678.75,-1187.5 804.75,-1187.5 804.75,-1163.75 678.75,-1163.75"/>
<text text-anchor="start" x="733.5" y="-1170.2" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="678.75,-1140 678.75,-1163.75 710,-1163.75 710,-1140 678.75,-1140"/>
<text text-anchor="start" x="682.75" y="-1146.45" font-family="arial" font-size="14.00">F48</text>
<polygon fill="none" stroke="black" points="710,-1140 710,-1163.75 759.25,-1163.75 759.25,-1140 710,-1140"/>
<text text-anchor="start" x="714" y="-1146.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="759.25,-1140 759.25,-1163.75 804.75,-1163.75 804.75,-1140 759.25,-1140"/>
<text text-anchor="start" x="763.25" y="-1146.45" font-family="arial" font-size="14.00">48&#45;pin</text>
<polygon fill="none" stroke="black" points="678.75,-1116.25 678.75,-1140 804.75,-1140 804.75,-1116.25 678.75,-1116.25"/>
<text text-anchor="start" x="734.62" y="-1122.7" font-family="arial" font-size="14.00">z2</text>
<polygon fill="none" stroke="black" points="678.75,-1092.5 678.75,-1116.25 804.75,-1116.25 804.75,-1092.5 678.75,-1092.5"/>
<text text-anchor="start" x="734.25" y="-1098.95" font-family="arial" font-size="14.00">b2</text>
<polygon fill="none" stroke="black" points="678.75,-1068.75 678.75,-1092.5 804.75,-1092.5 804.75,-1068.75 678.75,-1068.75"/>
<text text-anchor="start" x="734.25" y="-1075.2" font-family="arial" font-size="14.00">d2</text>
<polygon fill="none" stroke="black" points="678.75,-1045 678.75,-1068.75 804.75,-1068.75 804.75,-1045 678.75,-1045"/>
<text text-anchor="start" x="734.62" y="-1051.45" font-family="arial" font-size="14.00">z4</text>
<polygon fill="none" stroke="black" points="678.75,-1021.25 678.75,-1045 804.75,-1045 804.75,-1021.25 678.75,-1021.25"/>
<text text-anchor="start" x="734.25" y="-1027.7" font-family="arial" font-size="14.00">b4</text>
<polygon fill="none" stroke="black" points="678.75,-997.5 678.75,-1021.25 804.75,-1021.25 804.75,-997.5 678.75,-997.5"/>
<text text-anchor="start" x="734.25" y="-1003.95" font-family="arial" font-size="14.00">d4</text>
<polygon fill="none" stroke="black" points="678.75,-973.75 678.75,-997.5 804.75,-997.5 804.75,-973.75 678.75,-973.75"/>
<text text-anchor="start" x="734.62" y="-980.2" font-family="arial" font-size="14.00">z6</text>
<polygon fill="none" stroke="black" points="678.75,-950 678.75,-973.75 804.75,-973.75 804.75,-950 678.75,-950"/>
<text text-anchor="start" x="734.25" y="-956.45" font-family="arial" font-size="14.00">b6</text>
<polygon fill="none" stroke="black" points="678.75,-926.25 678.75,-950 804.75,-950 804.75,-926.25 678.75,-926.25"/>
<text text-anchor="start" x="734.25" y="-932.7" font-family="arial" font-size="14.00">d6</text>
<polygon fill="none" stroke="black" points="678.75,-902.5 678.75,-926.25 804.75,-926.25 804.75,-902.5 678.75,-902.5"/>
<text text-anchor="start" x="734.62" y="-908.95" font-family="arial" font-size="14.00">z8</text>
<polygon fill="none" stroke="black" points="678.75,-878.75 678.75,-902.5 804.75,-902.5 804.75,-878.75 678.75,-878.75"/>
<text text-anchor="start" x="734.25" y="-885.2" font-family="arial" font-size="14.00">b8</text>
<polygon fill="none" stroke="black" points="678.75,-855 678.75,-878.75 804.75,-878.75 804.75,-855 678.75,-855"/>
<text text-anchor="start" x="734.25" y="-861.45" font-family="arial" font-size="14.00">d8</text>
<polygon fill="none" stroke="black" points="678.75,-831.25 678.75,-855 804.75,-855 804.75,-831.25 678.75,-831.25"/>
<text text-anchor="start" x="730.88" y="-837.7" font-family="arial" font-size="14.00">z10</text>
<polygon fill="none" stroke="black" points="678.75,-807.5 678.75,-831.25 804.75,-831.25 804.75,-807.5 678.75,-807.5"/>
<text text-anchor="start" x="730.5" y="-813.95" font-family="arial" font-size="14.00">b10</text>
<polygon fill="none" stroke="black" points="678.75,-783.75 678.75,-807.5 804.75,-807.5 804.75,-783.75 678.75,-783.75"/>
<text text-anchor="start" x="730.5" y="-790.2" font-family="arial" font-size="14.00">d10</text>
<polygon fill="none" stroke="black" points="678.75,-760 678.75,-783.75 804.75,-783.75 804.75,-760 678.75,-760"/>
<text text-anchor="start" x="730.88" y="-766.45" font-family="arial" font-size="14.00">z12</text>
<polygon fill="none" stroke="black" points="678.75,-736.25 678.75,-760 804.75,-760 804.75,-736.25 678.75,-736.25"/>
<text text-anchor="start" x="730.5" y="-742.7" font-family="arial" font-size="14.00">b12</text>
<polygon fill="none" stroke="black" points="678.75,-712.5 678.75,-736.25 804.75,-736.25 804.75,-712.5 678.75,-712.5"/>
<text text-anchor="start" x="730.5" y="-718.95" font-family="arial" font-size="14.00">d12</text>
<polygon fill="none" stroke="black" points="678.75,-688.75 678.75,-712.5 804.75,-712.5 804.75,-688.75 678.75,-688.75"/>
<text text-anchor="start" x="730.88" y="-695.2" font-family="arial" font-size="14.00">z14</text>
<polygon fill="none" stroke="black" points="678.75,-665 678.75,-688.75 804.75,-688.75 804.75,-665 678.75,-665"/>
<text text-anchor="start" x="730.5" y="-671.45" font-family="arial" font-size="14.00">b14</text>
<polygon fill="none" stroke="black" points="678.75,-641.25 678.75,-665 804.75,-665 804.75,-641.25 678.75,-641.25"/>
<text text-anchor="start" x="730.5" y="-647.7" font-family="arial" font-size="14.00">d14</text>
<polygon fill="none" stroke="black" points="678.75,-617.5 678.75,-641.25 804.75,-641.25 804.75,-617.5 678.75,-617.5"/>
<text text-anchor="start" x="730.88" y="-623.95" font-family="arial" font-size="14.00">z16</text>
<polygon fill="none" stroke="black" points="678.75,-593.75 678.75,-617.5 804.75,-617.5 804.75,-593.75 678.75,-593.75"/>
<text text-anchor="start" x="730.5" y="-600.2" font-family="arial" font-size="14.00">b16</text>
<polygon fill="none" stroke="black" points="678.75,-570 678.75,-593.75 804.75,-593.75 804.75,-570 678.75,-570"/>
<text text-anchor="start" x="730.5" y="-576.45" font-family="arial" font-size="14.00">d16</text>
<polygon fill="none" stroke="black" points="678.75,-546.25 678.75,-570 804.75,-570 804.75,-546.25 678.75,-546.25"/>
<text text-anchor="start" x="730.88" y="-552.7" font-family="arial" font-size="14.00">z18</text>
<polygon fill="none" stroke="black" points="678.75,-522.5 678.75,-546.25 804.75,-546.25 804.75,-522.5 678.75,-522.5"/>
<text text-anchor="start" x="730.5" y="-528.95" font-family="arial" font-size="14.00">b18</text>
<polygon fill="none" stroke="black" points="678.75,-498.75 678.75,-522.5 804.75,-522.5 804.75,-498.75 678.75,-498.75"/>
<text text-anchor="start" x="730.5" y="-505.2" font-family="arial" font-size="14.00">d18</text>
<polygon fill="none" stroke="black" points="678.75,-475 678.75,-498.75 804.75,-498.75 804.75,-475 678.75,-475"/>
<text text-anchor="start" x="730.88" y="-481.45" font-family="arial" font-size="14.00">z20</text>
<polygon fill="none" stroke="black" points="678.75,-451.25 678.75,-475 804.75,-475 804.75,-451.25 678.75,-451.25"/>
<text text-anchor="start" x="730.5" y="-457.7" font-family="arial" font-size="14.00">b20</text>
<polygon fill="none" stroke="black" points="678.75,-427.5 678.75,-451.25 804.75,-451.25 804.75,-427.5 678.75,-427.5"/>
<text text-anchor="start" x="730.5" y="-433.95" font-family="arial" font-size="14.00">d20</text>
<polygon fill="none" stroke="black" points="678.75,-403.75 678.75,-427.5 804.75,-427.5 804.75,-403.75 678.75,-403.75"/>
<text text-anchor="start" x="730.88" y="-410.2" font-family="arial" font-size="14.00">z22</text>
<polygon fill="none" stroke="black" points="678.75,-380 678.75,-403.75 804.75,-403.75 804.75,-380 678.75,-380"/>
<text text-anchor="start" x="730.5" y="-386.45" font-family="arial" font-size="14.00">b22</text>
<polygon fill="none" stroke="black" points="678.75,-356.25 678.75,-380 804.75,-380 804.75,-356.25 678.75,-356.25"/>
<text text-anchor="start" x="730.5" y="-362.7" font-family="arial" font-size="14.00">d22</text>
<polygon fill="none" stroke="black" points="678.75,-332.5 678.75,-356.25 804.75,-356.25 804.75,-332.5 678.75,-332.5"/>
<text text-anchor="start" x="730.88" y="-338.95" font-family="arial" font-size="14.00">z24</text>
<polygon fill="none" stroke="black" points="678.75,-308.75 678.75,-332.5 804.75,-332.5 804.75,-308.75 678.75,-308.75"/>
<text text-anchor="start" x="730.5" y="-315.2" font-family="arial" font-size="14.00">b24</text>
<polygon fill="none" stroke="black" points="678.75,-285 678.75,-308.75 804.75,-308.75 804.75,-285 678.75,-285"/>
<text text-anchor="start" x="730.5" y="-291.45" font-family="arial" font-size="14.00">d24</text>
<polygon fill="none" stroke="black" points="678.75,-261.25 678.75,-285 804.75,-285 804.75,-261.25 678.75,-261.25"/>
<text text-anchor="start" x="730.88" y="-267.7" font-family="arial" font-size="14.00">z26</text>
<polygon fill="none" stroke="black" points="678.75,-237.5 678.75,-261.25 804.75,-261.25 804.75,-237.5 678.75,-237.5"/>
<text text-anchor="start" x="730.5" y="-243.95" font-family="arial" font-size="14.00">b26</text>
<polygon fill="none" stroke="black" points="678.75,-213.75 678.75,-237.5 804.75,-237.5 804.75,-213.75 678.75,-213.75"/>
<text text-anchor="start" x="730.5" y="-220.2" font-family="arial" font-size="14.00">d26</text>
<polygon fill="none" stroke="black" points="678.75,-190 678.75,-213.75 804.75,-213.75 804.75,-190 678.75,-190"/>
<text text-anchor="start" x="730.88" y="-196.45" font-family="arial" font-size="14.00">z28</text>
<polygon fill="none" stroke="black" points="678.75,-166.25 678.75,-190 804.75,-190 804.75,-166.25 678.75,-166.25"/>
<text text-anchor="start" x="730.5" y="-172.7" font-family="arial" font-size="14.00">b28</text>
<polygon fill="none" stroke="black" points="678.75,-142.5 678.75,-166.25 804.75,-166.25 804.75,-142.5 678.75,-142.5"/>
<text text-anchor="start" x="730.5" y="-148.95" font-family="arial" font-size="14.00">d28</text>
<polygon fill="none" stroke="black" points="678.75,-118.75 678.75,-142.5 804.75,-142.5 804.75,-118.75 678.75,-118.75"/>
<text text-anchor="start" x="730.88" y="-125.2" font-family="arial" font-size="14.00">z30</text>
<polygon fill="none" stroke="black" points="678.75,-95 678.75,-118.75 804.75,-118.75 804.75,-95 678.75,-95"/>
<text text-anchor="start" x="730.5" y="-101.45" font-family="arial" font-size="14.00">b30</text>
<polygon fill="none" stroke="black" points="678.75,-71.25 678.75,-95 804.75,-95 804.75,-71.25 678.75,-71.25"/>
<text text-anchor="start" x="730.5" y="-77.7" font-family="arial" font-size="14.00">d30</text>
<polygon fill="none" stroke="black" points="678.75,-47.5 678.75,-71.25 804.75,-71.25 804.75,-47.5 678.75,-47.5"/>
<text text-anchor="start" x="730.88" y="-53.95" font-family="arial" font-size="14.00">z32</text>
<polygon fill="none" stroke="black" points="678.75,-23.75 678.75,-47.5 804.75,-47.5 804.75,-23.75 678.75,-23.75"/>
<text text-anchor="start" x="730.5" y="-30.2" font-family="arial" font-size="14.00">b32</text>
<polygon fill="none" stroke="black" points="678.75,0 678.75,-23.75 804.75,-23.75 804.75,0 678.75,0"/>
<text text-anchor="start" x="730.5" y="-6.45" font-family="arial" font-size="14.00">d32</text>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-696.75C689.82,-702.58 530.79,-1011.58 678.75,-1005.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M534.75,-698.75C688.04,-701.67 529.01,-1010.67 678.75,-1007.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M534.75,-700.75C686.26,-700.75 527.24,-1009.75 678.75,-1009.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M534.75,-702.75C684.49,-699.83 525.46,-1008.83 678.75,-1011.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-704.75C682.71,-698.92 523.68,-1007.92 678.75,-1013.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-725.75C726.32,-731.77 494.09,-1129.77 678.75,-1123.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M534.75,-727.75C724.59,-730.76 492.37,-1128.76 678.75,-1125.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M534.75,-729.75C722.86,-729.75 490.64,-1127.75 678.75,-1127.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M534.75,-731.75C721.13,-728.74 488.91,-1126.74 678.75,-1129.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-733.75C719.41,-727.73 487.18,-1125.73 678.75,-1131.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge6" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-638.75C631.98,-643.83 589.22,-796.83 678.75,-791.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M534.75,-640.75C630.06,-643.29 587.3,-796.29 678.75,-793.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M534.75,-642.75C628.13,-642.75 585.37,-795.75 678.75,-795.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M534.75,-644.75C626.2,-642.21 583.44,-795.21 678.75,-797.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-646.75C624.28,-641.67 581.52,-794.67 678.75,-799.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge8" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-667.75C663.95,-673.36 556.87,-916.36 678.75,-910.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M534.75,-669.75C662.12,-672.56 555.04,-915.56 678.75,-912.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M534.75,-671.75C660.29,-671.75 553.21,-914.75 678.75,-914.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M534.75,-673.75C658.46,-670.94 551.38,-913.94 678.75,-916.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-675.75C656.63,-670.14 549.55,-913.14 678.75,-918.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge10" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-580.75C598.03,-580.82 614,-577.82 678.75,-577.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M534.75,-582.75C598.39,-582.78 614.37,-579.78 678.75,-579.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M534.75,-584.75C598.76,-584.75 614.74,-581.75 678.75,-581.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M534.75,-586.75C599.13,-586.72 615.11,-583.72 678.75,-583.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-588.75C599.5,-588.68 615.47,-585.68 678.75,-585.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge12" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-609.75C613.52,-614 607.97,-701 678.75,-696.75"/>
<path fill="none" stroke="#999999" stroke-width="2" d="M534.75,-611.75C611.52,-613.88 605.97,-700.88 678.75,-698.75"/>
<path fill="none" stroke="#999999" stroke-width="2" d="M534.75,-613.75C609.52,-613.75 603.98,-700.75 678.75,-700.75"/>
<path fill="none" stroke="#999999" stroke-width="2" d="M534.75,-615.75C607.53,-613.62 601.98,-700.62 678.75,-702.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-617.75C605.53,-613.5 599.98,-700.5 678.75,-704.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge14" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-522.75C605.53,-527 599.98,-440 678.75,-435.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M534.75,-524.75C607.53,-526.88 601.98,-439.88 678.75,-437.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M534.75,-526.75C609.52,-526.75 603.98,-439.75 678.75,-439.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M534.75,-528.75C611.52,-526.62 605.97,-439.62 678.75,-441.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-530.75C613.52,-526.5 607.97,-439.5 678.75,-443.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge16" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-551.75C599.25,-551.78 615.24,-553.78 678.75,-553.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M534.75,-553.75C599,-553.77 614.99,-555.77 678.75,-555.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M534.75,-555.75C598.76,-555.75 614.74,-557.75 678.75,-557.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M534.75,-557.75C598.51,-557.73 614.5,-559.73 678.75,-559.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-559.75C598.26,-559.72 614.25,-561.72 678.75,-561.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge18" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-464.75C656.63,-470.36 549.55,-227.36 678.75,-221.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M534.75,-466.75C658.46,-469.56 551.38,-226.56 678.75,-223.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M534.75,-468.75C660.29,-468.75 553.21,-225.75 678.75,-225.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M534.75,-470.75C662.12,-467.94 555.04,-224.94 678.75,-227.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-472.75C663.95,-467.14 556.87,-224.14 678.75,-229.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge20" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-493.75C624.28,-498.83 581.52,-345.83 678.75,-340.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-495.75C626.2,-498.29 583.44,-345.29 678.75,-342.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-497.75C628.13,-497.75 585.37,-344.75 678.75,-344.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-499.75C630.06,-497.21 587.3,-344.21 678.75,-346.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-501.75C631.98,-496.67 589.22,-343.67 678.75,-348.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge22" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-406.75C719.82,-412.77 486.77,-13.77 678.75,-7.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M534.75,-408.75C721.55,-411.76 488.49,-12.76 678.75,-9.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M534.75,-410.75C723.28,-410.75 490.22,-11.75 678.75,-11.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M534.75,-412.75C725.01,-409.74 491.95,-10.74 678.75,-13.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-414.75C726.73,-408.73 493.68,-9.73 678.75,-15.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge24" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-435.75C682.71,-441.58 523.68,-132.58 678.75,-126.75"/>
<path fill="none" stroke="#999999" stroke-width="2" d="M534.75,-437.75C684.49,-440.67 525.46,-131.67 678.75,-128.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M534.75,-439.75C686.26,-439.75 527.24,-130.75 678.75,-130.75"/>
<path fill="none" stroke="#999999" stroke-width="2" d="M534.75,-441.75C688.04,-438.83 529.01,-129.83 678.75,-132.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-443.75C689.82,-437.92 530.79,-128.92 678.75,-134.75"/>
</g>
</g>
</svg>
</div>
<div id="notes">
<!-- %notes% -->
</div>
<h2>Bill of Materials</h2>
<div id="bom">
<table class="bom">
<tr>
<th class="bom_col_id">Id</th>
<th class="bom_col_description">Description</th>
<th class="bom_col_qty">Qty</th>
<th class="bom_col_unit">Unit</th>
<th class="bom_col_designators">Designators</th>
</tr>
<tr>
<td class="bom_col_id">1</td>
<td class="bom_col_description">Cable, 12 x 0.25 mm² shielded</td>
<td class="bom_col_qty">0.2</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1</td>
</tr>
<tr>
<td class="bom_col_id">2</td>
<td class="bom_col_description">Connector, D-Sub, male, 25 pins</td>
<td class="bom_col_qty">1</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X1</td>
</tr>
<tr>
<td class="bom_col_id">3</td>
<td class="bom_col_description">Connector, F48, female, 48 pins</td>
<td class="bom_col_qty">1</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X2</td>
</tr>
</table>
</div>
</body></html>

BIN
examples/ex09.png generated Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 KiB

524
examples/ex09.svg generated Normal file
View File

@ -0,0 +1,524 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="813pt" height="1196pt"
viewBox="0.00 0.00 812.75 1195.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1191.5)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-1191.5 808.75,-1191.5 808.75,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="129.75,-752 0,-752 0,-405.5 129.75,-405.5 129.75,-752"/>
<polygon fill="none" stroke="black" points="0,-728.25 0,-752 129.75,-752 129.75,-728.25 0,-728.25"/>
<text text-anchor="start" x="56.62" y="-734.7" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-704.5 0,-728.25 46.25,-728.25 46.25,-704.5 0,-704.5"/>
<text text-anchor="start" x="4" y="-710.95" font-family="arial" font-size="14.00">D&#45;Sub</text>
<polygon fill="none" stroke="black" points="46.25,-704.5 46.25,-728.25 84.25,-728.25 84.25,-704.5 46.25,-704.5"/>
<text text-anchor="start" x="50.25" y="-710.95" font-family="arial" font-size="14.00">male</text>
<polygon fill="none" stroke="black" points="84.25,-704.5 84.25,-728.25 129.75,-728.25 129.75,-704.5 84.25,-704.5"/>
<text text-anchor="start" x="88.25" y="-710.95" font-family="arial" font-size="14.00">25&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-681.5 0,-704.5 96.38,-704.5 96.38,-681.5 0,-681.5"/>
<text text-anchor="start" x="9.56" y="-687.2" font-family="arial" font-size="14.00">SENSE_P_1</text>
<polygon fill="none" stroke="black" points="96.38,-681.5 96.38,-704.5 129.75,-704.5 129.75,-681.5 96.38,-681.5"/>
<text text-anchor="start" x="109.31" y="-687.2" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-658.5 0,-681.5 96.38,-681.5 96.38,-658.5 0,-658.5"/>
<text text-anchor="start" x="9.19" y="-664.2" font-family="arial" font-size="14.00">SENSE_N_1</text>
<polygon fill="none" stroke="black" points="96.38,-658.5 96.38,-681.5 129.75,-681.5 129.75,-658.5 96.38,-658.5"/>
<text text-anchor="start" x="105.56" y="-664.2" font-family="arial" font-size="14.00">14</text>
<polygon fill="none" stroke="black" points="0,-635.5 0,-658.5 96.38,-658.5 96.38,-635.5 0,-635.5"/>
<text text-anchor="start" x="9.56" y="-641.2" font-family="arial" font-size="14.00">SENSE_P_2</text>
<polygon fill="none" stroke="black" points="96.38,-635.5 96.38,-658.5 129.75,-658.5 129.75,-635.5 96.38,-635.5"/>
<text text-anchor="start" x="109.31" y="-641.2" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="0,-612.5 0,-635.5 96.38,-635.5 96.38,-612.5 0,-612.5"/>
<text text-anchor="start" x="9.19" y="-618.2" font-family="arial" font-size="14.00">SENSE_N_2</text>
<polygon fill="none" stroke="black" points="96.38,-612.5 96.38,-635.5 129.75,-635.5 129.75,-612.5 96.38,-612.5"/>
<text text-anchor="start" x="105.56" y="-618.2" font-family="arial" font-size="14.00">16</text>
<polygon fill="none" stroke="black" points="0,-589.5 0,-612.5 96.38,-612.5 96.38,-589.5 0,-589.5"/>
<text text-anchor="start" x="9.56" y="-595.2" font-family="arial" font-size="14.00">SENSE_P_3</text>
<polygon fill="none" stroke="black" points="96.38,-589.5 96.38,-612.5 129.75,-612.5 129.75,-589.5 96.38,-589.5"/>
<text text-anchor="start" x="109.31" y="-595.2" font-family="arial" font-size="14.00">5</text>
<polygon fill="none" stroke="black" points="0,-566.5 0,-589.5 96.38,-589.5 96.38,-566.5 0,-566.5"/>
<text text-anchor="start" x="9.19" y="-572.2" font-family="arial" font-size="14.00">SENSE_N_3</text>
<polygon fill="none" stroke="black" points="96.38,-566.5 96.38,-589.5 129.75,-589.5 129.75,-566.5 96.38,-566.5"/>
<text text-anchor="start" x="105.56" y="-572.2" font-family="arial" font-size="14.00">18</text>
<polygon fill="none" stroke="black" points="0,-543.5 0,-566.5 96.38,-566.5 96.38,-543.5 0,-543.5"/>
<text text-anchor="start" x="9.56" y="-549.2" font-family="arial" font-size="14.00">SENSE_P_4</text>
<polygon fill="none" stroke="black" points="96.38,-543.5 96.38,-566.5 129.75,-566.5 129.75,-543.5 96.38,-543.5"/>
<text text-anchor="start" x="109.31" y="-549.2" font-family="arial" font-size="14.00">7</text>
<polygon fill="none" stroke="black" points="0,-520.5 0,-543.5 96.38,-543.5 96.38,-520.5 0,-520.5"/>
<text text-anchor="start" x="9.19" y="-526.2" font-family="arial" font-size="14.00">SENSE_N_4</text>
<polygon fill="none" stroke="black" points="96.38,-520.5 96.38,-543.5 129.75,-543.5 129.75,-520.5 96.38,-520.5"/>
<text text-anchor="start" x="105.56" y="-526.2" font-family="arial" font-size="14.00">20</text>
<polygon fill="none" stroke="black" points="0,-497.5 0,-520.5 96.38,-520.5 96.38,-497.5 0,-497.5"/>
<text text-anchor="start" x="9.56" y="-503.2" font-family="arial" font-size="14.00">SENSE_P_5</text>
<polygon fill="none" stroke="black" points="96.38,-497.5 96.38,-520.5 129.75,-520.5 129.75,-497.5 96.38,-497.5"/>
<text text-anchor="start" x="109.31" y="-503.2" font-family="arial" font-size="14.00">9</text>
<polygon fill="none" stroke="black" points="0,-474.5 0,-497.5 96.38,-497.5 96.38,-474.5 0,-474.5"/>
<text text-anchor="start" x="9.19" y="-480.2" font-family="arial" font-size="14.00">SENSE_N_5</text>
<polygon fill="none" stroke="black" points="96.38,-474.5 96.38,-497.5 129.75,-497.5 129.75,-474.5 96.38,-474.5"/>
<text text-anchor="start" x="105.56" y="-480.2" font-family="arial" font-size="14.00">22</text>
<polygon fill="none" stroke="black" points="0,-451.5 0,-474.5 96.38,-474.5 96.38,-451.5 0,-451.5"/>
<text text-anchor="start" x="9.56" y="-457.2" font-family="arial" font-size="14.00">SENSE_P_6</text>
<polygon fill="none" stroke="black" points="96.38,-451.5 96.38,-474.5 129.75,-474.5 129.75,-451.5 96.38,-451.5"/>
<text text-anchor="start" x="105.94" y="-457.2" font-family="arial" font-size="14.00">11</text>
<polygon fill="none" stroke="black" points="0,-428.5 0,-451.5 96.38,-451.5 96.38,-428.5 0,-428.5"/>
<text text-anchor="start" x="9.19" y="-434.2" font-family="arial" font-size="14.00">SENSE_N_6</text>
<polygon fill="none" stroke="black" points="96.38,-428.5 96.38,-451.5 129.75,-451.5 129.75,-428.5 96.38,-428.5"/>
<text text-anchor="start" x="105.56" y="-434.2" font-family="arial" font-size="14.00">24</text>
<polygon fill="none" stroke="black" points="0,-405.5 0,-428.5 96.38,-428.5 96.38,-405.5 0,-405.5"/>
<text text-anchor="start" x="32.81" y="-411.2" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="96.38,-405.5 96.38,-428.5 129.75,-428.5 129.75,-405.5 96.38,-405.5"/>
<text text-anchor="start" x="105.56" y="-411.2" font-family="arial" font-size="14.00">13</text>
</g>
<!-- W1 -->
<g id="node3" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" points="534.75,-820.5 273.75,-820.5 273.75,-347 534.75,-347 534.75,-820.5"/>
<polygon fill="none" stroke="black" points="273.75,-796.75 273.75,-820.5 534.75,-820.5 534.75,-796.75 273.75,-796.75"/>
<text text-anchor="start" x="393.75" y="-803.2" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="273.75,-773 273.75,-796.75 326.81,-796.75 326.81,-773 273.75,-773"/>
<text text-anchor="start" x="289.41" y="-779.45" font-family="arial" font-size="14.00">12x</text>
<polygon fill="none" stroke="black" points="326.81,-773 326.81,-796.75 416.62,-796.75 416.62,-773 326.81,-773"/>
<text text-anchor="start" x="342.47" y="-779.45" font-family="arial" font-size="14.00">0.25 mm²</text>
<polygon fill="none" stroke="black" points="416.62,-773 416.62,-796.75 468.94,-796.75 468.94,-773 416.62,-773"/>
<text text-anchor="start" x="432.28" y="-779.45" font-family="arial" font-size="14.00">+ S</text>
<polygon fill="none" stroke="black" points="468.94,-773 468.94,-796.75 534.75,-796.75 534.75,-773 468.94,-773"/>
<text text-anchor="start" x="484.59" y="-779.45" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="332.38" y="-757.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="275.75" y="-738.7" font-family="arial" font-size="14.00">X1:14:SENSE_N_1</text>
<text text-anchor="start" x="407.62" y="-738.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:WH &#160;&#160;&#160;</text>
<text text-anchor="start" x="494.5" y="-738.7" font-family="arial" font-size="14.00">X2:z2</text>
<polygon fill="#000000" stroke="none" points="273.75,-733 273.75,-735 534.75,-735 534.75,-733 273.75,-733"/>
<polygon fill="#ffffff" stroke="none" points="273.75,-731 273.75,-733 534.75,-733 534.75,-731 273.75,-731"/>
<polygon fill="#ffffff" stroke="none" points="273.75,-729 273.75,-731 534.75,-731 534.75,-729 273.75,-729"/>
<polygon fill="#ffffff" stroke="none" points="273.75,-727 273.75,-729 534.75,-729 534.75,-727 273.75,-727"/>
<polygon fill="#000000" stroke="none" points="273.75,-725 273.75,-727 534.75,-727 534.75,-725 273.75,-725"/>
<text text-anchor="start" x="279.88" y="-709.7" font-family="arial" font-size="14.00">X1:1:SENSE_P_1</text>
<text text-anchor="start" x="409.88" y="-709.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:BN &#160;&#160;&#160;</text>
<text text-anchor="start" x="494.12" y="-709.7" font-family="arial" font-size="14.00">X2:d4</text>
<polygon fill="#000000" stroke="none" points="273.75,-704 273.75,-706 534.75,-706 534.75,-704 273.75,-704"/>
<polygon fill="#895956" stroke="none" points="273.75,-702 273.75,-704 534.75,-704 534.75,-702 273.75,-702"/>
<polygon fill="#895956" stroke="none" points="273.75,-700 273.75,-702 534.75,-702 534.75,-700 273.75,-700"/>
<polygon fill="#895956" stroke="none" points="273.75,-698 273.75,-700 534.75,-700 534.75,-698 273.75,-698"/>
<polygon fill="#000000" stroke="none" points="273.75,-696 273.75,-698 534.75,-698 534.75,-696 273.75,-696"/>
<text text-anchor="start" x="275.75" y="-680.7" font-family="arial" font-size="14.00">X1:16:SENSE_N_2</text>
<text text-anchor="start" x="408.75" y="-680.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;3:GN &#160;&#160;&#160;</text>
<text text-anchor="start" x="494.5" y="-680.7" font-family="arial" font-size="14.00">X2:z8</text>
<polygon fill="#000000" stroke="none" points="273.75,-675 273.75,-677 534.75,-677 534.75,-675 273.75,-675"/>
<polygon fill="#00ff00" stroke="none" points="273.75,-673 273.75,-675 534.75,-675 534.75,-673 273.75,-673"/>
<polygon fill="#00ff00" stroke="none" points="273.75,-671 273.75,-673 534.75,-673 534.75,-671 273.75,-671"/>
<polygon fill="#00ff00" stroke="none" points="273.75,-669 273.75,-671 534.75,-671 534.75,-669 273.75,-669"/>
<polygon fill="#000000" stroke="none" points="273.75,-667 273.75,-669 534.75,-669 534.75,-667 273.75,-667"/>
<text text-anchor="start" x="279.88" y="-651.7" font-family="arial" font-size="14.00">X1:3:SENSE_P_2</text>
<text text-anchor="start" x="410.25" y="-651.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;4:YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="490.38" y="-651.7" font-family="arial" font-size="14.00">X2:d10</text>
<polygon fill="#000000" stroke="none" points="273.75,-646 273.75,-648 534.75,-648 534.75,-646 273.75,-646"/>
<polygon fill="#ffff00" stroke="none" points="273.75,-644 273.75,-646 534.75,-646 534.75,-644 273.75,-644"/>
<polygon fill="#ffff00" stroke="none" points="273.75,-642 273.75,-644 534.75,-644 534.75,-642 273.75,-642"/>
<polygon fill="#ffff00" stroke="none" points="273.75,-640 273.75,-642 534.75,-642 534.75,-640 273.75,-640"/>
<polygon fill="#000000" stroke="none" points="273.75,-638 273.75,-640 534.75,-640 534.75,-638 273.75,-638"/>
<text text-anchor="start" x="275.75" y="-622.7" font-family="arial" font-size="14.00">X1:18:SENSE_N_3</text>
<text text-anchor="start" x="409.12" y="-622.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;5:GY &#160;&#160;&#160;</text>
<text text-anchor="start" x="490.75" y="-622.7" font-family="arial" font-size="14.00">X2:z14</text>
<polygon fill="#000000" stroke="none" points="273.75,-617 273.75,-619 534.75,-619 534.75,-617 273.75,-617"/>
<polygon fill="#999999" stroke="none" points="273.75,-615 273.75,-617 534.75,-617 534.75,-615 273.75,-615"/>
<polygon fill="#999999" stroke="none" points="273.75,-613 273.75,-615 534.75,-615 534.75,-613 273.75,-613"/>
<polygon fill="#999999" stroke="none" points="273.75,-611 273.75,-613 534.75,-613 534.75,-611 273.75,-611"/>
<polygon fill="#000000" stroke="none" points="273.75,-609 273.75,-611 534.75,-611 534.75,-609 273.75,-609"/>
<text text-anchor="start" x="279.88" y="-593.7" font-family="arial" font-size="14.00">X1:5:SENSE_P_3</text>
<text text-anchor="start" x="410.25" y="-593.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;6:PK &#160;&#160;&#160;</text>
<text text-anchor="start" x="490.38" y="-593.7" font-family="arial" font-size="14.00">X2:d16</text>
<polygon fill="#000000" stroke="none" points="273.75,-588 273.75,-590 534.75,-590 534.75,-588 273.75,-588"/>
<polygon fill="#ff66cc" stroke="none" points="273.75,-586 273.75,-588 534.75,-588 534.75,-586 273.75,-586"/>
<polygon fill="#ff66cc" stroke="none" points="273.75,-584 273.75,-586 534.75,-586 534.75,-584 273.75,-584"/>
<polygon fill="#ff66cc" stroke="none" points="273.75,-582 273.75,-584 534.75,-584 534.75,-582 273.75,-582"/>
<polygon fill="#000000" stroke="none" points="273.75,-580 273.75,-582 534.75,-582 534.75,-580 273.75,-580"/>
<text text-anchor="start" x="275.75" y="-564.7" font-family="arial" font-size="14.00">X1:20:SENSE_N_4</text>
<text text-anchor="start" x="409.88" y="-564.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;7:BU &#160;&#160;&#160;</text>
<text text-anchor="start" x="490.75" y="-564.7" font-family="arial" font-size="14.00">X2:z18</text>
<polygon fill="#000000" stroke="none" points="273.75,-559 273.75,-561 534.75,-561 534.75,-559 273.75,-559"/>
<polygon fill="#0066ff" stroke="none" points="273.75,-557 273.75,-559 534.75,-559 534.75,-557 273.75,-557"/>
<polygon fill="#0066ff" stroke="none" points="273.75,-555 273.75,-557 534.75,-557 534.75,-555 273.75,-555"/>
<polygon fill="#0066ff" stroke="none" points="273.75,-553 273.75,-555 534.75,-555 534.75,-553 273.75,-553"/>
<polygon fill="#000000" stroke="none" points="273.75,-551 273.75,-553 534.75,-553 534.75,-551 273.75,-551"/>
<text text-anchor="start" x="279.88" y="-535.7" font-family="arial" font-size="14.00">X1:7:SENSE_P_4</text>
<text text-anchor="start" x="409.5" y="-535.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;8:RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="490.38" y="-535.7" font-family="arial" font-size="14.00">X2:d20</text>
<polygon fill="#000000" stroke="none" points="273.75,-530 273.75,-532 534.75,-532 534.75,-530 273.75,-530"/>
<polygon fill="#ff0000" stroke="none" points="273.75,-528 273.75,-530 534.75,-530 534.75,-528 273.75,-528"/>
<polygon fill="#ff0000" stroke="none" points="273.75,-526 273.75,-528 534.75,-528 534.75,-526 273.75,-526"/>
<polygon fill="#ff0000" stroke="none" points="273.75,-524 273.75,-526 534.75,-526 534.75,-524 273.75,-524"/>
<polygon fill="#000000" stroke="none" points="273.75,-522 273.75,-524 534.75,-524 534.75,-522 273.75,-522"/>
<text text-anchor="start" x="275.75" y="-506.7" font-family="arial" font-size="14.00">X1:22:SENSE_N_5</text>
<text text-anchor="start" x="410.25" y="-506.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;9:BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="490.75" y="-506.7" font-family="arial" font-size="14.00">X2:z24</text>
<polygon fill="#000000" stroke="none" points="273.75,-501 273.75,-503 534.75,-503 534.75,-501 273.75,-501"/>
<polygon fill="#000000" stroke="none" points="273.75,-499 273.75,-501 534.75,-501 534.75,-499 273.75,-499"/>
<polygon fill="#000000" stroke="none" points="273.75,-497 273.75,-499 534.75,-499 534.75,-497 273.75,-497"/>
<polygon fill="#000000" stroke="none" points="273.75,-495 273.75,-497 534.75,-497 534.75,-495 273.75,-495"/>
<polygon fill="#000000" stroke="none" points="273.75,-493 273.75,-495 534.75,-495 534.75,-493 273.75,-493"/>
<text text-anchor="start" x="279.88" y="-477.7" font-family="arial" font-size="14.00">X1:9:SENSE_P_5</text>
<text text-anchor="start" x="406.88" y="-477.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;10:VT &#160;&#160;&#160;</text>
<text text-anchor="start" x="490.38" y="-477.7" font-family="arial" font-size="14.00">X2:d26</text>
<polygon fill="#000000" stroke="none" points="273.75,-472 273.75,-474 534.75,-474 534.75,-472 273.75,-472"/>
<polygon fill="#8000ff" stroke="none" points="273.75,-470 273.75,-472 534.75,-472 534.75,-470 273.75,-470"/>
<polygon fill="#8000ff" stroke="none" points="273.75,-468 273.75,-470 534.75,-470 534.75,-468 273.75,-468"/>
<polygon fill="#8000ff" stroke="none" points="273.75,-466 273.75,-468 534.75,-468 534.75,-466 273.75,-466"/>
<polygon fill="#000000" stroke="none" points="273.75,-464 273.75,-466 534.75,-466 534.75,-464 273.75,-464"/>
<text text-anchor="start" x="275.75" y="-448.7" font-family="arial" font-size="14.00">X1:24:SENSE_N_6</text>
<text text-anchor="start" x="396.75" y="-448.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;11:GYPK &#160;&#160;&#160;</text>
<text text-anchor="start" x="490.75" y="-448.7" font-family="arial" font-size="14.00">X2:z30</text>
<polygon fill="#000000" stroke="none" points="273.75,-443 273.75,-445 534.75,-445 534.75,-443 273.75,-443"/>
<polygon fill="#999999" stroke="none" points="273.75,-441 273.75,-443 534.75,-443 534.75,-441 273.75,-441"/>
<polygon fill="#ff66cc" stroke="none" points="273.75,-439 273.75,-441 534.75,-441 534.75,-439 273.75,-439"/>
<polygon fill="#999999" stroke="none" points="273.75,-437 273.75,-439 534.75,-439 534.75,-437 273.75,-437"/>
<polygon fill="#000000" stroke="none" points="273.75,-435 273.75,-437 534.75,-437 534.75,-435 273.75,-435"/>
<text text-anchor="start" x="276.5" y="-419.7" font-family="arial" font-size="14.00">X1:11:SENSE_P_6</text>
<text text-anchor="start" x="396.38" y="-419.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;12:RDBU &#160;&#160;&#160;</text>
<text text-anchor="start" x="490.38" y="-419.7" font-family="arial" font-size="14.00">X2:d32</text>
<polygon fill="#000000" stroke="none" points="273.75,-414 273.75,-416 534.75,-416 534.75,-414 273.75,-414"/>
<polygon fill="#ff0000" stroke="none" points="273.75,-412 273.75,-414 534.75,-414 534.75,-412 273.75,-412"/>
<polygon fill="#0066ff" stroke="none" points="273.75,-410 273.75,-412 534.75,-412 534.75,-410 273.75,-410"/>
<polygon fill="#ff0000" stroke="none" points="273.75,-408 273.75,-410 534.75,-410 534.75,-408 273.75,-408"/>
<polygon fill="#000000" stroke="none" points="273.75,-406 273.75,-408 534.75,-408 534.75,-406 273.75,-406"/>
<text text-anchor="start" x="332.38" y="-390.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="299.38" y="-371.7" font-family="arial" font-size="14.00">X1:13:GND</text>
<text text-anchor="start" x="423" y="-371.7" font-family="arial" font-size="14.00">Shield</text>
<polygon fill="#000000" stroke="none" points="273.75,-366 273.75,-368 534.75,-368 534.75,-366 273.75,-366"/>
<text text-anchor="start" x="332.38" y="-350.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge1" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-688.75C195.66,-689.18 211.46,-697.18 273.75,-696.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M129.75,-690.75C194.75,-690.97 210.55,-698.97 273.75,-698.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M129.75,-692.75C193.85,-692.75 209.65,-700.75 273.75,-700.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M129.75,-694.75C192.95,-694.53 208.75,-702.53 273.75,-702.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-696.75C192.04,-696.32 207.84,-704.32 273.75,-704.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge3" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-665.75C203.07,-669.4 208.4,-729.4 273.75,-725.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M129.75,-667.75C201.08,-669.57 206.41,-729.57 273.75,-727.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M129.75,-669.75C199.08,-669.75 204.42,-729.75 273.75,-729.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M129.75,-671.75C197.09,-669.93 202.42,-729.93 273.75,-731.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-673.75C195.1,-670.1 200.43,-730.1 273.75,-733.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge5" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-642.75C192.8,-642.87 208.75,-638.87 273.75,-638.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M129.75,-644.75C193.29,-644.81 209.24,-640.81 273.75,-640.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M129.75,-646.75C193.77,-646.75 209.73,-642.75 273.75,-642.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M129.75,-648.75C194.26,-648.69 210.21,-644.69 273.75,-644.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-650.75C194.75,-650.63 210.7,-646.63 273.75,-646.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge7" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-619.75C201.14,-623.01 210.22,-671.01 273.75,-667.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M129.75,-621.75C199.18,-623.38 208.25,-671.38 273.75,-669.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M129.75,-623.75C197.21,-623.75 206.29,-671.75 273.75,-671.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M129.75,-625.75C195.25,-624.12 204.32,-672.12 273.75,-673.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-627.75C193.28,-624.49 202.36,-672.49 273.75,-675.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge9" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-596.75C191.24,-597.99 206.46,-581.99 273.75,-580.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M129.75,-598.75C192.69,-599.37 207.91,-583.37 273.75,-582.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M129.75,-600.75C194.14,-600.75 209.36,-584.75 273.75,-584.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M129.75,-602.75C195.59,-602.13 210.81,-586.13 273.75,-586.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-604.75C197.04,-603.51 212.26,-587.51 273.75,-588.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge11" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-573.75C199.51,-576.48 211.57,-612.48 273.75,-609.75"/>
<path fill="none" stroke="#999999" stroke-width="2" d="M129.75,-575.75C197.62,-577.11 209.68,-613.11 273.75,-611.75"/>
<path fill="none" stroke="#999999" stroke-width="2" d="M129.75,-577.75C195.72,-577.75 207.78,-613.75 273.75,-613.75"/>
<path fill="none" stroke="#999999" stroke-width="2" d="M129.75,-579.75C193.82,-578.39 205.88,-614.39 273.75,-615.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-581.75C191.93,-579.02 203.99,-615.02 273.75,-617.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge13" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-550.75C191.35,-553 204.95,-525 273.75,-522.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M129.75,-552.75C193.15,-553.88 206.75,-525.88 273.75,-524.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M129.75,-554.75C194.95,-554.75 208.55,-526.75 273.75,-526.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M129.75,-556.75C196.75,-555.62 210.35,-527.62 273.75,-528.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-558.75C198.55,-556.5 212.15,-528.5 273.75,-530.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge15" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-527.75C198.07,-529.71 212.31,-553.71 273.75,-551.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M129.75,-529.75C196.35,-530.73 210.59,-554.73 273.75,-553.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M129.75,-531.75C194.63,-531.75 208.87,-555.75 273.75,-555.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M129.75,-533.75C192.91,-532.77 207.15,-556.77 273.75,-557.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-535.75C191.19,-533.79 205.43,-557.79 273.75,-559.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge17" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-504.75C192.32,-507.68 203.47,-467.68 273.75,-464.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M129.75,-506.75C194.25,-508.21 205.4,-468.21 273.75,-466.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M129.75,-508.75C196.17,-508.75 207.33,-468.75 273.75,-468.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M129.75,-510.75C198.1,-509.29 209.25,-469.29 273.75,-470.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-512.75C200.03,-509.82 211.18,-469.82 273.75,-472.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge19" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-481.75C196.41,-482.58 211.97,-494.58 273.75,-493.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-483.75C195.19,-484.17 210.75,-496.17 273.75,-495.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-485.75C193.97,-485.75 209.53,-497.75 273.75,-497.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-487.75C192.75,-487.33 208.31,-499.33 273.75,-499.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-489.75C191.53,-488.92 207.09,-500.92 273.75,-501.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge21" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-458.75C193.84,-462.15 201.75,-410.15 273.75,-406.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M129.75,-460.75C195.82,-462.45 203.73,-410.45 273.75,-408.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M129.75,-462.75C197.8,-462.75 205.7,-410.75 273.75,-410.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M129.75,-464.75C199.77,-463.05 207.68,-411.05 273.75,-412.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-466.75C201.75,-463.35 209.66,-411.35 273.75,-414.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge23" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-435.75C193.75,-435.75 209.75,-435.75 273.75,-435.75"/>
<path fill="none" stroke="#999999" stroke-width="2" d="M129.75,-437.75C193.75,-437.75 209.75,-437.75 273.75,-437.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M129.75,-439.75C193.75,-439.75 209.75,-439.75 273.75,-439.75"/>
<path fill="none" stroke="#999999" stroke-width="2" d="M129.75,-441.75C193.75,-441.75 209.75,-441.75 273.75,-441.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-443.75C193.75,-443.75 209.75,-443.75 273.75,-443.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge25" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M129.75,-416.75C197.5,-416.75 206,-366.75 273.75,-366.75"/>
</g>
<!-- X2 -->
<g id="node2" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="804.75,-1187.5 678.75,-1187.5 678.75,0 804.75,0 804.75,-1187.5"/>
<polygon fill="none" stroke="black" points="678.75,-1163.75 678.75,-1187.5 804.75,-1187.5 804.75,-1163.75 678.75,-1163.75"/>
<text text-anchor="start" x="733.5" y="-1170.2" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="678.75,-1140 678.75,-1163.75 710,-1163.75 710,-1140 678.75,-1140"/>
<text text-anchor="start" x="682.75" y="-1146.45" font-family="arial" font-size="14.00">F48</text>
<polygon fill="none" stroke="black" points="710,-1140 710,-1163.75 759.25,-1163.75 759.25,-1140 710,-1140"/>
<text text-anchor="start" x="714" y="-1146.45" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="759.25,-1140 759.25,-1163.75 804.75,-1163.75 804.75,-1140 759.25,-1140"/>
<text text-anchor="start" x="763.25" y="-1146.45" font-family="arial" font-size="14.00">48&#45;pin</text>
<polygon fill="none" stroke="black" points="678.75,-1116.25 678.75,-1140 804.75,-1140 804.75,-1116.25 678.75,-1116.25"/>
<text text-anchor="start" x="734.62" y="-1122.7" font-family="arial" font-size="14.00">z2</text>
<polygon fill="none" stroke="black" points="678.75,-1092.5 678.75,-1116.25 804.75,-1116.25 804.75,-1092.5 678.75,-1092.5"/>
<text text-anchor="start" x="734.25" y="-1098.95" font-family="arial" font-size="14.00">b2</text>
<polygon fill="none" stroke="black" points="678.75,-1068.75 678.75,-1092.5 804.75,-1092.5 804.75,-1068.75 678.75,-1068.75"/>
<text text-anchor="start" x="734.25" y="-1075.2" font-family="arial" font-size="14.00">d2</text>
<polygon fill="none" stroke="black" points="678.75,-1045 678.75,-1068.75 804.75,-1068.75 804.75,-1045 678.75,-1045"/>
<text text-anchor="start" x="734.62" y="-1051.45" font-family="arial" font-size="14.00">z4</text>
<polygon fill="none" stroke="black" points="678.75,-1021.25 678.75,-1045 804.75,-1045 804.75,-1021.25 678.75,-1021.25"/>
<text text-anchor="start" x="734.25" y="-1027.7" font-family="arial" font-size="14.00">b4</text>
<polygon fill="none" stroke="black" points="678.75,-997.5 678.75,-1021.25 804.75,-1021.25 804.75,-997.5 678.75,-997.5"/>
<text text-anchor="start" x="734.25" y="-1003.95" font-family="arial" font-size="14.00">d4</text>
<polygon fill="none" stroke="black" points="678.75,-973.75 678.75,-997.5 804.75,-997.5 804.75,-973.75 678.75,-973.75"/>
<text text-anchor="start" x="734.62" y="-980.2" font-family="arial" font-size="14.00">z6</text>
<polygon fill="none" stroke="black" points="678.75,-950 678.75,-973.75 804.75,-973.75 804.75,-950 678.75,-950"/>
<text text-anchor="start" x="734.25" y="-956.45" font-family="arial" font-size="14.00">b6</text>
<polygon fill="none" stroke="black" points="678.75,-926.25 678.75,-950 804.75,-950 804.75,-926.25 678.75,-926.25"/>
<text text-anchor="start" x="734.25" y="-932.7" font-family="arial" font-size="14.00">d6</text>
<polygon fill="none" stroke="black" points="678.75,-902.5 678.75,-926.25 804.75,-926.25 804.75,-902.5 678.75,-902.5"/>
<text text-anchor="start" x="734.62" y="-908.95" font-family="arial" font-size="14.00">z8</text>
<polygon fill="none" stroke="black" points="678.75,-878.75 678.75,-902.5 804.75,-902.5 804.75,-878.75 678.75,-878.75"/>
<text text-anchor="start" x="734.25" y="-885.2" font-family="arial" font-size="14.00">b8</text>
<polygon fill="none" stroke="black" points="678.75,-855 678.75,-878.75 804.75,-878.75 804.75,-855 678.75,-855"/>
<text text-anchor="start" x="734.25" y="-861.45" font-family="arial" font-size="14.00">d8</text>
<polygon fill="none" stroke="black" points="678.75,-831.25 678.75,-855 804.75,-855 804.75,-831.25 678.75,-831.25"/>
<text text-anchor="start" x="730.88" y="-837.7" font-family="arial" font-size="14.00">z10</text>
<polygon fill="none" stroke="black" points="678.75,-807.5 678.75,-831.25 804.75,-831.25 804.75,-807.5 678.75,-807.5"/>
<text text-anchor="start" x="730.5" y="-813.95" font-family="arial" font-size="14.00">b10</text>
<polygon fill="none" stroke="black" points="678.75,-783.75 678.75,-807.5 804.75,-807.5 804.75,-783.75 678.75,-783.75"/>
<text text-anchor="start" x="730.5" y="-790.2" font-family="arial" font-size="14.00">d10</text>
<polygon fill="none" stroke="black" points="678.75,-760 678.75,-783.75 804.75,-783.75 804.75,-760 678.75,-760"/>
<text text-anchor="start" x="730.88" y="-766.45" font-family="arial" font-size="14.00">z12</text>
<polygon fill="none" stroke="black" points="678.75,-736.25 678.75,-760 804.75,-760 804.75,-736.25 678.75,-736.25"/>
<text text-anchor="start" x="730.5" y="-742.7" font-family="arial" font-size="14.00">b12</text>
<polygon fill="none" stroke="black" points="678.75,-712.5 678.75,-736.25 804.75,-736.25 804.75,-712.5 678.75,-712.5"/>
<text text-anchor="start" x="730.5" y="-718.95" font-family="arial" font-size="14.00">d12</text>
<polygon fill="none" stroke="black" points="678.75,-688.75 678.75,-712.5 804.75,-712.5 804.75,-688.75 678.75,-688.75"/>
<text text-anchor="start" x="730.88" y="-695.2" font-family="arial" font-size="14.00">z14</text>
<polygon fill="none" stroke="black" points="678.75,-665 678.75,-688.75 804.75,-688.75 804.75,-665 678.75,-665"/>
<text text-anchor="start" x="730.5" y="-671.45" font-family="arial" font-size="14.00">b14</text>
<polygon fill="none" stroke="black" points="678.75,-641.25 678.75,-665 804.75,-665 804.75,-641.25 678.75,-641.25"/>
<text text-anchor="start" x="730.5" y="-647.7" font-family="arial" font-size="14.00">d14</text>
<polygon fill="none" stroke="black" points="678.75,-617.5 678.75,-641.25 804.75,-641.25 804.75,-617.5 678.75,-617.5"/>
<text text-anchor="start" x="730.88" y="-623.95" font-family="arial" font-size="14.00">z16</text>
<polygon fill="none" stroke="black" points="678.75,-593.75 678.75,-617.5 804.75,-617.5 804.75,-593.75 678.75,-593.75"/>
<text text-anchor="start" x="730.5" y="-600.2" font-family="arial" font-size="14.00">b16</text>
<polygon fill="none" stroke="black" points="678.75,-570 678.75,-593.75 804.75,-593.75 804.75,-570 678.75,-570"/>
<text text-anchor="start" x="730.5" y="-576.45" font-family="arial" font-size="14.00">d16</text>
<polygon fill="none" stroke="black" points="678.75,-546.25 678.75,-570 804.75,-570 804.75,-546.25 678.75,-546.25"/>
<text text-anchor="start" x="730.88" y="-552.7" font-family="arial" font-size="14.00">z18</text>
<polygon fill="none" stroke="black" points="678.75,-522.5 678.75,-546.25 804.75,-546.25 804.75,-522.5 678.75,-522.5"/>
<text text-anchor="start" x="730.5" y="-528.95" font-family="arial" font-size="14.00">b18</text>
<polygon fill="none" stroke="black" points="678.75,-498.75 678.75,-522.5 804.75,-522.5 804.75,-498.75 678.75,-498.75"/>
<text text-anchor="start" x="730.5" y="-505.2" font-family="arial" font-size="14.00">d18</text>
<polygon fill="none" stroke="black" points="678.75,-475 678.75,-498.75 804.75,-498.75 804.75,-475 678.75,-475"/>
<text text-anchor="start" x="730.88" y="-481.45" font-family="arial" font-size="14.00">z20</text>
<polygon fill="none" stroke="black" points="678.75,-451.25 678.75,-475 804.75,-475 804.75,-451.25 678.75,-451.25"/>
<text text-anchor="start" x="730.5" y="-457.7" font-family="arial" font-size="14.00">b20</text>
<polygon fill="none" stroke="black" points="678.75,-427.5 678.75,-451.25 804.75,-451.25 804.75,-427.5 678.75,-427.5"/>
<text text-anchor="start" x="730.5" y="-433.95" font-family="arial" font-size="14.00">d20</text>
<polygon fill="none" stroke="black" points="678.75,-403.75 678.75,-427.5 804.75,-427.5 804.75,-403.75 678.75,-403.75"/>
<text text-anchor="start" x="730.88" y="-410.2" font-family="arial" font-size="14.00">z22</text>
<polygon fill="none" stroke="black" points="678.75,-380 678.75,-403.75 804.75,-403.75 804.75,-380 678.75,-380"/>
<text text-anchor="start" x="730.5" y="-386.45" font-family="arial" font-size="14.00">b22</text>
<polygon fill="none" stroke="black" points="678.75,-356.25 678.75,-380 804.75,-380 804.75,-356.25 678.75,-356.25"/>
<text text-anchor="start" x="730.5" y="-362.7" font-family="arial" font-size="14.00">d22</text>
<polygon fill="none" stroke="black" points="678.75,-332.5 678.75,-356.25 804.75,-356.25 804.75,-332.5 678.75,-332.5"/>
<text text-anchor="start" x="730.88" y="-338.95" font-family="arial" font-size="14.00">z24</text>
<polygon fill="none" stroke="black" points="678.75,-308.75 678.75,-332.5 804.75,-332.5 804.75,-308.75 678.75,-308.75"/>
<text text-anchor="start" x="730.5" y="-315.2" font-family="arial" font-size="14.00">b24</text>
<polygon fill="none" stroke="black" points="678.75,-285 678.75,-308.75 804.75,-308.75 804.75,-285 678.75,-285"/>
<text text-anchor="start" x="730.5" y="-291.45" font-family="arial" font-size="14.00">d24</text>
<polygon fill="none" stroke="black" points="678.75,-261.25 678.75,-285 804.75,-285 804.75,-261.25 678.75,-261.25"/>
<text text-anchor="start" x="730.88" y="-267.7" font-family="arial" font-size="14.00">z26</text>
<polygon fill="none" stroke="black" points="678.75,-237.5 678.75,-261.25 804.75,-261.25 804.75,-237.5 678.75,-237.5"/>
<text text-anchor="start" x="730.5" y="-243.95" font-family="arial" font-size="14.00">b26</text>
<polygon fill="none" stroke="black" points="678.75,-213.75 678.75,-237.5 804.75,-237.5 804.75,-213.75 678.75,-213.75"/>
<text text-anchor="start" x="730.5" y="-220.2" font-family="arial" font-size="14.00">d26</text>
<polygon fill="none" stroke="black" points="678.75,-190 678.75,-213.75 804.75,-213.75 804.75,-190 678.75,-190"/>
<text text-anchor="start" x="730.88" y="-196.45" font-family="arial" font-size="14.00">z28</text>
<polygon fill="none" stroke="black" points="678.75,-166.25 678.75,-190 804.75,-190 804.75,-166.25 678.75,-166.25"/>
<text text-anchor="start" x="730.5" y="-172.7" font-family="arial" font-size="14.00">b28</text>
<polygon fill="none" stroke="black" points="678.75,-142.5 678.75,-166.25 804.75,-166.25 804.75,-142.5 678.75,-142.5"/>
<text text-anchor="start" x="730.5" y="-148.95" font-family="arial" font-size="14.00">d28</text>
<polygon fill="none" stroke="black" points="678.75,-118.75 678.75,-142.5 804.75,-142.5 804.75,-118.75 678.75,-118.75"/>
<text text-anchor="start" x="730.88" y="-125.2" font-family="arial" font-size="14.00">z30</text>
<polygon fill="none" stroke="black" points="678.75,-95 678.75,-118.75 804.75,-118.75 804.75,-95 678.75,-95"/>
<text text-anchor="start" x="730.5" y="-101.45" font-family="arial" font-size="14.00">b30</text>
<polygon fill="none" stroke="black" points="678.75,-71.25 678.75,-95 804.75,-95 804.75,-71.25 678.75,-71.25"/>
<text text-anchor="start" x="730.5" y="-77.7" font-family="arial" font-size="14.00">d30</text>
<polygon fill="none" stroke="black" points="678.75,-47.5 678.75,-71.25 804.75,-71.25 804.75,-47.5 678.75,-47.5"/>
<text text-anchor="start" x="730.88" y="-53.95" font-family="arial" font-size="14.00">z32</text>
<polygon fill="none" stroke="black" points="678.75,-23.75 678.75,-47.5 804.75,-47.5 804.75,-23.75 678.75,-23.75"/>
<text text-anchor="start" x="730.5" y="-30.2" font-family="arial" font-size="14.00">b32</text>
<polygon fill="none" stroke="black" points="678.75,0 678.75,-23.75 804.75,-23.75 804.75,0 678.75,0"/>
<text text-anchor="start" x="730.5" y="-6.45" font-family="arial" font-size="14.00">d32</text>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-696.75C689.82,-702.58 530.79,-1011.58 678.75,-1005.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M534.75,-698.75C688.04,-701.67 529.01,-1010.67 678.75,-1007.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M534.75,-700.75C686.26,-700.75 527.24,-1009.75 678.75,-1009.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M534.75,-702.75C684.49,-699.83 525.46,-1008.83 678.75,-1011.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-704.75C682.71,-698.92 523.68,-1007.92 678.75,-1013.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-725.75C726.32,-731.77 494.09,-1129.77 678.75,-1123.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M534.75,-727.75C724.59,-730.76 492.37,-1128.76 678.75,-1125.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M534.75,-729.75C722.86,-729.75 490.64,-1127.75 678.75,-1127.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M534.75,-731.75C721.13,-728.74 488.91,-1126.74 678.75,-1129.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-733.75C719.41,-727.73 487.18,-1125.73 678.75,-1131.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge6" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-638.75C631.98,-643.83 589.22,-796.83 678.75,-791.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M534.75,-640.75C630.06,-643.29 587.3,-796.29 678.75,-793.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M534.75,-642.75C628.13,-642.75 585.37,-795.75 678.75,-795.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M534.75,-644.75C626.2,-642.21 583.44,-795.21 678.75,-797.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-646.75C624.28,-641.67 581.52,-794.67 678.75,-799.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge8" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-667.75C663.95,-673.36 556.87,-916.36 678.75,-910.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M534.75,-669.75C662.12,-672.56 555.04,-915.56 678.75,-912.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M534.75,-671.75C660.29,-671.75 553.21,-914.75 678.75,-914.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M534.75,-673.75C658.46,-670.94 551.38,-913.94 678.75,-916.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-675.75C656.63,-670.14 549.55,-913.14 678.75,-918.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge10" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-580.75C598.03,-580.82 614,-577.82 678.75,-577.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M534.75,-582.75C598.39,-582.78 614.37,-579.78 678.75,-579.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M534.75,-584.75C598.76,-584.75 614.74,-581.75 678.75,-581.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M534.75,-586.75C599.13,-586.72 615.11,-583.72 678.75,-583.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-588.75C599.5,-588.68 615.47,-585.68 678.75,-585.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge12" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-609.75C613.52,-614 607.97,-701 678.75,-696.75"/>
<path fill="none" stroke="#999999" stroke-width="2" d="M534.75,-611.75C611.52,-613.88 605.97,-700.88 678.75,-698.75"/>
<path fill="none" stroke="#999999" stroke-width="2" d="M534.75,-613.75C609.52,-613.75 603.98,-700.75 678.75,-700.75"/>
<path fill="none" stroke="#999999" stroke-width="2" d="M534.75,-615.75C607.53,-613.62 601.98,-700.62 678.75,-702.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-617.75C605.53,-613.5 599.98,-700.5 678.75,-704.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge14" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-522.75C605.53,-527 599.98,-440 678.75,-435.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M534.75,-524.75C607.53,-526.88 601.98,-439.88 678.75,-437.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M534.75,-526.75C609.52,-526.75 603.98,-439.75 678.75,-439.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M534.75,-528.75C611.52,-526.62 605.97,-439.62 678.75,-441.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-530.75C613.52,-526.5 607.97,-439.5 678.75,-443.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge16" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-551.75C599.25,-551.78 615.24,-553.78 678.75,-553.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M534.75,-553.75C599,-553.77 614.99,-555.77 678.75,-555.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M534.75,-555.75C598.76,-555.75 614.74,-557.75 678.75,-557.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M534.75,-557.75C598.51,-557.73 614.5,-559.73 678.75,-559.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-559.75C598.26,-559.72 614.25,-561.72 678.75,-561.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge18" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-464.75C656.63,-470.36 549.55,-227.36 678.75,-221.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M534.75,-466.75C658.46,-469.56 551.38,-226.56 678.75,-223.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M534.75,-468.75C660.29,-468.75 553.21,-225.75 678.75,-225.75"/>
<path fill="none" stroke="#8000ff" stroke-width="2" d="M534.75,-470.75C662.12,-467.94 555.04,-224.94 678.75,-227.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-472.75C663.95,-467.14 556.87,-224.14 678.75,-229.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge20" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-493.75C624.28,-498.83 581.52,-345.83 678.75,-340.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-495.75C626.2,-498.29 583.44,-345.29 678.75,-342.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-497.75C628.13,-497.75 585.37,-344.75 678.75,-344.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-499.75C630.06,-497.21 587.3,-344.21 678.75,-346.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-501.75C631.98,-496.67 589.22,-343.67 678.75,-348.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge22" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-406.75C719.82,-412.77 486.77,-13.77 678.75,-7.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M534.75,-408.75C721.55,-411.76 488.49,-12.76 678.75,-9.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M534.75,-410.75C723.28,-410.75 490.22,-11.75 678.75,-11.75"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M534.75,-412.75C725.01,-409.74 491.95,-10.74 678.75,-13.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-414.75C726.73,-408.73 493.68,-9.73 678.75,-15.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge24" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-435.75C682.71,-441.58 523.68,-132.58 678.75,-126.75"/>
<path fill="none" stroke="#999999" stroke-width="2" d="M534.75,-437.75C684.49,-440.67 525.46,-131.67 678.75,-128.75"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M534.75,-439.75C686.26,-439.75 527.24,-130.75 678.75,-130.75"/>
<path fill="none" stroke="#999999" stroke-width="2" d="M534.75,-441.75C688.04,-438.83 529.01,-129.83 678.75,-132.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M534.75,-443.75C689.82,-437.92 530.79,-128.92 678.75,-134.75"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 46 KiB

31
examples/ex09.yml Normal file
View File

@ -0,0 +1,31 @@
# contributed by @kimmoli
connectors:
X1:
type: D-Sub
subtype: male
pincount: 25
pins: [1,14,3,16,5,18,7,20,9,22,11,24,13]
pinlabels: [ SENSE_P_1, SENSE_N_1, SENSE_P_2, SENSE_N_2, SENSE_P_3, SENSE_N_3, SENSE_P_4,SENSE_N_4, SENSE_P_5, SENSE_N_5, SENSE_P_6, SENSE_N_6, GND ]
X2:
type: F48
subtype: female
pincount: 48
pins: [ z2,b2,d2,z4,b4,d4,z6,b6,d6,z8,b8,d8,z10,b10,d10,z12,b12,d12,z14,b14,d14,z16,b16,d16,z18,b18,d18,z20,b20,d20,z22,b22,d22,z24,b24,d24,z26,b26,d26,z28,b28,d28,z30,b30,d30,z32,b32,d32 ]
cables:
W1:
gauge: 0.25 mm2
length: 0.2
color_code: DIN
wirecount: 12
shield: true
connections:
-
- X1: [1,14,3,16,5,18,7,20,9,22,11,24]
- W1: [2,1,4,3,6,5,8,7,10,9,12,11]
- X2: [d4,z2,d10,z8,d16,z14,d20,z18,d26,z24,d32,z30]
-
- X1: 13
- W1: s

3
examples/ex10.bom.tsv generated Normal file
View File

@ -0,0 +1,3 @@
Id Description Qty Unit Designators
1 Cable, CAT5e, 8 x 24 AWG 1 m W1
2 Connector, Stewart Connector SS-37000-002, male, 8 pins 2 X1, X2
1 Id Description Qty Unit Designators
2 1 Cable, CAT5e, 8 x 24 AWG 1 m W1
3 2 Connector, Stewart Connector SS-37000-002, male, 8 pins 2 X1, X2

302
examples/ex10.gv generated Normal file
View File

@ -0,0 +1,302 @@
graph {
// Graph generated by WireViz 0.4.1
// https://github.com/wireviz/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]
X1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Stewart Connector SS-37000-002</td>
<td balign="left">male</td>
<td balign="left">8-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td>DA+</td>
<td port="p1r">1</td>
</tr>
<tr>
<td>DA-</td>
<td port="p2r">2</td>
</tr>
<tr>
<td>DB+</td>
<td port="p3r">3</td>
</tr>
<tr>
<td>DC+</td>
<td port="p4r">4</td>
</tr>
<tr>
<td>DC-</td>
<td port="p5r">5</td>
</tr>
<tr>
<td>DB-</td>
<td port="p6r">6</td>
</tr>
<tr>
<td>DD+</td>
<td port="p7r">7</td>
</tr>
<tr>
<td>DD-</td>
<td port="p8r">8</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X2</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Stewart Connector SS-37000-002</td>
<td balign="left">male</td>
<td balign="left">8-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1l">1</td>
<td>DB+</td>
</tr>
<tr>
<td port="p2l">2</td>
<td>DB-</td>
</tr>
<tr>
<td port="p3l">3</td>
<td>DA+</td>
</tr>
<tr>
<td port="p4l">4</td>
<td>DD+</td>
</tr>
<tr>
<td port="p5l">5</td>
<td>DD-</td>
</tr>
<tr>
<td port="p6l">6</td>
<td>DA-</td>
</tr>
<tr>
<td port="p7l">7</td>
<td>DC+</td>
</tr>
<tr>
<td port="p8l">8</td>
<td>DC-</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
edge [color="#000000:#ffffff:#00ff00:#ffffff:#000000"]
X1:p1r:e -- W1:w1:w
W1:w1:e -- X2:p3l:w
edge [color="#000000:#00ff00:#00ff00:#00ff00:#000000"]
X1:p2r:e -- W1:w2:w
W1:w2:e -- X2:p6l:w
edge [color="#000000:#ffffff:#ff8000:#ffffff:#000000"]
X1:p3r:e -- W1:w3:w
W1:w3:e -- X2:p1l:w
edge [color="#000000:#0066ff:#0066ff:#0066ff:#000000"]
X1:p4r:e -- W1:w4:w
W1:w4:e -- X2:p7l:w
edge [color="#000000:#ffffff:#0066ff:#ffffff:#000000"]
X1:p5r:e -- W1:w5:w
W1:w5:e -- X2:p8l:w
edge [color="#000000:#ff8000:#ff8000:#ff8000:#000000"]
X1:p6r:e -- W1:w6:w
W1:w6:e -- X2:p2l:w
edge [color="#000000:#ffffff:#895956:#ffffff:#000000"]
X1:p7r:e -- W1:w7:w
W1:w7:e -- X2:p4l:w
edge [color="#000000:#895956:#895956:#895956:#000000"]
X1:p8r:e -- W1:w8:w
W1:w8:e -- X2:p5l:w
W1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">CAT5e</td>
<td balign="left">8x</td>
<td balign="left">24 AWG</td>
<td balign="left">1 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td>X1:1:DA+</td>
<td>
1:WHGN
</td>
<td>X2:3:DA+</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="10">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:2:DA-</td>
<td>
2:GN
</td>
<td>X2:6:DA-</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="10">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:3:DB+</td>
<td>
3:WHOG
</td>
<td>X2:1:DB+</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="10">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff8000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:4:DC+</td>
<td>
4:BU
</td>
<td>X2:7:DC+</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="10">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#0066ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#0066ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#0066ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:5:DC-</td>
<td>
5:WHBU
</td>
<td>X2:8:DC-</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w5" height="10">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#0066ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:6:DB-</td>
<td>
6:OG
</td>
<td>X2:2:DB-</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w6" height="10">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff8000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff8000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff8000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:7:DD+</td>
<td>
7:WHBN
</td>
<td>X2:4:DD+</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w7" height="10">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#895956" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:8:DD-</td>
<td>
8:BN
</td>
<td>X2:5:DD-</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w8" height="10">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#895956" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#895956" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#895956" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
}

393
examples/ex10.html generated Normal file
View File

@ -0,0 +1,393 @@
<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<meta name="generator" content="WireViz 0.4.1 - https://github.com/wireviz/WireViz">
<title>ex10</title>
<style>
#bom table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
#bom th, td {
padding: 4px;
text-align: left;
}
.bom_col_qty {
text-align: right;
}
</style>
</head><body style="font-family:arial;background-color:#ffffff">
<h1>ex10</h1>
<h2>Diagram</h2>
<div id="description">
<!-- %description% -->
</div>
<div id="diagram">
<!-- XML and DOCTYPE declarations from SVG file removed -->
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="1089pt" height="326pt"
viewBox="0.00 0.00 1089.00 325.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 321.5)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-321.5 1085,-321.5 1085,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="286.5,-264.5 0,-264.5 0,-33 286.5,-33 286.5,-264.5"/>
<polygon fill="none" stroke="black" points="0,-240.75 0,-264.5 286.5,-264.5 286.5,-240.75 0,-240.75"/>
<text text-anchor="start" x="135" y="-247.2" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-217 0,-240.75 210.5,-240.75 210.5,-217 0,-217"/>
<text text-anchor="start" x="4" y="-223.45" font-family="arial" font-size="14.00">Stewart Connector SS&#45;37000&#45;002</text>
<polygon fill="none" stroke="black" points="210.5,-217 210.5,-240.75 248.5,-240.75 248.5,-217 210.5,-217"/>
<text text-anchor="start" x="214.5" y="-223.45" font-family="arial" font-size="14.00">male</text>
<polygon fill="none" stroke="black" points="248.5,-217 248.5,-240.75 286.5,-240.75 286.5,-217 248.5,-217"/>
<text text-anchor="start" x="252.5" y="-223.45" font-family="arial" font-size="14.00">8&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-194 0,-217 153.25,-217 153.25,-194 0,-194"/>
<text text-anchor="start" x="63.12" y="-199.7" font-family="arial" font-size="14.00">DA+</text>
<polygon fill="none" stroke="black" points="153.25,-194 153.25,-217 286.5,-217 286.5,-194 153.25,-194"/>
<text text-anchor="start" x="216.12" y="-199.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-171 0,-194 153.25,-194 153.25,-171 0,-171"/>
<text text-anchor="start" x="65" y="-176.7" font-family="arial" font-size="14.00">DA&#45;</text>
<polygon fill="none" stroke="black" points="153.25,-171 153.25,-194 286.5,-194 286.5,-171 153.25,-171"/>
<text text-anchor="start" x="216.12" y="-176.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="0,-148 0,-171 153.25,-171 153.25,-148 0,-148"/>
<text text-anchor="start" x="63.12" y="-153.7" font-family="arial" font-size="14.00">DB+</text>
<polygon fill="none" stroke="black" points="153.25,-148 153.25,-171 286.5,-171 286.5,-148 153.25,-148"/>
<text text-anchor="start" x="216.12" y="-153.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="0,-125 0,-148 153.25,-148 153.25,-125 0,-125"/>
<text text-anchor="start" x="62.75" y="-130.7" font-family="arial" font-size="14.00">DC+</text>
<polygon fill="none" stroke="black" points="153.25,-125 153.25,-148 286.5,-148 286.5,-125 153.25,-125"/>
<text text-anchor="start" x="216.12" y="-130.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="0,-102 0,-125 153.25,-125 153.25,-102 0,-102"/>
<text text-anchor="start" x="64.62" y="-107.7" font-family="arial" font-size="14.00">DC&#45;</text>
<polygon fill="none" stroke="black" points="153.25,-102 153.25,-125 286.5,-125 286.5,-102 153.25,-102"/>
<text text-anchor="start" x="216.12" y="-107.7" font-family="arial" font-size="14.00">5</text>
<polygon fill="none" stroke="black" points="0,-79 0,-102 153.25,-102 153.25,-79 0,-79"/>
<text text-anchor="start" x="65" y="-84.7" font-family="arial" font-size="14.00">DB&#45;</text>
<polygon fill="none" stroke="black" points="153.25,-79 153.25,-102 286.5,-102 286.5,-79 153.25,-79"/>
<text text-anchor="start" x="216.12" y="-84.7" font-family="arial" font-size="14.00">6</text>
<polygon fill="none" stroke="black" points="0,-56 0,-79 153.25,-79 153.25,-56 0,-56"/>
<text text-anchor="start" x="62.75" y="-61.7" font-family="arial" font-size="14.00">DD+</text>
<polygon fill="none" stroke="black" points="153.25,-56 153.25,-79 286.5,-79 286.5,-56 153.25,-56"/>
<text text-anchor="start" x="216.12" y="-61.7" font-family="arial" font-size="14.00">7</text>
<polygon fill="none" stroke="black" points="0,-33 0,-56 153.25,-56 153.25,-33 0,-33"/>
<text text-anchor="start" x="64.62" y="-38.7" font-family="arial" font-size="14.00">DD&#45;</text>
<polygon fill="none" stroke="black" points="153.25,-33 153.25,-56 286.5,-56 286.5,-33 153.25,-33"/>
<text text-anchor="start" x="216.12" y="-38.7" font-family="arial" font-size="14.00">8</text>
</g>
<!-- W1 -->
<g id="node3" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" points="650.5,-317.5 430.5,-317.5 430.5,0 650.5,0 650.5,-317.5"/>
<polygon fill="none" stroke="black" points="430.5,-293.75 430.5,-317.5 650.5,-317.5 650.5,-293.75 430.5,-293.75"/>
<text text-anchor="start" x="530" y="-300.2" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="430.5,-270 430.5,-293.75 494.12,-293.75 494.12,-270 430.5,-270"/>
<text text-anchor="start" x="441.69" y="-276.45" font-family="arial" font-size="14.00">CAT5e</text>
<polygon fill="none" stroke="black" points="494.12,-270 494.12,-293.75 530.75,-293.75 530.75,-270 494.12,-270"/>
<text text-anchor="start" x="505.31" y="-276.45" font-family="arial" font-size="14.00">8x</text>
<polygon fill="none" stroke="black" points="530.75,-270 530.75,-293.75 604.88,-293.75 604.88,-270 530.75,-270"/>
<text text-anchor="start" x="541.94" y="-276.45" font-family="arial" font-size="14.00">24 AWG</text>
<polygon fill="none" stroke="black" points="604.88,-270 604.88,-293.75 650.5,-293.75 650.5,-270 604.88,-270"/>
<text text-anchor="start" x="616.06" y="-276.45" font-family="arial" font-size="14.00">1 m</text>
<text text-anchor="start" x="460.12" y="-254.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="432.75" y="-235.7" font-family="arial" font-size="14.00">X1:1:DA+</text>
<text text-anchor="start" x="495.88" y="-235.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:WHGN &#160;&#160;&#160;</text>
<text text-anchor="start" x="589.75" y="-235.7" font-family="arial" font-size="14.00">X2:3:DA+</text>
<polygon fill="#000000" stroke="none" points="430.5,-230 430.5,-232 650.5,-232 650.5,-230 430.5,-230"/>
<polygon fill="#ffffff" stroke="none" points="430.5,-228 430.5,-230 650.5,-230 650.5,-228 430.5,-228"/>
<polygon fill="#00ff00" stroke="none" points="430.5,-226 430.5,-228 650.5,-228 650.5,-226 430.5,-226"/>
<polygon fill="#ffffff" stroke="none" points="430.5,-224 430.5,-226 650.5,-226 650.5,-224 430.5,-224"/>
<polygon fill="#000000" stroke="none" points="430.5,-222 430.5,-224 650.5,-224 650.5,-222 430.5,-222"/>
<text text-anchor="start" x="434.62" y="-206.7" font-family="arial" font-size="14.00">X1:2:DA&#45;</text>
<text text-anchor="start" x="507.5" y="-206.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:GN &#160;&#160;&#160;</text>
<text text-anchor="start" x="591.62" y="-206.7" font-family="arial" font-size="14.00">X2:6:DA&#45;</text>
<polygon fill="#000000" stroke="none" points="430.5,-201 430.5,-203 650.5,-203 650.5,-201 430.5,-201"/>
<polygon fill="#00ff00" stroke="none" points="430.5,-199 430.5,-201 650.5,-201 650.5,-199 430.5,-199"/>
<polygon fill="#00ff00" stroke="none" points="430.5,-197 430.5,-199 650.5,-199 650.5,-197 430.5,-197"/>
<polygon fill="#00ff00" stroke="none" points="430.5,-195 430.5,-197 650.5,-197 650.5,-195 430.5,-195"/>
<polygon fill="#000000" stroke="none" points="430.5,-193 430.5,-195 650.5,-195 650.5,-193 430.5,-193"/>
<text text-anchor="start" x="432.75" y="-177.7" font-family="arial" font-size="14.00">X1:3:DB+</text>
<text text-anchor="start" x="495.12" y="-177.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;3:WHOG &#160;&#160;&#160;</text>
<text text-anchor="start" x="589.75" y="-177.7" font-family="arial" font-size="14.00">X2:1:DB+</text>
<polygon fill="#000000" stroke="none" points="430.5,-172 430.5,-174 650.5,-174 650.5,-172 430.5,-172"/>
<polygon fill="#ffffff" stroke="none" points="430.5,-170 430.5,-172 650.5,-172 650.5,-170 430.5,-170"/>
<polygon fill="#ff8000" stroke="none" points="430.5,-168 430.5,-170 650.5,-170 650.5,-168 430.5,-168"/>
<polygon fill="#ffffff" stroke="none" points="430.5,-166 430.5,-168 650.5,-168 650.5,-166 430.5,-166"/>
<polygon fill="#000000" stroke="none" points="430.5,-164 430.5,-166 650.5,-166 650.5,-164 430.5,-164"/>
<text text-anchor="start" x="432.38" y="-148.7" font-family="arial" font-size="14.00">X1:4:DC+</text>
<text text-anchor="start" x="508.62" y="-148.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;4:BU &#160;&#160;&#160;</text>
<text text-anchor="start" x="589.38" y="-148.7" font-family="arial" font-size="14.00">X2:7:DC+</text>
<polygon fill="#000000" stroke="none" points="430.5,-143 430.5,-145 650.5,-145 650.5,-143 430.5,-143"/>
<polygon fill="#0066ff" stroke="none" points="430.5,-141 430.5,-143 650.5,-143 650.5,-141 430.5,-141"/>
<polygon fill="#0066ff" stroke="none" points="430.5,-139 430.5,-141 650.5,-141 650.5,-139 430.5,-139"/>
<polygon fill="#0066ff" stroke="none" points="430.5,-137 430.5,-139 650.5,-139 650.5,-137 430.5,-137"/>
<polygon fill="#000000" stroke="none" points="430.5,-135 430.5,-137 650.5,-137 650.5,-135 430.5,-135"/>
<text text-anchor="start" x="434.25" y="-119.7" font-family="arial" font-size="14.00">X1:5:DC&#45;</text>
<text text-anchor="start" x="497" y="-119.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;5:WHBU &#160;&#160;&#160;</text>
<text text-anchor="start" x="591.25" y="-119.7" font-family="arial" font-size="14.00">X2:8:DC&#45;</text>
<polygon fill="#000000" stroke="none" points="430.5,-114 430.5,-116 650.5,-116 650.5,-114 430.5,-114"/>
<polygon fill="#ffffff" stroke="none" points="430.5,-112 430.5,-114 650.5,-114 650.5,-112 430.5,-112"/>
<polygon fill="#0066ff" stroke="none" points="430.5,-110 430.5,-112 650.5,-112 650.5,-110 430.5,-110"/>
<polygon fill="#ffffff" stroke="none" points="430.5,-108 430.5,-110 650.5,-110 650.5,-108 430.5,-108"/>
<polygon fill="#000000" stroke="none" points="430.5,-106 430.5,-108 650.5,-108 650.5,-106 430.5,-106"/>
<text text-anchor="start" x="434.62" y="-90.7" font-family="arial" font-size="14.00">X1:6:DB&#45;</text>
<text text-anchor="start" x="506.75" y="-90.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;6:OG &#160;&#160;&#160;</text>
<text text-anchor="start" x="591.62" y="-90.7" font-family="arial" font-size="14.00">X2:2:DB&#45;</text>
<polygon fill="#000000" stroke="none" points="430.5,-85 430.5,-87 650.5,-87 650.5,-85 430.5,-85"/>
<polygon fill="#ff8000" stroke="none" points="430.5,-83 430.5,-85 650.5,-85 650.5,-83 430.5,-83"/>
<polygon fill="#ff8000" stroke="none" points="430.5,-81 430.5,-83 650.5,-83 650.5,-81 430.5,-81"/>
<polygon fill="#ff8000" stroke="none" points="430.5,-79 430.5,-81 650.5,-81 650.5,-79 430.5,-79"/>
<polygon fill="#000000" stroke="none" points="430.5,-77 430.5,-79 650.5,-79 650.5,-77 430.5,-77"/>
<text text-anchor="start" x="432.38" y="-61.7" font-family="arial" font-size="14.00">X1:7:DD+</text>
<text text-anchor="start" x="497" y="-61.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;7:WHBN &#160;&#160;&#160;</text>
<text text-anchor="start" x="589.38" y="-61.7" font-family="arial" font-size="14.00">X2:4:DD+</text>
<polygon fill="#000000" stroke="none" points="430.5,-56 430.5,-58 650.5,-58 650.5,-56 430.5,-56"/>
<polygon fill="#ffffff" stroke="none" points="430.5,-54 430.5,-56 650.5,-56 650.5,-54 430.5,-54"/>
<polygon fill="#895956" stroke="none" points="430.5,-52 430.5,-54 650.5,-54 650.5,-52 430.5,-52"/>
<polygon fill="#ffffff" stroke="none" points="430.5,-50 430.5,-52 650.5,-52 650.5,-50 430.5,-50"/>
<polygon fill="#000000" stroke="none" points="430.5,-48 430.5,-50 650.5,-50 650.5,-48 430.5,-48"/>
<text text-anchor="start" x="434.25" y="-32.7" font-family="arial" font-size="14.00">X1:8:DD&#45;</text>
<text text-anchor="start" x="508.62" y="-32.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;8:BN &#160;&#160;&#160;</text>
<text text-anchor="start" x="591.25" y="-32.7" font-family="arial" font-size="14.00">X2:5:DD&#45;</text>
<polygon fill="#000000" stroke="none" points="430.5,-27 430.5,-29 650.5,-29 650.5,-27 430.5,-27"/>
<polygon fill="#895956" stroke="none" points="430.5,-25 430.5,-27 650.5,-27 650.5,-25 430.5,-25"/>
<polygon fill="#895956" stroke="none" points="430.5,-23 430.5,-25 650.5,-25 650.5,-23 430.5,-23"/>
<polygon fill="#895956" stroke="none" points="430.5,-21 430.5,-23 650.5,-23 650.5,-21 430.5,-21"/>
<polygon fill="#000000" stroke="none" points="430.5,-19 430.5,-21 650.5,-21 650.5,-19 430.5,-19"/>
<text text-anchor="start" x="460.12" y="-3.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge1" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-201.75C354.46,-203.46 369.1,-224.46 430.5,-222.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M286.5,-203.75C352.82,-204.61 367.46,-225.61 430.5,-224.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M286.5,-205.75C351.18,-205.75 365.82,-226.75 430.5,-226.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M286.5,-207.75C349.54,-206.89 364.18,-227.89 430.5,-228.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-209.75C347.9,-208.04 362.54,-229.04 430.5,-230.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge3" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-178.75C353.65,-179.89 368.95,-194.89 430.5,-193.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M286.5,-180.75C352.25,-181.32 367.55,-196.32 430.5,-195.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M286.5,-182.75C350.85,-182.75 366.15,-197.75 430.5,-197.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M286.5,-184.75C349.45,-184.18 364.75,-199.18 430.5,-199.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-186.75C348.05,-185.61 363.35,-200.61 430.5,-201.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge5" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-155.75C352.61,-156.28 368.36,-165.28 430.5,-164.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M286.5,-157.75C351.62,-158.01 367.37,-167.01 430.5,-166.75"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M286.5,-159.75C350.62,-159.75 366.38,-168.75 430.5,-168.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M286.5,-161.75C349.63,-161.49 365.38,-170.49 430.5,-170.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-163.75C348.64,-163.22 364.39,-172.22 430.5,-172.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge7" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-132.75C351.25,-132.82 367.22,-135.82 430.5,-135.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M286.5,-134.75C350.88,-134.78 366.86,-137.78 430.5,-137.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M286.5,-136.75C350.51,-136.75 366.49,-139.75 430.5,-139.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M286.5,-138.75C350.14,-138.72 366.12,-141.72 430.5,-141.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-140.75C349.78,-140.68 365.75,-143.68 430.5,-143.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge9" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-109.75C349.78,-109.82 365.75,-106.82 430.5,-106.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M286.5,-111.75C350.14,-111.78 366.12,-108.78 430.5,-108.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M286.5,-113.75C350.51,-113.75 366.49,-110.75 430.5,-110.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M286.5,-115.75C350.88,-115.72 366.86,-112.72 430.5,-112.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-117.75C351.25,-117.68 367.22,-114.68 430.5,-114.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge11" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-86.75C348.64,-87.28 364.39,-78.28 430.5,-77.75"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M286.5,-88.75C349.63,-89.01 365.38,-80.01 430.5,-79.75"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M286.5,-90.75C350.62,-90.75 366.38,-81.75 430.5,-81.75"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M286.5,-92.75C351.62,-92.49 367.37,-83.49 430.5,-83.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-94.75C352.61,-94.22 368.36,-85.22 430.5,-85.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge13" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-63.75C348.05,-64.89 363.35,-49.89 430.5,-48.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M286.5,-65.75C349.45,-66.32 364.75,-51.32 430.5,-50.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M286.5,-67.75C350.85,-67.75 366.15,-52.75 430.5,-52.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M286.5,-69.75C352.25,-69.18 367.55,-54.18 430.5,-54.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-71.75C353.65,-70.61 368.95,-55.61 430.5,-56.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge15" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-40.75C347.9,-42.46 362.54,-21.46 430.5,-19.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M286.5,-42.75C349.54,-43.61 364.18,-22.61 430.5,-21.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M286.5,-44.75C351.18,-44.75 365.82,-23.75 430.5,-23.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M286.5,-46.75C352.82,-45.89 367.46,-24.89 430.5,-25.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-48.75C354.46,-47.04 369.1,-26.04 430.5,-27.75"/>
</g>
<!-- X2 -->
<g id="node2" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="1081,-278.5 794.5,-278.5 794.5,-47 1081,-47 1081,-278.5"/>
<polygon fill="none" stroke="black" points="794.5,-254.75 794.5,-278.5 1081,-278.5 1081,-254.75 794.5,-254.75"/>
<text text-anchor="start" x="929.5" y="-261.2" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="794.5,-231 794.5,-254.75 1005,-254.75 1005,-231 794.5,-231"/>
<text text-anchor="start" x="798.5" y="-237.45" font-family="arial" font-size="14.00">Stewart Connector SS&#45;37000&#45;002</text>
<polygon fill="none" stroke="black" points="1005,-231 1005,-254.75 1043,-254.75 1043,-231 1005,-231"/>
<text text-anchor="start" x="1009" y="-237.45" font-family="arial" font-size="14.00">male</text>
<polygon fill="none" stroke="black" points="1043,-231 1043,-254.75 1081,-254.75 1081,-231 1043,-231"/>
<text text-anchor="start" x="1047" y="-237.45" font-family="arial" font-size="14.00">8&#45;pin</text>
<polygon fill="none" stroke="black" points="794.5,-208 794.5,-231 927.75,-231 927.75,-208 794.5,-208"/>
<text text-anchor="start" x="857.38" y="-213.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="927.75,-208 927.75,-231 1081,-231 1081,-208 927.75,-208"/>
<text text-anchor="start" x="990.88" y="-213.7" font-family="arial" font-size="14.00">DB+</text>
<polygon fill="none" stroke="black" points="794.5,-185 794.5,-208 927.75,-208 927.75,-185 794.5,-185"/>
<text text-anchor="start" x="857.38" y="-190.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="927.75,-185 927.75,-208 1081,-208 1081,-185 927.75,-185"/>
<text text-anchor="start" x="992.75" y="-190.7" font-family="arial" font-size="14.00">DB&#45;</text>
<polygon fill="none" stroke="black" points="794.5,-162 794.5,-185 927.75,-185 927.75,-162 794.5,-162"/>
<text text-anchor="start" x="857.38" y="-167.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="927.75,-162 927.75,-185 1081,-185 1081,-162 927.75,-162"/>
<text text-anchor="start" x="990.88" y="-167.7" font-family="arial" font-size="14.00">DA+</text>
<polygon fill="none" stroke="black" points="794.5,-139 794.5,-162 927.75,-162 927.75,-139 794.5,-139"/>
<text text-anchor="start" x="857.38" y="-144.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="927.75,-139 927.75,-162 1081,-162 1081,-139 927.75,-139"/>
<text text-anchor="start" x="990.5" y="-144.7" font-family="arial" font-size="14.00">DD+</text>
<polygon fill="none" stroke="black" points="794.5,-116 794.5,-139 927.75,-139 927.75,-116 794.5,-116"/>
<text text-anchor="start" x="857.38" y="-121.7" font-family="arial" font-size="14.00">5</text>
<polygon fill="none" stroke="black" points="927.75,-116 927.75,-139 1081,-139 1081,-116 927.75,-116"/>
<text text-anchor="start" x="992.38" y="-121.7" font-family="arial" font-size="14.00">DD&#45;</text>
<polygon fill="none" stroke="black" points="794.5,-93 794.5,-116 927.75,-116 927.75,-93 794.5,-93"/>
<text text-anchor="start" x="857.38" y="-98.7" font-family="arial" font-size="14.00">6</text>
<polygon fill="none" stroke="black" points="927.75,-93 927.75,-116 1081,-116 1081,-93 927.75,-93"/>
<text text-anchor="start" x="992.75" y="-98.7" font-family="arial" font-size="14.00">DA&#45;</text>
<polygon fill="none" stroke="black" points="794.5,-70 794.5,-93 927.75,-93 927.75,-70 794.5,-70"/>
<text text-anchor="start" x="857.38" y="-75.7" font-family="arial" font-size="14.00">7</text>
<polygon fill="none" stroke="black" points="927.75,-70 927.75,-93 1081,-93 1081,-70 927.75,-70"/>
<text text-anchor="start" x="990.5" y="-75.7" font-family="arial" font-size="14.00">DC+</text>
<polygon fill="none" stroke="black" points="794.5,-47 794.5,-70 927.75,-70 927.75,-47 794.5,-47"/>
<text text-anchor="start" x="857.38" y="-52.7" font-family="arial" font-size="14.00">8</text>
<polygon fill="none" stroke="black" points="927.75,-47 927.75,-70 1081,-70 1081,-47 927.75,-47"/>
<text text-anchor="start" x="992.38" y="-52.7" font-family="arial" font-size="14.00">DC&#45;</text>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-222.75C714.74,-226.18 722.34,-173.18 794.5,-169.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M650.5,-224.75C716.72,-226.47 724.32,-173.47 794.5,-171.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M650.5,-226.75C718.7,-226.75 726.3,-173.75 794.5,-173.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M650.5,-228.75C720.68,-227.03 728.28,-174.03 794.5,-175.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-230.75C722.66,-227.32 730.26,-174.32 794.5,-177.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-193.75C722.7,-198.11 714.33,-105.11 794.5,-100.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M650.5,-195.75C724.69,-197.93 716.32,-104.93 794.5,-102.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M650.5,-197.75C726.69,-197.75 718.31,-104.75 794.5,-104.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M650.5,-199.75C728.68,-197.57 720.31,-104.57 794.5,-106.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-201.75C730.67,-197.39 722.3,-104.39 794.5,-108.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge6" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-164.75C722.34,-168.11 730.55,-219.11 794.5,-215.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M650.5,-166.75C720.37,-168.43 728.58,-219.43 794.5,-217.75"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M650.5,-168.75C718.4,-168.75 726.6,-219.75 794.5,-219.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M650.5,-170.75C716.42,-169.07 724.63,-220.07 794.5,-221.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-172.75C714.45,-169.39 722.66,-220.39 794.5,-223.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge8" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-135.75C715.52,-139.34 721.52,-81.34 794.5,-77.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M650.5,-137.75C717.51,-139.54 723.51,-81.54 794.5,-79.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M650.5,-139.75C719.5,-139.75 725.5,-81.75 794.5,-81.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M650.5,-141.75C721.49,-139.96 727.49,-81.96 794.5,-83.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-143.75C723.48,-140.16 729.48,-82.16 794.5,-85.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge10" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-106.75C714.59,-110.15 722.5,-58.15 794.5,-54.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M650.5,-108.75C716.57,-110.45 724.48,-58.45 794.5,-56.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M650.5,-110.75C718.55,-110.75 726.45,-58.75 794.5,-58.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M650.5,-112.75C720.52,-111.05 728.43,-59.05 794.5,-60.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-114.75C722.5,-111.35 730.41,-59.35 794.5,-62.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge12" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-77.75C736.35,-82.43 716.54,-197.43 794.5,-192.75"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M650.5,-79.75C734.38,-82.09 714.57,-197.09 794.5,-194.75"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M650.5,-81.75C732.4,-81.75 712.6,-196.75 794.5,-196.75"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M650.5,-83.75C730.43,-81.41 710.62,-196.41 794.5,-198.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-85.75C728.46,-81.07 708.65,-196.07 794.5,-200.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge14" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-48.75C731.89,-53.19 721.06,-151.19 794.5,-146.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M650.5,-50.75C729.9,-52.97 719.07,-150.97 794.5,-148.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M650.5,-52.75C727.92,-52.75 717.08,-150.75 794.5,-150.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M650.5,-54.75C725.93,-52.53 715.1,-150.53 794.5,-152.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-56.75C723.94,-52.31 713.11,-150.31 794.5,-154.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge16" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-19.75C733.41,-24.28 719.52,-128.28 794.5,-123.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M650.5,-21.75C731.43,-24.01 717.54,-128.01 794.5,-125.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M650.5,-23.75C729.45,-23.75 715.55,-127.75 794.5,-127.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M650.5,-25.75C727.46,-23.49 713.57,-127.49 794.5,-129.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-27.75C725.48,-23.22 711.59,-127.22 794.5,-131.75"/>
</g>
</g>
</svg>
</div>
<div id="notes">
<!-- %notes% -->
</div>
<h2>Bill of Materials</h2>
<div id="bom">
<table class="bom">
<tr>
<th class="bom_col_id">Id</th>
<th class="bom_col_description">Description</th>
<th class="bom_col_qty">Qty</th>
<th class="bom_col_unit">Unit</th>
<th class="bom_col_designators">Designators</th>
</tr>
<tr>
<td class="bom_col_id">1</td>
<td class="bom_col_description">Cable, CAT5e, 8 x 24 AWG</td>
<td class="bom_col_qty">1</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1</td>
</tr>
<tr>
<td class="bom_col_id">2</td>
<td class="bom_col_description">Connector, Stewart Connector SS-37000-002, male, 8 pins</td>
<td class="bom_col_qty">2</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X1, X2</td>
</tr>
</table>
</div>
</body></html>

BIN
examples/ex10.png generated Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

327
examples/ex10.svg generated Normal file
View File

@ -0,0 +1,327 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="1089pt" height="326pt"
viewBox="0.00 0.00 1089.00 325.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 321.5)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-321.5 1085,-321.5 1085,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="286.5,-264.5 0,-264.5 0,-33 286.5,-33 286.5,-264.5"/>
<polygon fill="none" stroke="black" points="0,-240.75 0,-264.5 286.5,-264.5 286.5,-240.75 0,-240.75"/>
<text text-anchor="start" x="135" y="-247.2" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-217 0,-240.75 210.5,-240.75 210.5,-217 0,-217"/>
<text text-anchor="start" x="4" y="-223.45" font-family="arial" font-size="14.00">Stewart Connector SS&#45;37000&#45;002</text>
<polygon fill="none" stroke="black" points="210.5,-217 210.5,-240.75 248.5,-240.75 248.5,-217 210.5,-217"/>
<text text-anchor="start" x="214.5" y="-223.45" font-family="arial" font-size="14.00">male</text>
<polygon fill="none" stroke="black" points="248.5,-217 248.5,-240.75 286.5,-240.75 286.5,-217 248.5,-217"/>
<text text-anchor="start" x="252.5" y="-223.45" font-family="arial" font-size="14.00">8&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-194 0,-217 153.25,-217 153.25,-194 0,-194"/>
<text text-anchor="start" x="63.12" y="-199.7" font-family="arial" font-size="14.00">DA+</text>
<polygon fill="none" stroke="black" points="153.25,-194 153.25,-217 286.5,-217 286.5,-194 153.25,-194"/>
<text text-anchor="start" x="216.12" y="-199.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-171 0,-194 153.25,-194 153.25,-171 0,-171"/>
<text text-anchor="start" x="65" y="-176.7" font-family="arial" font-size="14.00">DA&#45;</text>
<polygon fill="none" stroke="black" points="153.25,-171 153.25,-194 286.5,-194 286.5,-171 153.25,-171"/>
<text text-anchor="start" x="216.12" y="-176.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="0,-148 0,-171 153.25,-171 153.25,-148 0,-148"/>
<text text-anchor="start" x="63.12" y="-153.7" font-family="arial" font-size="14.00">DB+</text>
<polygon fill="none" stroke="black" points="153.25,-148 153.25,-171 286.5,-171 286.5,-148 153.25,-148"/>
<text text-anchor="start" x="216.12" y="-153.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="0,-125 0,-148 153.25,-148 153.25,-125 0,-125"/>
<text text-anchor="start" x="62.75" y="-130.7" font-family="arial" font-size="14.00">DC+</text>
<polygon fill="none" stroke="black" points="153.25,-125 153.25,-148 286.5,-148 286.5,-125 153.25,-125"/>
<text text-anchor="start" x="216.12" y="-130.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="0,-102 0,-125 153.25,-125 153.25,-102 0,-102"/>
<text text-anchor="start" x="64.62" y="-107.7" font-family="arial" font-size="14.00">DC&#45;</text>
<polygon fill="none" stroke="black" points="153.25,-102 153.25,-125 286.5,-125 286.5,-102 153.25,-102"/>
<text text-anchor="start" x="216.12" y="-107.7" font-family="arial" font-size="14.00">5</text>
<polygon fill="none" stroke="black" points="0,-79 0,-102 153.25,-102 153.25,-79 0,-79"/>
<text text-anchor="start" x="65" y="-84.7" font-family="arial" font-size="14.00">DB&#45;</text>
<polygon fill="none" stroke="black" points="153.25,-79 153.25,-102 286.5,-102 286.5,-79 153.25,-79"/>
<text text-anchor="start" x="216.12" y="-84.7" font-family="arial" font-size="14.00">6</text>
<polygon fill="none" stroke="black" points="0,-56 0,-79 153.25,-79 153.25,-56 0,-56"/>
<text text-anchor="start" x="62.75" y="-61.7" font-family="arial" font-size="14.00">DD+</text>
<polygon fill="none" stroke="black" points="153.25,-56 153.25,-79 286.5,-79 286.5,-56 153.25,-56"/>
<text text-anchor="start" x="216.12" y="-61.7" font-family="arial" font-size="14.00">7</text>
<polygon fill="none" stroke="black" points="0,-33 0,-56 153.25,-56 153.25,-33 0,-33"/>
<text text-anchor="start" x="64.62" y="-38.7" font-family="arial" font-size="14.00">DD&#45;</text>
<polygon fill="none" stroke="black" points="153.25,-33 153.25,-56 286.5,-56 286.5,-33 153.25,-33"/>
<text text-anchor="start" x="216.12" y="-38.7" font-family="arial" font-size="14.00">8</text>
</g>
<!-- W1 -->
<g id="node3" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" points="650.5,-317.5 430.5,-317.5 430.5,0 650.5,0 650.5,-317.5"/>
<polygon fill="none" stroke="black" points="430.5,-293.75 430.5,-317.5 650.5,-317.5 650.5,-293.75 430.5,-293.75"/>
<text text-anchor="start" x="530" y="-300.2" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="430.5,-270 430.5,-293.75 494.12,-293.75 494.12,-270 430.5,-270"/>
<text text-anchor="start" x="441.69" y="-276.45" font-family="arial" font-size="14.00">CAT5e</text>
<polygon fill="none" stroke="black" points="494.12,-270 494.12,-293.75 530.75,-293.75 530.75,-270 494.12,-270"/>
<text text-anchor="start" x="505.31" y="-276.45" font-family="arial" font-size="14.00">8x</text>
<polygon fill="none" stroke="black" points="530.75,-270 530.75,-293.75 604.88,-293.75 604.88,-270 530.75,-270"/>
<text text-anchor="start" x="541.94" y="-276.45" font-family="arial" font-size="14.00">24 AWG</text>
<polygon fill="none" stroke="black" points="604.88,-270 604.88,-293.75 650.5,-293.75 650.5,-270 604.88,-270"/>
<text text-anchor="start" x="616.06" y="-276.45" font-family="arial" font-size="14.00">1 m</text>
<text text-anchor="start" x="460.12" y="-254.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="432.75" y="-235.7" font-family="arial" font-size="14.00">X1:1:DA+</text>
<text text-anchor="start" x="495.88" y="-235.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:WHGN &#160;&#160;&#160;</text>
<text text-anchor="start" x="589.75" y="-235.7" font-family="arial" font-size="14.00">X2:3:DA+</text>
<polygon fill="#000000" stroke="none" points="430.5,-230 430.5,-232 650.5,-232 650.5,-230 430.5,-230"/>
<polygon fill="#ffffff" stroke="none" points="430.5,-228 430.5,-230 650.5,-230 650.5,-228 430.5,-228"/>
<polygon fill="#00ff00" stroke="none" points="430.5,-226 430.5,-228 650.5,-228 650.5,-226 430.5,-226"/>
<polygon fill="#ffffff" stroke="none" points="430.5,-224 430.5,-226 650.5,-226 650.5,-224 430.5,-224"/>
<polygon fill="#000000" stroke="none" points="430.5,-222 430.5,-224 650.5,-224 650.5,-222 430.5,-222"/>
<text text-anchor="start" x="434.62" y="-206.7" font-family="arial" font-size="14.00">X1:2:DA&#45;</text>
<text text-anchor="start" x="507.5" y="-206.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:GN &#160;&#160;&#160;</text>
<text text-anchor="start" x="591.62" y="-206.7" font-family="arial" font-size="14.00">X2:6:DA&#45;</text>
<polygon fill="#000000" stroke="none" points="430.5,-201 430.5,-203 650.5,-203 650.5,-201 430.5,-201"/>
<polygon fill="#00ff00" stroke="none" points="430.5,-199 430.5,-201 650.5,-201 650.5,-199 430.5,-199"/>
<polygon fill="#00ff00" stroke="none" points="430.5,-197 430.5,-199 650.5,-199 650.5,-197 430.5,-197"/>
<polygon fill="#00ff00" stroke="none" points="430.5,-195 430.5,-197 650.5,-197 650.5,-195 430.5,-195"/>
<polygon fill="#000000" stroke="none" points="430.5,-193 430.5,-195 650.5,-195 650.5,-193 430.5,-193"/>
<text text-anchor="start" x="432.75" y="-177.7" font-family="arial" font-size="14.00">X1:3:DB+</text>
<text text-anchor="start" x="495.12" y="-177.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;3:WHOG &#160;&#160;&#160;</text>
<text text-anchor="start" x="589.75" y="-177.7" font-family="arial" font-size="14.00">X2:1:DB+</text>
<polygon fill="#000000" stroke="none" points="430.5,-172 430.5,-174 650.5,-174 650.5,-172 430.5,-172"/>
<polygon fill="#ffffff" stroke="none" points="430.5,-170 430.5,-172 650.5,-172 650.5,-170 430.5,-170"/>
<polygon fill="#ff8000" stroke="none" points="430.5,-168 430.5,-170 650.5,-170 650.5,-168 430.5,-168"/>
<polygon fill="#ffffff" stroke="none" points="430.5,-166 430.5,-168 650.5,-168 650.5,-166 430.5,-166"/>
<polygon fill="#000000" stroke="none" points="430.5,-164 430.5,-166 650.5,-166 650.5,-164 430.5,-164"/>
<text text-anchor="start" x="432.38" y="-148.7" font-family="arial" font-size="14.00">X1:4:DC+</text>
<text text-anchor="start" x="508.62" y="-148.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;4:BU &#160;&#160;&#160;</text>
<text text-anchor="start" x="589.38" y="-148.7" font-family="arial" font-size="14.00">X2:7:DC+</text>
<polygon fill="#000000" stroke="none" points="430.5,-143 430.5,-145 650.5,-145 650.5,-143 430.5,-143"/>
<polygon fill="#0066ff" stroke="none" points="430.5,-141 430.5,-143 650.5,-143 650.5,-141 430.5,-141"/>
<polygon fill="#0066ff" stroke="none" points="430.5,-139 430.5,-141 650.5,-141 650.5,-139 430.5,-139"/>
<polygon fill="#0066ff" stroke="none" points="430.5,-137 430.5,-139 650.5,-139 650.5,-137 430.5,-137"/>
<polygon fill="#000000" stroke="none" points="430.5,-135 430.5,-137 650.5,-137 650.5,-135 430.5,-135"/>
<text text-anchor="start" x="434.25" y="-119.7" font-family="arial" font-size="14.00">X1:5:DC&#45;</text>
<text text-anchor="start" x="497" y="-119.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;5:WHBU &#160;&#160;&#160;</text>
<text text-anchor="start" x="591.25" y="-119.7" font-family="arial" font-size="14.00">X2:8:DC&#45;</text>
<polygon fill="#000000" stroke="none" points="430.5,-114 430.5,-116 650.5,-116 650.5,-114 430.5,-114"/>
<polygon fill="#ffffff" stroke="none" points="430.5,-112 430.5,-114 650.5,-114 650.5,-112 430.5,-112"/>
<polygon fill="#0066ff" stroke="none" points="430.5,-110 430.5,-112 650.5,-112 650.5,-110 430.5,-110"/>
<polygon fill="#ffffff" stroke="none" points="430.5,-108 430.5,-110 650.5,-110 650.5,-108 430.5,-108"/>
<polygon fill="#000000" stroke="none" points="430.5,-106 430.5,-108 650.5,-108 650.5,-106 430.5,-106"/>
<text text-anchor="start" x="434.62" y="-90.7" font-family="arial" font-size="14.00">X1:6:DB&#45;</text>
<text text-anchor="start" x="506.75" y="-90.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;6:OG &#160;&#160;&#160;</text>
<text text-anchor="start" x="591.62" y="-90.7" font-family="arial" font-size="14.00">X2:2:DB&#45;</text>
<polygon fill="#000000" stroke="none" points="430.5,-85 430.5,-87 650.5,-87 650.5,-85 430.5,-85"/>
<polygon fill="#ff8000" stroke="none" points="430.5,-83 430.5,-85 650.5,-85 650.5,-83 430.5,-83"/>
<polygon fill="#ff8000" stroke="none" points="430.5,-81 430.5,-83 650.5,-83 650.5,-81 430.5,-81"/>
<polygon fill="#ff8000" stroke="none" points="430.5,-79 430.5,-81 650.5,-81 650.5,-79 430.5,-79"/>
<polygon fill="#000000" stroke="none" points="430.5,-77 430.5,-79 650.5,-79 650.5,-77 430.5,-77"/>
<text text-anchor="start" x="432.38" y="-61.7" font-family="arial" font-size="14.00">X1:7:DD+</text>
<text text-anchor="start" x="497" y="-61.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;7:WHBN &#160;&#160;&#160;</text>
<text text-anchor="start" x="589.38" y="-61.7" font-family="arial" font-size="14.00">X2:4:DD+</text>
<polygon fill="#000000" stroke="none" points="430.5,-56 430.5,-58 650.5,-58 650.5,-56 430.5,-56"/>
<polygon fill="#ffffff" stroke="none" points="430.5,-54 430.5,-56 650.5,-56 650.5,-54 430.5,-54"/>
<polygon fill="#895956" stroke="none" points="430.5,-52 430.5,-54 650.5,-54 650.5,-52 430.5,-52"/>
<polygon fill="#ffffff" stroke="none" points="430.5,-50 430.5,-52 650.5,-52 650.5,-50 430.5,-50"/>
<polygon fill="#000000" stroke="none" points="430.5,-48 430.5,-50 650.5,-50 650.5,-48 430.5,-48"/>
<text text-anchor="start" x="434.25" y="-32.7" font-family="arial" font-size="14.00">X1:8:DD&#45;</text>
<text text-anchor="start" x="508.62" y="-32.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;8:BN &#160;&#160;&#160;</text>
<text text-anchor="start" x="591.25" y="-32.7" font-family="arial" font-size="14.00">X2:5:DD&#45;</text>
<polygon fill="#000000" stroke="none" points="430.5,-27 430.5,-29 650.5,-29 650.5,-27 430.5,-27"/>
<polygon fill="#895956" stroke="none" points="430.5,-25 430.5,-27 650.5,-27 650.5,-25 430.5,-25"/>
<polygon fill="#895956" stroke="none" points="430.5,-23 430.5,-25 650.5,-25 650.5,-23 430.5,-23"/>
<polygon fill="#895956" stroke="none" points="430.5,-21 430.5,-23 650.5,-23 650.5,-21 430.5,-21"/>
<polygon fill="#000000" stroke="none" points="430.5,-19 430.5,-21 650.5,-21 650.5,-19 430.5,-19"/>
<text text-anchor="start" x="460.12" y="-3.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge1" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-201.75C354.46,-203.46 369.1,-224.46 430.5,-222.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M286.5,-203.75C352.82,-204.61 367.46,-225.61 430.5,-224.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M286.5,-205.75C351.18,-205.75 365.82,-226.75 430.5,-226.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M286.5,-207.75C349.54,-206.89 364.18,-227.89 430.5,-228.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-209.75C347.9,-208.04 362.54,-229.04 430.5,-230.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge3" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-178.75C353.65,-179.89 368.95,-194.89 430.5,-193.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M286.5,-180.75C352.25,-181.32 367.55,-196.32 430.5,-195.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M286.5,-182.75C350.85,-182.75 366.15,-197.75 430.5,-197.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M286.5,-184.75C349.45,-184.18 364.75,-199.18 430.5,-199.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-186.75C348.05,-185.61 363.35,-200.61 430.5,-201.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge5" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-155.75C352.61,-156.28 368.36,-165.28 430.5,-164.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M286.5,-157.75C351.62,-158.01 367.37,-167.01 430.5,-166.75"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M286.5,-159.75C350.62,-159.75 366.38,-168.75 430.5,-168.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M286.5,-161.75C349.63,-161.49 365.38,-170.49 430.5,-170.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-163.75C348.64,-163.22 364.39,-172.22 430.5,-172.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge7" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-132.75C351.25,-132.82 367.22,-135.82 430.5,-135.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M286.5,-134.75C350.88,-134.78 366.86,-137.78 430.5,-137.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M286.5,-136.75C350.51,-136.75 366.49,-139.75 430.5,-139.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M286.5,-138.75C350.14,-138.72 366.12,-141.72 430.5,-141.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-140.75C349.78,-140.68 365.75,-143.68 430.5,-143.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge9" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-109.75C349.78,-109.82 365.75,-106.82 430.5,-106.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M286.5,-111.75C350.14,-111.78 366.12,-108.78 430.5,-108.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M286.5,-113.75C350.51,-113.75 366.49,-110.75 430.5,-110.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M286.5,-115.75C350.88,-115.72 366.86,-112.72 430.5,-112.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-117.75C351.25,-117.68 367.22,-114.68 430.5,-114.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge11" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-86.75C348.64,-87.28 364.39,-78.28 430.5,-77.75"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M286.5,-88.75C349.63,-89.01 365.38,-80.01 430.5,-79.75"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M286.5,-90.75C350.62,-90.75 366.38,-81.75 430.5,-81.75"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M286.5,-92.75C351.62,-92.49 367.37,-83.49 430.5,-83.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-94.75C352.61,-94.22 368.36,-85.22 430.5,-85.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge13" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-63.75C348.05,-64.89 363.35,-49.89 430.5,-48.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M286.5,-65.75C349.45,-66.32 364.75,-51.32 430.5,-50.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M286.5,-67.75C350.85,-67.75 366.15,-52.75 430.5,-52.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M286.5,-69.75C352.25,-69.18 367.55,-54.18 430.5,-54.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-71.75C353.65,-70.61 368.95,-55.61 430.5,-56.75"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge15" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-40.75C347.9,-42.46 362.54,-21.46 430.5,-19.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M286.5,-42.75C349.54,-43.61 364.18,-22.61 430.5,-21.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M286.5,-44.75C351.18,-44.75 365.82,-23.75 430.5,-23.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M286.5,-46.75C352.82,-45.89 367.46,-24.89 430.5,-25.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M286.5,-48.75C354.46,-47.04 369.1,-26.04 430.5,-27.75"/>
</g>
<!-- X2 -->
<g id="node2" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="1081,-278.5 794.5,-278.5 794.5,-47 1081,-47 1081,-278.5"/>
<polygon fill="none" stroke="black" points="794.5,-254.75 794.5,-278.5 1081,-278.5 1081,-254.75 794.5,-254.75"/>
<text text-anchor="start" x="929.5" y="-261.2" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="794.5,-231 794.5,-254.75 1005,-254.75 1005,-231 794.5,-231"/>
<text text-anchor="start" x="798.5" y="-237.45" font-family="arial" font-size="14.00">Stewart Connector SS&#45;37000&#45;002</text>
<polygon fill="none" stroke="black" points="1005,-231 1005,-254.75 1043,-254.75 1043,-231 1005,-231"/>
<text text-anchor="start" x="1009" y="-237.45" font-family="arial" font-size="14.00">male</text>
<polygon fill="none" stroke="black" points="1043,-231 1043,-254.75 1081,-254.75 1081,-231 1043,-231"/>
<text text-anchor="start" x="1047" y="-237.45" font-family="arial" font-size="14.00">8&#45;pin</text>
<polygon fill="none" stroke="black" points="794.5,-208 794.5,-231 927.75,-231 927.75,-208 794.5,-208"/>
<text text-anchor="start" x="857.38" y="-213.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="927.75,-208 927.75,-231 1081,-231 1081,-208 927.75,-208"/>
<text text-anchor="start" x="990.88" y="-213.7" font-family="arial" font-size="14.00">DB+</text>
<polygon fill="none" stroke="black" points="794.5,-185 794.5,-208 927.75,-208 927.75,-185 794.5,-185"/>
<text text-anchor="start" x="857.38" y="-190.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="927.75,-185 927.75,-208 1081,-208 1081,-185 927.75,-185"/>
<text text-anchor="start" x="992.75" y="-190.7" font-family="arial" font-size="14.00">DB&#45;</text>
<polygon fill="none" stroke="black" points="794.5,-162 794.5,-185 927.75,-185 927.75,-162 794.5,-162"/>
<text text-anchor="start" x="857.38" y="-167.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="927.75,-162 927.75,-185 1081,-185 1081,-162 927.75,-162"/>
<text text-anchor="start" x="990.88" y="-167.7" font-family="arial" font-size="14.00">DA+</text>
<polygon fill="none" stroke="black" points="794.5,-139 794.5,-162 927.75,-162 927.75,-139 794.5,-139"/>
<text text-anchor="start" x="857.38" y="-144.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="927.75,-139 927.75,-162 1081,-162 1081,-139 927.75,-139"/>
<text text-anchor="start" x="990.5" y="-144.7" font-family="arial" font-size="14.00">DD+</text>
<polygon fill="none" stroke="black" points="794.5,-116 794.5,-139 927.75,-139 927.75,-116 794.5,-116"/>
<text text-anchor="start" x="857.38" y="-121.7" font-family="arial" font-size="14.00">5</text>
<polygon fill="none" stroke="black" points="927.75,-116 927.75,-139 1081,-139 1081,-116 927.75,-116"/>
<text text-anchor="start" x="992.38" y="-121.7" font-family="arial" font-size="14.00">DD&#45;</text>
<polygon fill="none" stroke="black" points="794.5,-93 794.5,-116 927.75,-116 927.75,-93 794.5,-93"/>
<text text-anchor="start" x="857.38" y="-98.7" font-family="arial" font-size="14.00">6</text>
<polygon fill="none" stroke="black" points="927.75,-93 927.75,-116 1081,-116 1081,-93 927.75,-93"/>
<text text-anchor="start" x="992.75" y="-98.7" font-family="arial" font-size="14.00">DA&#45;</text>
<polygon fill="none" stroke="black" points="794.5,-70 794.5,-93 927.75,-93 927.75,-70 794.5,-70"/>
<text text-anchor="start" x="857.38" y="-75.7" font-family="arial" font-size="14.00">7</text>
<polygon fill="none" stroke="black" points="927.75,-70 927.75,-93 1081,-93 1081,-70 927.75,-70"/>
<text text-anchor="start" x="990.5" y="-75.7" font-family="arial" font-size="14.00">DC+</text>
<polygon fill="none" stroke="black" points="794.5,-47 794.5,-70 927.75,-70 927.75,-47 794.5,-47"/>
<text text-anchor="start" x="857.38" y="-52.7" font-family="arial" font-size="14.00">8</text>
<polygon fill="none" stroke="black" points="927.75,-47 927.75,-70 1081,-70 1081,-47 927.75,-47"/>
<text text-anchor="start" x="992.38" y="-52.7" font-family="arial" font-size="14.00">DC&#45;</text>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-222.75C714.74,-226.18 722.34,-173.18 794.5,-169.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M650.5,-224.75C716.72,-226.47 724.32,-173.47 794.5,-171.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M650.5,-226.75C718.7,-226.75 726.3,-173.75 794.5,-173.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M650.5,-228.75C720.68,-227.03 728.28,-174.03 794.5,-175.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-230.75C722.66,-227.32 730.26,-174.32 794.5,-177.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-193.75C722.7,-198.11 714.33,-105.11 794.5,-100.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M650.5,-195.75C724.69,-197.93 716.32,-104.93 794.5,-102.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M650.5,-197.75C726.69,-197.75 718.31,-104.75 794.5,-104.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M650.5,-199.75C728.68,-197.57 720.31,-104.57 794.5,-106.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-201.75C730.67,-197.39 722.3,-104.39 794.5,-108.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge6" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-164.75C722.34,-168.11 730.55,-219.11 794.5,-215.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M650.5,-166.75C720.37,-168.43 728.58,-219.43 794.5,-217.75"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M650.5,-168.75C718.4,-168.75 726.6,-219.75 794.5,-219.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M650.5,-170.75C716.42,-169.07 724.63,-220.07 794.5,-221.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-172.75C714.45,-169.39 722.66,-220.39 794.5,-223.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge8" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-135.75C715.52,-139.34 721.52,-81.34 794.5,-77.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M650.5,-137.75C717.51,-139.54 723.51,-81.54 794.5,-79.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M650.5,-139.75C719.5,-139.75 725.5,-81.75 794.5,-81.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M650.5,-141.75C721.49,-139.96 727.49,-81.96 794.5,-83.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-143.75C723.48,-140.16 729.48,-82.16 794.5,-85.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge10" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-106.75C714.59,-110.15 722.5,-58.15 794.5,-54.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M650.5,-108.75C716.57,-110.45 724.48,-58.45 794.5,-56.75"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M650.5,-110.75C718.55,-110.75 726.45,-58.75 794.5,-58.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M650.5,-112.75C720.52,-111.05 728.43,-59.05 794.5,-60.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-114.75C722.5,-111.35 730.41,-59.35 794.5,-62.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge12" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-77.75C736.35,-82.43 716.54,-197.43 794.5,-192.75"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M650.5,-79.75C734.38,-82.09 714.57,-197.09 794.5,-194.75"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M650.5,-81.75C732.4,-81.75 712.6,-196.75 794.5,-196.75"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M650.5,-83.75C730.43,-81.41 710.62,-196.41 794.5,-198.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-85.75C728.46,-81.07 708.65,-196.07 794.5,-200.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge14" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-48.75C731.89,-53.19 721.06,-151.19 794.5,-146.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M650.5,-50.75C729.9,-52.97 719.07,-150.97 794.5,-148.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M650.5,-52.75C727.92,-52.75 717.08,-150.75 794.5,-150.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M650.5,-54.75C725.93,-52.53 715.1,-150.53 794.5,-152.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-56.75C723.94,-52.31 713.11,-150.31 794.5,-154.75"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge16" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-19.75C733.41,-24.28 719.52,-128.28 794.5,-123.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M650.5,-21.75C731.43,-24.01 717.54,-128.01 794.5,-125.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M650.5,-23.75C729.45,-23.75 715.55,-127.75 794.5,-127.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M650.5,-25.75C727.46,-23.49 713.57,-127.49 794.5,-129.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M650.5,-27.75C725.48,-23.22 711.59,-127.22 794.5,-131.75"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 27 KiB

24
examples/ex10.yml Normal file
View File

@ -0,0 +1,24 @@
# Example 7: Crossover Cable
connectors:
X1:
type: Stewart Connector SS-37000-002
subtype: male
pinlabels: [DA+,DA-,DB+,DC+,DC-,DB-,DD+,DD-] # pincount is implicit in pinout
X2:
type: Stewart Connector SS-37000-002
subtype: male
pinlabels: [DB+,DB-,DA+,DD+,DD-,DA-,DC+,DC-]
cables:
W1:
color_code: T568A # auto-color wires based on a standard
wirecount: 8 # need to specify number of wires explicitly when using a color code
gauge: 24 AWG # also accepts AWG as unit
length: 1 # length in m
shield: false
type: CAT5e
connections:
- - X1: [1-8]
- W1: [1-8]
- X2: [3,6,1,7,8,2,4,5] # crossover

4
examples/ex11.bom.tsv generated Normal file
View File

@ -0,0 +1,4 @@
Id Description Qty Unit Designators
1 Cable, 4 wires, BK 0 m W1
2 Connector, Ferrule, GY 4
3 Connector, Screw connector, male, 4 pins, GN 1 X1
1 Id Description Qty Unit Designators
2 1 Cable, 4 wires, BK 0 m W1
3 2 Connector, Ferrule, GY 4
4 3 Connector, Screw connector, male, 4 pins, GN 1 X1

191
examples/ex11.gv generated Normal file
View File

@ -0,0 +1,191 @@
graph {
// Graph generated by WireViz 0.4.1
// https://github.com/wireviz/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]
__F_1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Ferrule</td>
<td balign="left">GY</td>
<td balign="left" bgcolor="#999999" width="4"></td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
__F_2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Ferrule</td>
<td balign="left">GY</td>
<td balign="left" bgcolor="#999999" width="4"></td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
__F_3 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Ferrule</td>
<td balign="left">GY</td>
<td balign="left" bgcolor="#999999" width="4"></td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
__F_4 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Ferrule</td>
<td balign="left">GY</td>
<td balign="left" bgcolor="#999999" width="4"></td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Screw connector</td>
<td balign="left">male</td>
<td balign="left">4-pin</td>
<td balign="left">GN</td>
<td balign="left" bgcolor="#00FF00" width="4"></td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1l">1</td>
<td>A</td>
</tr>
<tr>
<td port="p2l">2</td>
<td>B</td>
</tr>
<tr>
<td port="p3l">3</td>
<td>C</td>
</tr>
<tr>
<td port="p4l">4</td>
<td>D</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
edge [color="#000000:#000000:#000000"]
W1:w1:e -- __F_1:w
edge [color="#000000:#ffffff:#000000"]
W1:w2:e -- __F_2:w
edge [color="#000000:#0066ff:#000000"]
W1:w3:e -- __F_3:w
edge [color="#000000:#895956:#000000"]
W1:w4:e -- __F_4:w
W1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">4x</td>
<td balign="left">BK</td>
<td balign="left" bgcolor="#000000" width="4"></td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td><!-- 1_in --></td>
<td>
1:BK
</td>
<td></td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td><!-- 2_in --></td>
<td>
2:WH
</td>
<td></td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td><!-- 3_in --></td>
<td>
3:BU
</td>
<td></td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#0066ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td><!-- 4_in --></td>
<td>
4:BN
</td>
<td></td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#895956" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
edge [color="#000000" dir=forward style=dashed]
__F_1:e -- X1:p1l:w
edge [color="#000000" dir=forward style=dashed]
__F_2:e -- X1:p2l:w
edge [color="#000000" dir=forward style=dashed]
__F_3:e -- X1:p3l:w
edge [color="#000000" dir=forward style=dashed]
__F_4:e -- X1:p4l:w
}

245
examples/ex11.html generated Normal file
View File

@ -0,0 +1,245 @@
<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<meta name="generator" content="WireViz 0.4.1 - https://github.com/wireviz/WireViz">
<title>ex11</title>
<style>
#bom table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
#bom th, td {
padding: 4px;
text-align: left;
}
.bom_col_qty {
text-align: right;
}
</style>
</head><body style="font-family:arial;background-color:#ffffff">
<h1>ex11</h1>
<h2>Diagram</h2>
<div id="description">
<!-- %description% -->
</div>
<div id="diagram">
<!-- XML and DOCTYPE declarations from SVG file removed -->
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="688pt" height="218pt"
viewBox="0.00 0.00 687.50 217.62" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 213.62)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-213.62 683.5,-213.62 683.5,4 -4,4"/>
<!-- __F_1 -->
<g id="node1" class="node">
<title>__F_1</title>
<polygon fill="#ffffff" stroke="black" points="314,-167.75 227,-167.75 227,-144 314,-144 314,-167.75"/>
<polygon fill="none" stroke="black" points="227,-144 227,-167.75 277.75,-167.75 277.75,-144 227,-144"/>
<text text-anchor="start" x="231" y="-150.45" font-family="arial" font-size="14.00">Ferrule</text>
<polygon fill="none" stroke="black" points="277.75,-144 277.75,-167.75 306,-167.75 306,-144 277.75,-144"/>
<text text-anchor="start" x="281.75" y="-150.45" font-family="arial" font-size="14.00">GY</text>
<polygon fill="#999999" stroke="none" points="306,-144 306,-167.75 314,-167.75 314,-144 306,-144"/>
<polygon fill="none" stroke="black" points="306,-144 306,-167.75 314,-167.75 314,-144 306,-144"/>
</g>
<!-- X1 -->
<g id="node5" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="679.5,-176.62 458,-176.62 458,-37.12 679.5,-37.12 679.5,-176.62"/>
<polygon fill="none" stroke="black" points="458,-152.88 458,-176.62 679.5,-176.62 679.5,-152.88 458,-152.88"/>
<text text-anchor="start" x="560.5" y="-159.32" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="458,-129.12 458,-152.88 566.5,-152.88 566.5,-129.12 458,-129.12"/>
<text text-anchor="start" x="462" y="-135.57" font-family="arial" font-size="14.00">Screw connector</text>
<polygon fill="none" stroke="black" points="566.5,-129.12 566.5,-152.88 604.5,-152.88 604.5,-129.12 566.5,-129.12"/>
<text text-anchor="start" x="570.5" y="-135.57" font-family="arial" font-size="14.00">male</text>
<polygon fill="none" stroke="black" points="604.5,-129.12 604.5,-152.88 642.5,-152.88 642.5,-129.12 604.5,-129.12"/>
<text text-anchor="start" x="608.5" y="-135.57" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="642.5,-129.12 642.5,-152.88 671.5,-152.88 671.5,-129.12 642.5,-129.12"/>
<text text-anchor="start" x="646.5" y="-135.57" font-family="arial" font-size="14.00">GN</text>
<polygon fill="#00ff00" stroke="none" points="671.5,-129.12 671.5,-152.88 679.5,-152.88 679.5,-129.12 671.5,-129.12"/>
<polygon fill="none" stroke="black" points="671.5,-129.12 671.5,-152.88 679.5,-152.88 679.5,-129.12 671.5,-129.12"/>
<polygon fill="none" stroke="black" points="458,-106.12 458,-129.12 567.75,-129.12 567.75,-106.12 458,-106.12"/>
<text text-anchor="start" x="509.12" y="-111.83" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="567.75,-106.12 567.75,-129.12 679.5,-129.12 679.5,-106.12 567.75,-106.12"/>
<text text-anchor="start" x="619.12" y="-111.83" font-family="arial" font-size="14.00">A</text>
<polygon fill="none" stroke="black" points="458,-83.12 458,-106.12 567.75,-106.12 567.75,-83.12 458,-83.12"/>
<text text-anchor="start" x="509.12" y="-88.83" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="567.75,-83.12 567.75,-106.12 679.5,-106.12 679.5,-83.12 567.75,-83.12"/>
<text text-anchor="start" x="619.12" y="-88.83" font-family="arial" font-size="14.00">B</text>
<polygon fill="none" stroke="black" points="458,-60.12 458,-83.12 567.75,-83.12 567.75,-60.12 458,-60.12"/>
<text text-anchor="start" x="509.12" y="-65.83" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="567.75,-60.12 567.75,-83.12 679.5,-83.12 679.5,-60.12 567.75,-60.12"/>
<text text-anchor="start" x="618.75" y="-65.83" font-family="arial" font-size="14.00">C</text>
<polygon fill="none" stroke="black" points="458,-37.12 458,-60.12 567.75,-60.12 567.75,-37.12 458,-37.12"/>
<text text-anchor="start" x="509.12" y="-42.83" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="567.75,-37.12 567.75,-60.12 679.5,-60.12 679.5,-37.12 567.75,-37.12"/>
<text text-anchor="start" x="618.75" y="-42.83" font-family="arial" font-size="14.00">D</text>
</g>
<!-- __F_1&#45;&#45;X1 -->
<g id="edge5" class="edge">
<title>__F_1:e&#45;&#45;X1:w</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M314,-155.88C376.18,-155.88 390.2,-122.34 446.55,-118.28"/>
<polygon fill="#000000" stroke="#000000" points="446.62,-121.78 456.49,-117.93 446.37,-114.78 446.62,-121.78"/>
</g>
<!-- __F_2 -->
<g id="node2" class="node">
<title>__F_2</title>
<polygon fill="#ffffff" stroke="black" points="314,-119.75 227,-119.75 227,-96 314,-96 314,-119.75"/>
<polygon fill="none" stroke="black" points="227,-96 227,-119.75 277.75,-119.75 277.75,-96 227,-96"/>
<text text-anchor="start" x="231" y="-102.45" font-family="arial" font-size="14.00">Ferrule</text>
<polygon fill="none" stroke="black" points="277.75,-96 277.75,-119.75 306,-119.75 306,-96 277.75,-96"/>
<text text-anchor="start" x="281.75" y="-102.45" font-family="arial" font-size="14.00">GY</text>
<polygon fill="#999999" stroke="none" points="306,-96 306,-119.75 314,-119.75 314,-96 306,-96"/>
<polygon fill="none" stroke="black" points="306,-96 306,-119.75 314,-119.75 314,-96 306,-96"/>
</g>
<!-- __F_2&#45;&#45;X1 -->
<g id="edge6" class="edge">
<title>__F_2:e&#45;&#45;X1:w</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M314,-107.88C374.24,-107.88 391.61,-96.45 446.5,-95.02"/>
<polygon fill="#000000" stroke="#000000" points="446.53,-98.52 456.49,-94.89 446.44,-91.52 446.53,-98.52"/>
</g>
<!-- __F_3 -->
<g id="node3" class="node">
<title>__F_3</title>
<polygon fill="#ffffff" stroke="black" points="314,-71.75 227,-71.75 227,-48 314,-48 314,-71.75"/>
<polygon fill="none" stroke="black" points="227,-48 227,-71.75 277.75,-71.75 277.75,-48 227,-48"/>
<text text-anchor="start" x="231" y="-54.45" font-family="arial" font-size="14.00">Ferrule</text>
<polygon fill="none" stroke="black" points="277.75,-48 277.75,-71.75 306,-71.75 306,-48 277.75,-48"/>
<text text-anchor="start" x="281.75" y="-54.45" font-family="arial" font-size="14.00">GY</text>
<polygon fill="#999999" stroke="none" points="306,-48 306,-71.75 314,-71.75 314,-48 306,-48"/>
<polygon fill="none" stroke="black" points="306,-48 306,-71.75 314,-71.75 314,-48 306,-48"/>
</g>
<!-- __F_3&#45;&#45;X1 -->
<g id="edge7" class="edge">
<title>__F_3:e&#45;&#45;X1:w</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M314,-59.88C374.21,-59.88 391.64,-70.42 446.5,-71.74"/>
<polygon fill="#000000" stroke="#000000" points="446.45,-75.24 456.49,-71.86 446.53,-68.24 446.45,-75.24"/>
</g>
<!-- __F_4 -->
<g id="node4" class="node">
<title>__F_4</title>
<polygon fill="#ffffff" stroke="black" points="314,-23.75 227,-23.75 227,0 314,0 314,-23.75"/>
<polygon fill="none" stroke="black" points="227,0 227,-23.75 277.75,-23.75 277.75,0 227,0"/>
<text text-anchor="start" x="231" y="-6.45" font-family="arial" font-size="14.00">Ferrule</text>
<polygon fill="none" stroke="black" points="277.75,0 277.75,-23.75 306,-23.75 306,0 277.75,0"/>
<text text-anchor="start" x="281.75" y="-6.45" font-family="arial" font-size="14.00">GY</text>
<polygon fill="#999999" stroke="none" points="306,0 306,-23.75 314,-23.75 314,0 306,0"/>
<polygon fill="none" stroke="black" points="306,0 306,-23.75 314,-23.75 314,0 306,0"/>
</g>
<!-- __F_4&#45;&#45;X1 -->
<g id="edge8" class="edge">
<title>__F_4:e&#45;&#45;X1:w</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M314,-11.88C376.08,-11.88 390.29,-44.53 446.57,-48.48"/>
<polygon fill="#000000" stroke="#000000" points="446.37,-51.98 456.49,-48.82 446.61,-44.98 446.37,-51.98"/>
</g>
<!-- W1 -->
<g id="node6" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" points="83,-209.62 0,-209.62 0,-24.12 83,-24.12 83,-209.62"/>
<polygon fill="none" stroke="black" points="0,-185.88 0,-209.62 83,-209.62 83,-185.88 0,-185.88"/>
<text text-anchor="start" x="31" y="-192.32" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="0,-162.12 0,-185.88 31.17,-185.88 31.17,-162.12 0,-162.12"/>
<text text-anchor="start" x="8.46" y="-168.57" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="31.17,-162.12 31.17,-185.88 66.08,-185.88 66.08,-162.12 31.17,-162.12"/>
<text text-anchor="start" x="39.62" y="-168.57" font-family="arial" font-size="14.00">BK</text>
<polygon fill="#000000" stroke="none" points="66.08,-162.12 66.08,-185.88 83,-185.88 83,-162.12 66.08,-162.12"/>
<polygon fill="none" stroke="black" points="66.08,-162.12 66.08,-185.88 83,-185.88 83,-162.12 66.08,-162.12"/>
<text text-anchor="start" x="1.62" y="-146.82" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="11.5" y="-127.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:BK &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="0,-122.12 0,-124.12 83,-124.12 83,-122.12 0,-122.12"/>
<polygon fill="#000000" stroke="none" points="0,-120.12 0,-122.12 83,-122.12 83,-120.12 0,-120.12"/>
<polygon fill="#000000" stroke="none" points="0,-118.12 0,-120.12 83,-120.12 83,-118.12 0,-118.12"/>
<text text-anchor="start" x="8.88" y="-102.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:WH &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="0,-97.12 0,-99.12 83,-99.12 83,-97.12 0,-97.12"/>
<polygon fill="#ffffff" stroke="none" points="0,-95.12 0,-97.12 83,-97.12 83,-95.12 0,-95.12"/>
<polygon fill="#000000" stroke="none" points="0,-93.12 0,-95.12 83,-95.12 83,-93.12 0,-93.12"/>
<text text-anchor="start" x="11.12" y="-77.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;3:BU &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="0,-72.12 0,-74.12 83,-74.12 83,-72.12 0,-72.12"/>
<polygon fill="#0066ff" stroke="none" points="0,-70.12 0,-72.12 83,-72.12 83,-70.12 0,-70.12"/>
<polygon fill="#000000" stroke="none" points="0,-68.12 0,-70.12 83,-70.12 83,-68.12 0,-68.12"/>
<text text-anchor="start" x="11.12" y="-52.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;4:BN &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="0,-47.12 0,-49.12 83,-49.12 83,-47.12 0,-47.12"/>
<polygon fill="#895956" stroke="none" points="0,-45.12 0,-47.12 83,-47.12 83,-45.12 0,-45.12"/>
<polygon fill="#000000" stroke="none" points="0,-43.12 0,-45.12 83,-45.12 83,-43.12 0,-43.12"/>
<text text-anchor="start" x="1.62" y="-27.82" font-family="arial" font-size="14.00"> </text>
</g>
<!-- W1&#45;&#45;__F_1 -->
<g id="edge1" class="edge">
<title>W1:e&#45;&#45;__F_1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M83,-118.88C150.75,-120.21 163.02,-155.21 227,-153.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M83,-120.88C148.86,-120.88 161.14,-155.88 227,-155.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M83,-122.87C146.98,-121.54 159.25,-156.54 227,-157.87"/>
</g>
<!-- W1&#45;&#45;__F_2 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;__F_2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M83,-93.88C148.44,-94.29 164,-106.29 227,-105.88"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M83,-95.87C147.22,-95.87 162.78,-107.87 227,-107.87"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M83,-97.87C146,-97.46 161.56,-109.46 227,-109.87"/>
</g>
<!-- W1&#45;&#45;__F_3 -->
<g id="edge3" class="edge">
<title>W1:e&#45;&#45;__F_3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M83,-68.88C146.04,-69.24 161.66,-58.24 227,-57.88"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M83,-70.88C147.19,-70.87 162.81,-59.88 227,-59.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M83,-72.87C148.34,-72.51 163.96,-61.51 227,-61.87"/>
</g>
<!-- W1&#45;&#45;__F_4 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;__F_4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M83,-43.88C146.88,-45.19 159.36,-11.19 227,-9.88"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M83,-45.88C148.76,-45.88 161.24,-11.88 227,-11.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M83,-47.87C150.64,-46.56 163.12,-12.56 227,-13.87"/>
</g>
</g>
</svg>
</div>
<div id="notes">
<!-- %notes% -->
</div>
<h2>Bill of Materials</h2>
<div id="bom">
<table class="bom">
<tr>
<th class="bom_col_id">Id</th>
<th class="bom_col_description">Description</th>
<th class="bom_col_qty">Qty</th>
<th class="bom_col_unit">Unit</th>
<th class="bom_col_designators">Designators</th>
</tr>
<tr>
<td class="bom_col_id">1</td>
<td class="bom_col_description">Cable, 4 wires, BK</td>
<td class="bom_col_qty">0</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1</td>
</tr>
<tr>
<td class="bom_col_id">2</td>
<td class="bom_col_description">Connector, Ferrule, GY</td>
<td class="bom_col_qty">4</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators"></td>
</tr>
<tr>
<td class="bom_col_id">3</td>
<td class="bom_col_description">Connector, Screw connector, male, 4 pins, GN</td>
<td class="bom_col_qty">1</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X1</td>
</tr>
</table>
</div>
</body></html>

BIN
examples/ex11.png generated Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

172
examples/ex11.svg generated Normal file
View File

@ -0,0 +1,172 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="688pt" height="218pt"
viewBox="0.00 0.00 687.50 217.62" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 213.62)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-213.62 683.5,-213.62 683.5,4 -4,4"/>
<!-- __F_1 -->
<g id="node1" class="node">
<title>__F_1</title>
<polygon fill="#ffffff" stroke="black" points="314,-167.75 227,-167.75 227,-144 314,-144 314,-167.75"/>
<polygon fill="none" stroke="black" points="227,-144 227,-167.75 277.75,-167.75 277.75,-144 227,-144"/>
<text text-anchor="start" x="231" y="-150.45" font-family="arial" font-size="14.00">Ferrule</text>
<polygon fill="none" stroke="black" points="277.75,-144 277.75,-167.75 306,-167.75 306,-144 277.75,-144"/>
<text text-anchor="start" x="281.75" y="-150.45" font-family="arial" font-size="14.00">GY</text>
<polygon fill="#999999" stroke="none" points="306,-144 306,-167.75 314,-167.75 314,-144 306,-144"/>
<polygon fill="none" stroke="black" points="306,-144 306,-167.75 314,-167.75 314,-144 306,-144"/>
</g>
<!-- X1 -->
<g id="node5" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="679.5,-176.62 458,-176.62 458,-37.12 679.5,-37.12 679.5,-176.62"/>
<polygon fill="none" stroke="black" points="458,-152.88 458,-176.62 679.5,-176.62 679.5,-152.88 458,-152.88"/>
<text text-anchor="start" x="560.5" y="-159.32" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="458,-129.12 458,-152.88 566.5,-152.88 566.5,-129.12 458,-129.12"/>
<text text-anchor="start" x="462" y="-135.57" font-family="arial" font-size="14.00">Screw connector</text>
<polygon fill="none" stroke="black" points="566.5,-129.12 566.5,-152.88 604.5,-152.88 604.5,-129.12 566.5,-129.12"/>
<text text-anchor="start" x="570.5" y="-135.57" font-family="arial" font-size="14.00">male</text>
<polygon fill="none" stroke="black" points="604.5,-129.12 604.5,-152.88 642.5,-152.88 642.5,-129.12 604.5,-129.12"/>
<text text-anchor="start" x="608.5" y="-135.57" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="642.5,-129.12 642.5,-152.88 671.5,-152.88 671.5,-129.12 642.5,-129.12"/>
<text text-anchor="start" x="646.5" y="-135.57" font-family="arial" font-size="14.00">GN</text>
<polygon fill="#00ff00" stroke="none" points="671.5,-129.12 671.5,-152.88 679.5,-152.88 679.5,-129.12 671.5,-129.12"/>
<polygon fill="none" stroke="black" points="671.5,-129.12 671.5,-152.88 679.5,-152.88 679.5,-129.12 671.5,-129.12"/>
<polygon fill="none" stroke="black" points="458,-106.12 458,-129.12 567.75,-129.12 567.75,-106.12 458,-106.12"/>
<text text-anchor="start" x="509.12" y="-111.83" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="567.75,-106.12 567.75,-129.12 679.5,-129.12 679.5,-106.12 567.75,-106.12"/>
<text text-anchor="start" x="619.12" y="-111.83" font-family="arial" font-size="14.00">A</text>
<polygon fill="none" stroke="black" points="458,-83.12 458,-106.12 567.75,-106.12 567.75,-83.12 458,-83.12"/>
<text text-anchor="start" x="509.12" y="-88.83" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="567.75,-83.12 567.75,-106.12 679.5,-106.12 679.5,-83.12 567.75,-83.12"/>
<text text-anchor="start" x="619.12" y="-88.83" font-family="arial" font-size="14.00">B</text>
<polygon fill="none" stroke="black" points="458,-60.12 458,-83.12 567.75,-83.12 567.75,-60.12 458,-60.12"/>
<text text-anchor="start" x="509.12" y="-65.83" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="567.75,-60.12 567.75,-83.12 679.5,-83.12 679.5,-60.12 567.75,-60.12"/>
<text text-anchor="start" x="618.75" y="-65.83" font-family="arial" font-size="14.00">C</text>
<polygon fill="none" stroke="black" points="458,-37.12 458,-60.12 567.75,-60.12 567.75,-37.12 458,-37.12"/>
<text text-anchor="start" x="509.12" y="-42.83" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="567.75,-37.12 567.75,-60.12 679.5,-60.12 679.5,-37.12 567.75,-37.12"/>
<text text-anchor="start" x="618.75" y="-42.83" font-family="arial" font-size="14.00">D</text>
</g>
<!-- __F_1&#45;&#45;X1 -->
<g id="edge5" class="edge">
<title>__F_1:e&#45;&#45;X1:w</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M314,-155.88C376.18,-155.88 390.2,-122.34 446.55,-118.28"/>
<polygon fill="#000000" stroke="#000000" points="446.62,-121.78 456.49,-117.93 446.37,-114.78 446.62,-121.78"/>
</g>
<!-- __F_2 -->
<g id="node2" class="node">
<title>__F_2</title>
<polygon fill="#ffffff" stroke="black" points="314,-119.75 227,-119.75 227,-96 314,-96 314,-119.75"/>
<polygon fill="none" stroke="black" points="227,-96 227,-119.75 277.75,-119.75 277.75,-96 227,-96"/>
<text text-anchor="start" x="231" y="-102.45" font-family="arial" font-size="14.00">Ferrule</text>
<polygon fill="none" stroke="black" points="277.75,-96 277.75,-119.75 306,-119.75 306,-96 277.75,-96"/>
<text text-anchor="start" x="281.75" y="-102.45" font-family="arial" font-size="14.00">GY</text>
<polygon fill="#999999" stroke="none" points="306,-96 306,-119.75 314,-119.75 314,-96 306,-96"/>
<polygon fill="none" stroke="black" points="306,-96 306,-119.75 314,-119.75 314,-96 306,-96"/>
</g>
<!-- __F_2&#45;&#45;X1 -->
<g id="edge6" class="edge">
<title>__F_2:e&#45;&#45;X1:w</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M314,-107.88C374.24,-107.88 391.61,-96.45 446.5,-95.02"/>
<polygon fill="#000000" stroke="#000000" points="446.53,-98.52 456.49,-94.89 446.44,-91.52 446.53,-98.52"/>
</g>
<!-- __F_3 -->
<g id="node3" class="node">
<title>__F_3</title>
<polygon fill="#ffffff" stroke="black" points="314,-71.75 227,-71.75 227,-48 314,-48 314,-71.75"/>
<polygon fill="none" stroke="black" points="227,-48 227,-71.75 277.75,-71.75 277.75,-48 227,-48"/>
<text text-anchor="start" x="231" y="-54.45" font-family="arial" font-size="14.00">Ferrule</text>
<polygon fill="none" stroke="black" points="277.75,-48 277.75,-71.75 306,-71.75 306,-48 277.75,-48"/>
<text text-anchor="start" x="281.75" y="-54.45" font-family="arial" font-size="14.00">GY</text>
<polygon fill="#999999" stroke="none" points="306,-48 306,-71.75 314,-71.75 314,-48 306,-48"/>
<polygon fill="none" stroke="black" points="306,-48 306,-71.75 314,-71.75 314,-48 306,-48"/>
</g>
<!-- __F_3&#45;&#45;X1 -->
<g id="edge7" class="edge">
<title>__F_3:e&#45;&#45;X1:w</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M314,-59.88C374.21,-59.88 391.64,-70.42 446.5,-71.74"/>
<polygon fill="#000000" stroke="#000000" points="446.45,-75.24 456.49,-71.86 446.53,-68.24 446.45,-75.24"/>
</g>
<!-- __F_4 -->
<g id="node4" class="node">
<title>__F_4</title>
<polygon fill="#ffffff" stroke="black" points="314,-23.75 227,-23.75 227,0 314,0 314,-23.75"/>
<polygon fill="none" stroke="black" points="227,0 227,-23.75 277.75,-23.75 277.75,0 227,0"/>
<text text-anchor="start" x="231" y="-6.45" font-family="arial" font-size="14.00">Ferrule</text>
<polygon fill="none" stroke="black" points="277.75,0 277.75,-23.75 306,-23.75 306,0 277.75,0"/>
<text text-anchor="start" x="281.75" y="-6.45" font-family="arial" font-size="14.00">GY</text>
<polygon fill="#999999" stroke="none" points="306,0 306,-23.75 314,-23.75 314,0 306,0"/>
<polygon fill="none" stroke="black" points="306,0 306,-23.75 314,-23.75 314,0 306,0"/>
</g>
<!-- __F_4&#45;&#45;X1 -->
<g id="edge8" class="edge">
<title>__F_4:e&#45;&#45;X1:w</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M314,-11.88C376.08,-11.88 390.29,-44.53 446.57,-48.48"/>
<polygon fill="#000000" stroke="#000000" points="446.37,-51.98 456.49,-48.82 446.61,-44.98 446.37,-51.98"/>
</g>
<!-- W1 -->
<g id="node6" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" points="83,-209.62 0,-209.62 0,-24.12 83,-24.12 83,-209.62"/>
<polygon fill="none" stroke="black" points="0,-185.88 0,-209.62 83,-209.62 83,-185.88 0,-185.88"/>
<text text-anchor="start" x="31" y="-192.32" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="0,-162.12 0,-185.88 31.17,-185.88 31.17,-162.12 0,-162.12"/>
<text text-anchor="start" x="8.46" y="-168.57" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="31.17,-162.12 31.17,-185.88 66.08,-185.88 66.08,-162.12 31.17,-162.12"/>
<text text-anchor="start" x="39.62" y="-168.57" font-family="arial" font-size="14.00">BK</text>
<polygon fill="#000000" stroke="none" points="66.08,-162.12 66.08,-185.88 83,-185.88 83,-162.12 66.08,-162.12"/>
<polygon fill="none" stroke="black" points="66.08,-162.12 66.08,-185.88 83,-185.88 83,-162.12 66.08,-162.12"/>
<text text-anchor="start" x="1.62" y="-146.82" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="11.5" y="-127.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:BK &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="0,-122.12 0,-124.12 83,-124.12 83,-122.12 0,-122.12"/>
<polygon fill="#000000" stroke="none" points="0,-120.12 0,-122.12 83,-122.12 83,-120.12 0,-120.12"/>
<polygon fill="#000000" stroke="none" points="0,-118.12 0,-120.12 83,-120.12 83,-118.12 0,-118.12"/>
<text text-anchor="start" x="8.88" y="-102.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:WH &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="0,-97.12 0,-99.12 83,-99.12 83,-97.12 0,-97.12"/>
<polygon fill="#ffffff" stroke="none" points="0,-95.12 0,-97.12 83,-97.12 83,-95.12 0,-95.12"/>
<polygon fill="#000000" stroke="none" points="0,-93.12 0,-95.12 83,-95.12 83,-93.12 0,-93.12"/>
<text text-anchor="start" x="11.12" y="-77.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;3:BU &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="0,-72.12 0,-74.12 83,-74.12 83,-72.12 0,-72.12"/>
<polygon fill="#0066ff" stroke="none" points="0,-70.12 0,-72.12 83,-72.12 83,-70.12 0,-70.12"/>
<polygon fill="#000000" stroke="none" points="0,-68.12 0,-70.12 83,-70.12 83,-68.12 0,-68.12"/>
<text text-anchor="start" x="11.12" y="-52.83" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;4:BN &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="0,-47.12 0,-49.12 83,-49.12 83,-47.12 0,-47.12"/>
<polygon fill="#895956" stroke="none" points="0,-45.12 0,-47.12 83,-47.12 83,-45.12 0,-45.12"/>
<polygon fill="#000000" stroke="none" points="0,-43.12 0,-45.12 83,-45.12 83,-43.12 0,-43.12"/>
<text text-anchor="start" x="1.62" y="-27.82" font-family="arial" font-size="14.00"> </text>
</g>
<!-- W1&#45;&#45;__F_1 -->
<g id="edge1" class="edge">
<title>W1:e&#45;&#45;__F_1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M83,-118.88C150.75,-120.21 163.02,-155.21 227,-153.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M83,-120.88C148.86,-120.88 161.14,-155.88 227,-155.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M83,-122.87C146.98,-121.54 159.25,-156.54 227,-157.87"/>
</g>
<!-- W1&#45;&#45;__F_2 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;__F_2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M83,-93.88C148.44,-94.29 164,-106.29 227,-105.88"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M83,-95.87C147.22,-95.87 162.78,-107.87 227,-107.87"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M83,-97.87C146,-97.46 161.56,-109.46 227,-109.87"/>
</g>
<!-- W1&#45;&#45;__F_3 -->
<g id="edge3" class="edge">
<title>W1:e&#45;&#45;__F_3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M83,-68.88C146.04,-69.24 161.66,-58.24 227,-57.88"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M83,-70.88C147.19,-70.87 162.81,-59.88 227,-59.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M83,-72.87C148.34,-72.51 163.96,-61.51 227,-61.87"/>
</g>
<!-- W1&#45;&#45;__F_4 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;__F_4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M83,-43.88C146.88,-45.19 159.36,-11.19 227,-9.88"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M83,-45.88C148.76,-45.88 161.24,-11.88 227,-11.88"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M83,-47.87C150.64,-46.56 163.12,-12.56 227,-13.87"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

25
examples/ex11.yml Normal file
View File

@ -0,0 +1,25 @@
# based on @stmaxed's example in #134
connectors:
X1: &X
type: Screw connector
subtype: male
color: GN
pincount: 4
pinlabels: [A, B, C, D]
F:
style: simple
type: Ferrule
color: GY
cables:
W:
color: BK
colors: [BK, WH, BU, BN]
connections:
- # ferrules + connector X1
- W.W1: [1-4]
- F.
- -->
- X1: [1-4]

7
examples/ex12.bom.tsv generated Normal file
View File

@ -0,0 +1,7 @@
Id Description Qty Unit Designators
1 Connector, Dupont 2.54mm, female, 5 pins, BK 1 X2
2 Connector, Dupont 2.54mm, male, 5 pins, BK 1 X1
3 Wire, BK 0.4 m W1, W2
4 Wire, BU 0.4 m W1, W2
5 Wire, GN 0.4 m W1, W2
6 Wire, RD 0.4 m W1, W2
1 Id Description Qty Unit Designators
2 1 Connector, Dupont 2.54mm, female, 5 pins, BK 1 X2
3 2 Connector, Dupont 2.54mm, male, 5 pins, BK 1 X1
4 3 Wire, BK 0.4 m W1, W2
5 4 Wire, BU 0.4 m W1, W2
6 5 Wire, GN 0.4 m W1, W2
7 6 Wire, RD 0.4 m W1, W2

269
examples/ex12.gv generated Normal file
View File

@ -0,0 +1,269 @@
graph {
// Graph generated by WireViz 0.4.1
// https://github.com/wireviz/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]
X1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Dupont 2.54mm</td>
<td balign="left">male</td>
<td balign="left">5-pin</td>
<td balign="left">BK</td>
<td balign="left" bgcolor="#000000" width="4"></td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1l">1</td>
</tr>
<tr>
<td port="p2l">2</td>
</tr>
<tr>
<td port="p3l">3</td>
</tr>
<tr>
<td port="p4l">4</td>
</tr>
<tr>
<td port="p5l">5</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X2</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">Dupont 2.54mm</td>
<td balign="left">female</td>
<td balign="left">5-pin</td>
<td balign="left">BK</td>
<td balign="left" bgcolor="#000000" width="4"></td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1r">1</td>
</tr>
<tr>
<td port="p2r">2</td>
</tr>
<tr>
<td port="p3r">3</td>
</tr>
<tr>
<td port="p4r">4</td>
</tr>
<tr>
<td port="p5r">5</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
edge [color="#000000:#ff0000:#000000"]
W1:w1:e -- X1:p1l:w
edge [color="#000000:#000000:#000000"]
W1:w2:e -- X1:p2l:w
edge [color="#000000:#0066ff:#000000"]
W1:w3:e -- X1:p3l:w
edge [color="#000000:#00ff00:#000000"]
W1:w4:e -- X1:p4l:w
W1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">4x</td>
<td balign="left">0.2 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td><!-- 1_in --></td>
<td>
RD
</td>
<td>X1:1</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff0000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td><!-- 2_in --></td>
<td>
BK
</td>
<td>X1:2</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td><!-- 3_in --></td>
<td>
BU
</td>
<td>X1:3</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#0066ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td><!-- 4_in --></td>
<td>
GN
</td>
<td>X1:4</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style="filled,dashed"]
edge [color="#000000:#ff0000:#000000"]
X2:p1r:e -- W2:w1:w
edge [color="#000000:#000000:#000000"]
X2:p2r:e -- W2:w2:w
edge [color="#000000:#0066ff:#000000"]
X2:p3r:e -- W2:w3:w
edge [color="#000000:#00ff00:#000000"]
X2:p4r:e -- W2:w4:w
W2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">W2</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">4x</td>
<td balign="left">0.2 m</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td>X2:1</td>
<td>
RD
</td>
<td><!-- 1_out --></td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff0000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X2:2</td>
<td>
BK
</td>
<td><!-- 2_out --></td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X2:3</td>
<td>
BU
</td>
<td><!-- 3_out --></td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#0066ff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X2:4</td>
<td>
GN
</td>
<td><!-- 4_out --></td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style="filled,dashed"]
edge [color="#000000:#000000" dir=forward style=dashed]
X1:e -- X2:w
}

289
examples/ex12.html generated Normal file
View File

@ -0,0 +1,289 @@
<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<meta name="generator" content="WireViz 0.4.1 - https://github.com/wireviz/WireViz">
<title>ex12</title>
<style>
#bom table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
#bom th, td {
padding: 4px;
text-align: left;
}
.bom_col_qty {
text-align: right;
}
</style>
</head><body style="font-family:arial;background-color:#ffffff">
<h1>ex12</h1>
<h2>Diagram</h2>
<div id="description">
<!-- %description% -->
</div>
<div id="diagram">
<!-- XML and DOCTYPE declarations from SVG file removed -->
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="1071pt" height="205pt"
viewBox="0.00 0.00 1071.25 204.88" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 200.88)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-200.88 1067.25,-200.88 1067.25,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="455.5,-166.25 240,-166.25 240,0 455.5,0 455.5,-166.25"/>
<polygon fill="none" stroke="black" points="240,-142.5 240,-166.25 455.5,-166.25 455.5,-142.5 240,-142.5"/>
<text text-anchor="start" x="339.5" y="-148.95" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="240,-118.75 240,-142.5 345.5,-142.5 345.5,-118.75 240,-118.75"/>
<text text-anchor="start" x="244" y="-125.2" font-family="arial" font-size="14.00">Dupont 2.54mm</text>
<polygon fill="none" stroke="black" points="345.5,-118.75 345.5,-142.5 383.5,-142.5 383.5,-118.75 345.5,-118.75"/>
<text text-anchor="start" x="349.5" y="-125.2" font-family="arial" font-size="14.00">male</text>
<polygon fill="none" stroke="black" points="383.5,-118.75 383.5,-142.5 421.5,-142.5 421.5,-118.75 383.5,-118.75"/>
<text text-anchor="start" x="387.5" y="-125.2" font-family="arial" font-size="14.00">5&#45;pin</text>
<polygon fill="none" stroke="black" points="421.5,-118.75 421.5,-142.5 447.5,-142.5 447.5,-118.75 421.5,-118.75"/>
<text text-anchor="start" x="425.5" y="-125.2" font-family="arial" font-size="14.00">BK</text>
<polygon fill="#000000" stroke="none" points="447.5,-118.75 447.5,-142.5 455.5,-142.5 455.5,-118.75 447.5,-118.75"/>
<polygon fill="none" stroke="black" points="447.5,-118.75 447.5,-142.5 455.5,-142.5 455.5,-118.75 447.5,-118.75"/>
<polygon fill="none" stroke="black" points="240,-95 240,-118.75 455.5,-118.75 455.5,-95 240,-95"/>
<text text-anchor="start" x="344" y="-101.45" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="240,-71.25 240,-95 455.5,-95 455.5,-71.25 240,-71.25"/>
<text text-anchor="start" x="344" y="-77.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="240,-47.5 240,-71.25 455.5,-71.25 455.5,-47.5 240,-47.5"/>
<text text-anchor="start" x="344" y="-53.95" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="240,-23.75 240,-47.5 455.5,-47.5 455.5,-23.75 240,-23.75"/>
<text text-anchor="start" x="344" y="-30.2" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="240,0 240,-23.75 455.5,-23.75 455.5,0 240,0"/>
<text text-anchor="start" x="344" y="-6.45" font-family="arial" font-size="14.00">5</text>
</g>
<!-- X2 -->
<g id="node2" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="826.25,-166.25 599.5,-166.25 599.5,0 826.25,0 826.25,-166.25"/>
<polygon fill="none" stroke="black" points="599.5,-142.5 599.5,-166.25 826.25,-166.25 826.25,-142.5 599.5,-142.5"/>
<text text-anchor="start" x="704.62" y="-148.95" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="599.5,-118.75 599.5,-142.5 705,-142.5 705,-118.75 599.5,-118.75"/>
<text text-anchor="start" x="603.5" y="-125.2" font-family="arial" font-size="14.00">Dupont 2.54mm</text>
<polygon fill="none" stroke="black" points="705,-118.75 705,-142.5 754.25,-142.5 754.25,-118.75 705,-118.75"/>
<text text-anchor="start" x="709" y="-125.2" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="754.25,-118.75 754.25,-142.5 792.25,-142.5 792.25,-118.75 754.25,-118.75"/>
<text text-anchor="start" x="758.25" y="-125.2" font-family="arial" font-size="14.00">5&#45;pin</text>
<polygon fill="none" stroke="black" points="792.25,-118.75 792.25,-142.5 818.25,-142.5 818.25,-118.75 792.25,-118.75"/>
<text text-anchor="start" x="796.25" y="-125.2" font-family="arial" font-size="14.00">BK</text>
<polygon fill="#000000" stroke="none" points="818.25,-118.75 818.25,-142.5 826.25,-142.5 826.25,-118.75 818.25,-118.75"/>
<polygon fill="none" stroke="black" points="818.25,-118.75 818.25,-142.5 826.25,-142.5 826.25,-118.75 818.25,-118.75"/>
<polygon fill="none" stroke="black" points="599.5,-95 599.5,-118.75 826.25,-118.75 826.25,-95 599.5,-95"/>
<text text-anchor="start" x="709.12" y="-101.45" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="599.5,-71.25 599.5,-95 826.25,-95 826.25,-71.25 599.5,-71.25"/>
<text text-anchor="start" x="709.12" y="-77.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="599.5,-47.5 599.5,-71.25 826.25,-71.25 826.25,-47.5 599.5,-47.5"/>
<text text-anchor="start" x="709.12" y="-53.95" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="599.5,-23.75 599.5,-47.5 826.25,-47.5 826.25,-23.75 599.5,-23.75"/>
<text text-anchor="start" x="709.12" y="-30.2" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="599.5,0 599.5,-23.75 826.25,-23.75 826.25,0 599.5,0"/>
<text text-anchor="start" x="709.12" y="-6.45" font-family="arial" font-size="14.00">5</text>
</g>
<!-- X1&#45;&#45;X2 -->
<g id="edge9" class="edge">
<title>X1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M455.5,-82.13C515.5,-82.12 533.31,-82.12 588.04,-82.13"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M455.5,-84.12C515.5,-84.12 533.31,-84.12 588.04,-84.12"/>
<polygon fill="#000000" stroke="#000000" points="587.99,-86.63 597.99,-83.13 587.99,-79.63 587.99,-86.63"/>
</g>
<!-- W2 -->
<g id="node4" class="node">
<title>W2</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="1063.25,-196.88 970.25,-196.88 970.25,-11.38 1063.25,-11.38 1063.25,-196.88"/>
<polygon fill="none" stroke="black" points="970.25,-173.12 970.25,-196.88 1063.25,-196.88 1063.25,-173.12 970.25,-173.12"/>
<text text-anchor="start" x="1006.25" y="-179.57" font-family="arial" font-size="14.00">W2</text>
<polygon fill="none" stroke="black" points="970.25,-149.38 970.25,-173.12 1006.62,-173.12 1006.62,-149.38 970.25,-149.38"/>
<text text-anchor="start" x="981.31" y="-155.82" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="1006.62,-149.38 1006.62,-173.12 1063.25,-173.12 1063.25,-149.38 1006.62,-149.38"/>
<text text-anchor="start" x="1017.69" y="-155.82" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="983.88" y="-134.07" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="971.88" y="-115.08" font-family="arial" font-size="14.00">X2:1</text>
<text text-anchor="start" x="1003.62" y="-115.08" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;RD &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="970.25,-109.38 970.25,-111.38 1063.25,-111.38 1063.25,-109.38 970.25,-109.38"/>
<polygon fill="#ff0000" stroke="none" points="970.25,-107.38 970.25,-109.38 1063.25,-109.38 1063.25,-107.38 970.25,-107.38"/>
<polygon fill="#000000" stroke="none" points="970.25,-105.38 970.25,-107.38 1063.25,-107.38 1063.25,-105.38 970.25,-105.38"/>
<text text-anchor="start" x="971.88" y="-90.08" font-family="arial" font-size="14.00">X2:2</text>
<text text-anchor="start" x="1004.38" y="-90.08" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BK &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="970.25,-84.38 970.25,-86.38 1063.25,-86.38 1063.25,-84.38 970.25,-84.38"/>
<polygon fill="#000000" stroke="none" points="970.25,-82.38 970.25,-84.38 1063.25,-84.38 1063.25,-82.38 970.25,-82.38"/>
<polygon fill="#000000" stroke="none" points="970.25,-80.38 970.25,-82.38 1063.25,-82.38 1063.25,-80.38 970.25,-80.38"/>
<text text-anchor="start" x="971.88" y="-65.08" font-family="arial" font-size="14.00">X2:3</text>
<text text-anchor="start" x="1004" y="-65.08" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BU &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="970.25,-59.38 970.25,-61.38 1063.25,-61.38 1063.25,-59.38 970.25,-59.38"/>
<polygon fill="#0066ff" stroke="none" points="970.25,-57.38 970.25,-59.38 1063.25,-59.38 1063.25,-57.38 970.25,-57.38"/>
<polygon fill="#000000" stroke="none" points="970.25,-55.38 970.25,-57.38 1063.25,-57.38 1063.25,-55.38 970.25,-55.38"/>
<text text-anchor="start" x="971.88" y="-40.08" font-family="arial" font-size="14.00">X2:4</text>
<text text-anchor="start" x="1002.88" y="-40.08" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;GN &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="970.25,-34.38 970.25,-36.38 1063.25,-36.38 1063.25,-34.38 970.25,-34.38"/>
<polygon fill="#00ff00" stroke="none" points="970.25,-32.38 970.25,-34.38 1063.25,-34.38 1063.25,-32.38 970.25,-32.38"/>
<polygon fill="#000000" stroke="none" points="970.25,-30.38 970.25,-32.38 1063.25,-32.38 1063.25,-30.38 970.25,-30.38"/>
<text text-anchor="start" x="983.88" y="-15.07" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X2&#45;&#45;W2 -->
<g id="edge5" class="edge">
<title>X2:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M826.25,-105.13C890.38,-105.13 906.37,-106.13 970.25,-106.13"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M826.25,-107.12C890.25,-107.12 906.25,-108.12 970.25,-108.12"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M826.25,-109.12C890.13,-109.12 906.12,-110.12 970.25,-110.12"/>
</g>
<!-- X2&#45;&#45;W2 -->
<g id="edge6" class="edge">
<title>X2:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M826.25,-81.13C890.25,-81.12 906.25,-81.12 970.25,-81.13"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M826.25,-83.12C890.25,-83.12 906.25,-83.12 970.25,-83.12"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M826.25,-85.12C890.25,-85.12 906.25,-85.12 970.25,-85.12"/>
</g>
<!-- X2&#45;&#45;W2 -->
<g id="edge7" class="edge">
<title>X2:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M826.25,-57.13C890.13,-57.13 906.12,-56.13 970.25,-56.13"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M826.25,-59.12C890.25,-59.13 906.25,-58.13 970.25,-58.12"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M826.25,-61.12C890.38,-61.12 906.37,-60.12 970.25,-60.12"/>
</g>
<!-- X2&#45;&#45;W2 -->
<g id="edge8" class="edge">
<title>X2:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M826.25,-33.13C890.01,-33.14 906,-31.14 970.25,-31.13"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M826.25,-35.12C890.26,-35.12 906.24,-33.12 970.25,-33.12"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M826.25,-37.12C890.5,-37.11 906.49,-35.11 970.25,-35.12"/>
</g>
<!-- W1 -->
<g id="node3" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="96,-196.88 0,-196.88 0,-11.38 96,-11.38 96,-196.88"/>
<polygon fill="none" stroke="black" points="0,-173.12 0,-196.88 96,-196.88 96,-173.12 0,-173.12"/>
<text text-anchor="start" x="37.5" y="-179.57" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="0,-149.38 0,-173.12 37.88,-173.12 37.88,-149.38 0,-149.38"/>
<text text-anchor="start" x="11.81" y="-155.82" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="37.88,-149.38 37.88,-173.12 96,-173.12 96,-149.38 37.88,-149.38"/>
<text text-anchor="start" x="49.69" y="-155.82" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="1.62" y="-134.07" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="9.38" y="-115.08" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="66.62" y="-115.08" font-family="arial" font-size="14.00">X1:1</text>
<polygon fill="#000000" stroke="none" points="0,-109.38 0,-111.38 96,-111.38 96,-109.38 0,-109.38"/>
<polygon fill="#ff0000" stroke="none" points="0,-107.38 0,-109.38 96,-109.38 96,-107.38 0,-107.38"/>
<polygon fill="#000000" stroke="none" points="0,-105.38 0,-107.38 96,-107.38 96,-105.38 0,-105.38"/>
<text text-anchor="start" x="10.12" y="-90.08" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="66.62" y="-90.08" font-family="arial" font-size="14.00">X1:2</text>
<polygon fill="#000000" stroke="none" points="0,-84.38 0,-86.38 96,-86.38 96,-84.38 0,-84.38"/>
<polygon fill="#000000" stroke="none" points="0,-82.38 0,-84.38 96,-84.38 96,-82.38 0,-82.38"/>
<polygon fill="#000000" stroke="none" points="0,-80.38 0,-82.38 96,-82.38 96,-80.38 0,-80.38"/>
<text text-anchor="start" x="9.75" y="-65.08" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BU &#160;&#160;&#160;</text>
<text text-anchor="start" x="66.62" y="-65.08" font-family="arial" font-size="14.00">X1:3</text>
<polygon fill="#000000" stroke="none" points="0,-59.38 0,-61.38 96,-61.38 96,-59.38 0,-59.38"/>
<polygon fill="#0066ff" stroke="none" points="0,-57.38 0,-59.38 96,-59.38 96,-57.38 0,-57.38"/>
<polygon fill="#000000" stroke="none" points="0,-55.38 0,-57.38 96,-57.38 96,-55.38 0,-55.38"/>
<text text-anchor="start" x="8.62" y="-40.08" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;GN &#160;&#160;&#160;</text>
<text text-anchor="start" x="66.62" y="-40.08" font-family="arial" font-size="14.00">X1:4</text>
<polygon fill="#000000" stroke="none" points="0,-34.38 0,-36.38 96,-36.38 96,-34.38 0,-34.38"/>
<polygon fill="#00ff00" stroke="none" points="0,-32.38 0,-34.38 96,-34.38 96,-32.38 0,-32.38"/>
<polygon fill="#000000" stroke="none" points="0,-30.38 0,-32.38 96,-32.38 96,-30.38 0,-30.38"/>
<text text-anchor="start" x="1.62" y="-15.07" font-family="arial" font-size="14.00"> </text>
</g>
<!-- W1&#45;&#45;X1 -->
<g id="edge1" class="edge">
<title>W1:e&#45;&#45;X1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M96,-106.13C159.88,-106.13 175.87,-105.13 240,-105.13"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M96,-108.12C160,-108.12 176,-107.12 240,-107.12"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M96,-110.12C160.13,-110.12 176.12,-109.12 240,-109.12"/>
</g>
<!-- W1&#45;&#45;X1 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;X1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M96,-81.13C160,-81.12 176,-81.12 240,-81.13"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M96,-83.12C160,-83.12 176,-83.12 240,-83.12"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M96,-85.12C160,-85.12 176,-85.12 240,-85.12"/>
</g>
<!-- W1&#45;&#45;X1 -->
<g id="edge3" class="edge">
<title>W1:e&#45;&#45;X1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M96,-56.13C160.13,-56.13 176.12,-57.13 240,-57.13"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M96,-58.12C160,-58.13 176,-59.13 240,-59.12"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M96,-60.12C159.88,-60.12 175.87,-61.12 240,-61.12"/>
</g>
<!-- W1&#45;&#45;X1 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;X1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M96,-31.13C160.25,-31.14 176.24,-33.14 240,-33.13"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M96,-33.12C160.01,-33.12 175.99,-35.12 240,-35.12"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M96,-35.12C159.76,-35.11 175.75,-37.11 240,-37.12"/>
</g>
</g>
</svg>
</div>
<div id="notes">
<!-- %notes% -->
</div>
<h2>Bill of Materials</h2>
<div id="bom">
<table class="bom">
<tr>
<th class="bom_col_id">Id</th>
<th class="bom_col_description">Description</th>
<th class="bom_col_qty">Qty</th>
<th class="bom_col_unit">Unit</th>
<th class="bom_col_designators">Designators</th>
</tr>
<tr>
<td class="bom_col_id">1</td>
<td class="bom_col_description">Connector, Dupont 2.54mm, female, 5 pins, BK</td>
<td class="bom_col_qty">1</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X2</td>
</tr>
<tr>
<td class="bom_col_id">2</td>
<td class="bom_col_description">Connector, Dupont 2.54mm, male, 5 pins, BK</td>
<td class="bom_col_qty">1</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X1</td>
</tr>
<tr>
<td class="bom_col_id">3</td>
<td class="bom_col_description">Wire, BK</td>
<td class="bom_col_qty">0.4</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1, W2</td>
</tr>
<tr>
<td class="bom_col_id">4</td>
<td class="bom_col_description">Wire, BU</td>
<td class="bom_col_qty">0.4</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1, W2</td>
</tr>
<tr>
<td class="bom_col_id">5</td>
<td class="bom_col_description">Wire, GN</td>
<td class="bom_col_qty">0.4</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1, W2</td>
</tr>
<tr>
<td class="bom_col_id">6</td>
<td class="bom_col_description">Wire, RD</td>
<td class="bom_col_qty">0.4</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1, W2</td>
</tr>
</table>
</div>
</body></html>

BIN
examples/ex12.png generated Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

195
examples/ex12.svg generated Normal file
View File

@ -0,0 +1,195 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="1071pt" height="205pt"
viewBox="0.00 0.00 1071.25 204.88" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 200.88)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-200.88 1067.25,-200.88 1067.25,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="455.5,-166.25 240,-166.25 240,0 455.5,0 455.5,-166.25"/>
<polygon fill="none" stroke="black" points="240,-142.5 240,-166.25 455.5,-166.25 455.5,-142.5 240,-142.5"/>
<text text-anchor="start" x="339.5" y="-148.95" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="240,-118.75 240,-142.5 345.5,-142.5 345.5,-118.75 240,-118.75"/>
<text text-anchor="start" x="244" y="-125.2" font-family="arial" font-size="14.00">Dupont 2.54mm</text>
<polygon fill="none" stroke="black" points="345.5,-118.75 345.5,-142.5 383.5,-142.5 383.5,-118.75 345.5,-118.75"/>
<text text-anchor="start" x="349.5" y="-125.2" font-family="arial" font-size="14.00">male</text>
<polygon fill="none" stroke="black" points="383.5,-118.75 383.5,-142.5 421.5,-142.5 421.5,-118.75 383.5,-118.75"/>
<text text-anchor="start" x="387.5" y="-125.2" font-family="arial" font-size="14.00">5&#45;pin</text>
<polygon fill="none" stroke="black" points="421.5,-118.75 421.5,-142.5 447.5,-142.5 447.5,-118.75 421.5,-118.75"/>
<text text-anchor="start" x="425.5" y="-125.2" font-family="arial" font-size="14.00">BK</text>
<polygon fill="#000000" stroke="none" points="447.5,-118.75 447.5,-142.5 455.5,-142.5 455.5,-118.75 447.5,-118.75"/>
<polygon fill="none" stroke="black" points="447.5,-118.75 447.5,-142.5 455.5,-142.5 455.5,-118.75 447.5,-118.75"/>
<polygon fill="none" stroke="black" points="240,-95 240,-118.75 455.5,-118.75 455.5,-95 240,-95"/>
<text text-anchor="start" x="344" y="-101.45" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="240,-71.25 240,-95 455.5,-95 455.5,-71.25 240,-71.25"/>
<text text-anchor="start" x="344" y="-77.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="240,-47.5 240,-71.25 455.5,-71.25 455.5,-47.5 240,-47.5"/>
<text text-anchor="start" x="344" y="-53.95" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="240,-23.75 240,-47.5 455.5,-47.5 455.5,-23.75 240,-23.75"/>
<text text-anchor="start" x="344" y="-30.2" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="240,0 240,-23.75 455.5,-23.75 455.5,0 240,0"/>
<text text-anchor="start" x="344" y="-6.45" font-family="arial" font-size="14.00">5</text>
</g>
<!-- X2 -->
<g id="node2" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="826.25,-166.25 599.5,-166.25 599.5,0 826.25,0 826.25,-166.25"/>
<polygon fill="none" stroke="black" points="599.5,-142.5 599.5,-166.25 826.25,-166.25 826.25,-142.5 599.5,-142.5"/>
<text text-anchor="start" x="704.62" y="-148.95" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="599.5,-118.75 599.5,-142.5 705,-142.5 705,-118.75 599.5,-118.75"/>
<text text-anchor="start" x="603.5" y="-125.2" font-family="arial" font-size="14.00">Dupont 2.54mm</text>
<polygon fill="none" stroke="black" points="705,-118.75 705,-142.5 754.25,-142.5 754.25,-118.75 705,-118.75"/>
<text text-anchor="start" x="709" y="-125.2" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="754.25,-118.75 754.25,-142.5 792.25,-142.5 792.25,-118.75 754.25,-118.75"/>
<text text-anchor="start" x="758.25" y="-125.2" font-family="arial" font-size="14.00">5&#45;pin</text>
<polygon fill="none" stroke="black" points="792.25,-118.75 792.25,-142.5 818.25,-142.5 818.25,-118.75 792.25,-118.75"/>
<text text-anchor="start" x="796.25" y="-125.2" font-family="arial" font-size="14.00">BK</text>
<polygon fill="#000000" stroke="none" points="818.25,-118.75 818.25,-142.5 826.25,-142.5 826.25,-118.75 818.25,-118.75"/>
<polygon fill="none" stroke="black" points="818.25,-118.75 818.25,-142.5 826.25,-142.5 826.25,-118.75 818.25,-118.75"/>
<polygon fill="none" stroke="black" points="599.5,-95 599.5,-118.75 826.25,-118.75 826.25,-95 599.5,-95"/>
<text text-anchor="start" x="709.12" y="-101.45" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="599.5,-71.25 599.5,-95 826.25,-95 826.25,-71.25 599.5,-71.25"/>
<text text-anchor="start" x="709.12" y="-77.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="599.5,-47.5 599.5,-71.25 826.25,-71.25 826.25,-47.5 599.5,-47.5"/>
<text text-anchor="start" x="709.12" y="-53.95" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="599.5,-23.75 599.5,-47.5 826.25,-47.5 826.25,-23.75 599.5,-23.75"/>
<text text-anchor="start" x="709.12" y="-30.2" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="599.5,0 599.5,-23.75 826.25,-23.75 826.25,0 599.5,0"/>
<text text-anchor="start" x="709.12" y="-6.45" font-family="arial" font-size="14.00">5</text>
</g>
<!-- X1&#45;&#45;X2 -->
<g id="edge9" class="edge">
<title>X1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M455.5,-82.13C515.5,-82.12 533.31,-82.12 588.04,-82.13"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M455.5,-84.12C515.5,-84.12 533.31,-84.12 588.04,-84.12"/>
<polygon fill="#000000" stroke="#000000" points="587.99,-86.63 597.99,-83.13 587.99,-79.63 587.99,-86.63"/>
</g>
<!-- W2 -->
<g id="node4" class="node">
<title>W2</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="1063.25,-196.88 970.25,-196.88 970.25,-11.38 1063.25,-11.38 1063.25,-196.88"/>
<polygon fill="none" stroke="black" points="970.25,-173.12 970.25,-196.88 1063.25,-196.88 1063.25,-173.12 970.25,-173.12"/>
<text text-anchor="start" x="1006.25" y="-179.57" font-family="arial" font-size="14.00">W2</text>
<polygon fill="none" stroke="black" points="970.25,-149.38 970.25,-173.12 1006.62,-173.12 1006.62,-149.38 970.25,-149.38"/>
<text text-anchor="start" x="981.31" y="-155.82" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="1006.62,-149.38 1006.62,-173.12 1063.25,-173.12 1063.25,-149.38 1006.62,-149.38"/>
<text text-anchor="start" x="1017.69" y="-155.82" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="983.88" y="-134.07" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="971.88" y="-115.08" font-family="arial" font-size="14.00">X2:1</text>
<text text-anchor="start" x="1003.62" y="-115.08" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;RD &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="970.25,-109.38 970.25,-111.38 1063.25,-111.38 1063.25,-109.38 970.25,-109.38"/>
<polygon fill="#ff0000" stroke="none" points="970.25,-107.38 970.25,-109.38 1063.25,-109.38 1063.25,-107.38 970.25,-107.38"/>
<polygon fill="#000000" stroke="none" points="970.25,-105.38 970.25,-107.38 1063.25,-107.38 1063.25,-105.38 970.25,-105.38"/>
<text text-anchor="start" x="971.88" y="-90.08" font-family="arial" font-size="14.00">X2:2</text>
<text text-anchor="start" x="1004.38" y="-90.08" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BK &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="970.25,-84.38 970.25,-86.38 1063.25,-86.38 1063.25,-84.38 970.25,-84.38"/>
<polygon fill="#000000" stroke="none" points="970.25,-82.38 970.25,-84.38 1063.25,-84.38 1063.25,-82.38 970.25,-82.38"/>
<polygon fill="#000000" stroke="none" points="970.25,-80.38 970.25,-82.38 1063.25,-82.38 1063.25,-80.38 970.25,-80.38"/>
<text text-anchor="start" x="971.88" y="-65.08" font-family="arial" font-size="14.00">X2:3</text>
<text text-anchor="start" x="1004" y="-65.08" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BU &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="970.25,-59.38 970.25,-61.38 1063.25,-61.38 1063.25,-59.38 970.25,-59.38"/>
<polygon fill="#0066ff" stroke="none" points="970.25,-57.38 970.25,-59.38 1063.25,-59.38 1063.25,-57.38 970.25,-57.38"/>
<polygon fill="#000000" stroke="none" points="970.25,-55.38 970.25,-57.38 1063.25,-57.38 1063.25,-55.38 970.25,-55.38"/>
<text text-anchor="start" x="971.88" y="-40.08" font-family="arial" font-size="14.00">X2:4</text>
<text text-anchor="start" x="1002.88" y="-40.08" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;GN &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="970.25,-34.38 970.25,-36.38 1063.25,-36.38 1063.25,-34.38 970.25,-34.38"/>
<polygon fill="#00ff00" stroke="none" points="970.25,-32.38 970.25,-34.38 1063.25,-34.38 1063.25,-32.38 970.25,-32.38"/>
<polygon fill="#000000" stroke="none" points="970.25,-30.38 970.25,-32.38 1063.25,-32.38 1063.25,-30.38 970.25,-30.38"/>
<text text-anchor="start" x="983.88" y="-15.07" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X2&#45;&#45;W2 -->
<g id="edge5" class="edge">
<title>X2:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M826.25,-105.13C890.38,-105.13 906.37,-106.13 970.25,-106.13"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M826.25,-107.12C890.25,-107.12 906.25,-108.12 970.25,-108.12"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M826.25,-109.12C890.13,-109.12 906.12,-110.12 970.25,-110.12"/>
</g>
<!-- X2&#45;&#45;W2 -->
<g id="edge6" class="edge">
<title>X2:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M826.25,-81.13C890.25,-81.12 906.25,-81.12 970.25,-81.13"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M826.25,-83.12C890.25,-83.12 906.25,-83.12 970.25,-83.12"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M826.25,-85.12C890.25,-85.12 906.25,-85.12 970.25,-85.12"/>
</g>
<!-- X2&#45;&#45;W2 -->
<g id="edge7" class="edge">
<title>X2:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M826.25,-57.13C890.13,-57.13 906.12,-56.13 970.25,-56.13"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M826.25,-59.12C890.25,-59.13 906.25,-58.13 970.25,-58.12"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M826.25,-61.12C890.38,-61.12 906.37,-60.12 970.25,-60.12"/>
</g>
<!-- X2&#45;&#45;W2 -->
<g id="edge8" class="edge">
<title>X2:e&#45;&#45;W2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M826.25,-33.13C890.01,-33.14 906,-31.14 970.25,-31.13"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M826.25,-35.12C890.26,-35.12 906.24,-33.12 970.25,-33.12"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M826.25,-37.12C890.5,-37.11 906.49,-35.11 970.25,-35.12"/>
</g>
<!-- W1 -->
<g id="node3" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" stroke-dasharray="5,2" points="96,-196.88 0,-196.88 0,-11.38 96,-11.38 96,-196.88"/>
<polygon fill="none" stroke="black" points="0,-173.12 0,-196.88 96,-196.88 96,-173.12 0,-173.12"/>
<text text-anchor="start" x="37.5" y="-179.57" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="0,-149.38 0,-173.12 37.88,-173.12 37.88,-149.38 0,-149.38"/>
<text text-anchor="start" x="11.81" y="-155.82" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="37.88,-149.38 37.88,-173.12 96,-173.12 96,-149.38 37.88,-149.38"/>
<text text-anchor="start" x="49.69" y="-155.82" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="1.62" y="-134.07" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="9.38" y="-115.08" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="66.62" y="-115.08" font-family="arial" font-size="14.00">X1:1</text>
<polygon fill="#000000" stroke="none" points="0,-109.38 0,-111.38 96,-111.38 96,-109.38 0,-109.38"/>
<polygon fill="#ff0000" stroke="none" points="0,-107.38 0,-109.38 96,-109.38 96,-107.38 0,-107.38"/>
<polygon fill="#000000" stroke="none" points="0,-105.38 0,-107.38 96,-107.38 96,-105.38 0,-105.38"/>
<text text-anchor="start" x="10.12" y="-90.08" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BK &#160;&#160;&#160;</text>
<text text-anchor="start" x="66.62" y="-90.08" font-family="arial" font-size="14.00">X1:2</text>
<polygon fill="#000000" stroke="none" points="0,-84.38 0,-86.38 96,-86.38 96,-84.38 0,-84.38"/>
<polygon fill="#000000" stroke="none" points="0,-82.38 0,-84.38 96,-84.38 96,-82.38 0,-82.38"/>
<polygon fill="#000000" stroke="none" points="0,-80.38 0,-82.38 96,-82.38 96,-80.38 0,-80.38"/>
<text text-anchor="start" x="9.75" y="-65.08" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;BU &#160;&#160;&#160;</text>
<text text-anchor="start" x="66.62" y="-65.08" font-family="arial" font-size="14.00">X1:3</text>
<polygon fill="#000000" stroke="none" points="0,-59.38 0,-61.38 96,-61.38 96,-59.38 0,-59.38"/>
<polygon fill="#0066ff" stroke="none" points="0,-57.38 0,-59.38 96,-59.38 96,-57.38 0,-57.38"/>
<polygon fill="#000000" stroke="none" points="0,-55.38 0,-57.38 96,-57.38 96,-55.38 0,-55.38"/>
<text text-anchor="start" x="8.62" y="-40.08" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;GN &#160;&#160;&#160;</text>
<text text-anchor="start" x="66.62" y="-40.08" font-family="arial" font-size="14.00">X1:4</text>
<polygon fill="#000000" stroke="none" points="0,-34.38 0,-36.38 96,-36.38 96,-34.38 0,-34.38"/>
<polygon fill="#00ff00" stroke="none" points="0,-32.38 0,-34.38 96,-34.38 96,-32.38 0,-32.38"/>
<polygon fill="#000000" stroke="none" points="0,-30.38 0,-32.38 96,-32.38 96,-30.38 0,-30.38"/>
<text text-anchor="start" x="1.62" y="-15.07" font-family="arial" font-size="14.00"> </text>
</g>
<!-- W1&#45;&#45;X1 -->
<g id="edge1" class="edge">
<title>W1:e&#45;&#45;X1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M96,-106.13C159.88,-106.13 175.87,-105.13 240,-105.13"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M96,-108.12C160,-108.12 176,-107.12 240,-107.12"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M96,-110.12C160.13,-110.12 176.12,-109.12 240,-109.12"/>
</g>
<!-- W1&#45;&#45;X1 -->
<g id="edge2" class="edge">
<title>W1:e&#45;&#45;X1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M96,-81.13C160,-81.12 176,-81.12 240,-81.13"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M96,-83.12C160,-83.12 176,-83.12 240,-83.12"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M96,-85.12C160,-85.12 176,-85.12 240,-85.12"/>
</g>
<!-- W1&#45;&#45;X1 -->
<g id="edge3" class="edge">
<title>W1:e&#45;&#45;X1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M96,-56.13C160.13,-56.13 176.12,-57.13 240,-57.13"/>
<path fill="none" stroke="#0066ff" stroke-width="2" d="M96,-58.12C160,-58.13 176,-59.13 240,-59.12"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M96,-60.12C159.88,-60.12 175.87,-61.12 240,-61.12"/>
</g>
<!-- W1&#45;&#45;X1 -->
<g id="edge4" class="edge">
<title>W1:e&#45;&#45;X1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M96,-31.13C160.25,-31.14 176.24,-33.14 240,-33.13"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M96,-33.12C160.01,-33.12 175.99,-35.12 240,-35.12"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M96,-35.12C159.76,-35.11 175.75,-37.11 240,-37.12"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 16 KiB

25
examples/ex12.yml Normal file
View File

@ -0,0 +1,25 @@
# based on @MSBGit's example in #134
connectors:
X1: &dupont
type: Dupont 2.54mm
subtype: male
pincount: 5
color: BK
X2:
<<: *dupont
subtype: female
cables:
W:
category: bundle
colors: [RD, BK, BU, GN]
length: 0.2
connections:
-
- W.W1: [1-4]
- X1: [1-4]
- ==>
- X2: [1-4]
- W.W2: [1-4]

4
examples/ex13.bom.tsv generated Normal file
View File

@ -0,0 +1,4 @@
Id Description Qty Unit Designators
1 Cable, 4 wires 0 m C1, C2, C3
2 Connector, 4 pins 3 X1, X2, X3
3 Connector, ferrule 4
1 Id Description Qty Unit Designators
2 1 Cable, 4 wires 0 m C1, C2, C3
3 2 Connector, 4 pins 3 X1, X2, X3
4 3 Connector, ferrule 4

433
examples/ex13.gv generated Normal file
View File

@ -0,0 +1,433 @@
graph {
// Graph generated by WireViz 0.4.1
// https://github.com/wireviz/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]
X1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">4-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td>A</td>
<td port="p1r">1</td>
</tr>
<tr>
<td>B</td>
<td port="p2r">2</td>
</tr>
<tr>
<td>C</td>
<td port="p3r">3</td>
</tr>
<tr>
<td>D</td>
<td port="p4r">4</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
F1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">ferrule</td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
F2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">ferrule</td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
F3 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">ferrule</td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
F4 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">ferrule</td>
</tr></table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X2</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">4-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1l">1</td>
<td>A</td>
</tr>
<tr>
<td port="p2l">2</td>
<td>B</td>
</tr>
<tr>
<td port="p3l">3</td>
<td>C</td>
</tr>
<tr>
<td port="p4l">4</td>
<td>D</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
X3 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">X3</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">4-pin</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td port="p1l">1</td>
<td>A</td>
</tr>
<tr>
<td port="p2l">2</td>
<td>B</td>
</tr>
<tr>
<td port="p3l">3</td>
<td>C</td>
</tr>
<tr>
<td port="p4l">4</td>
<td>D</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
edge [color="#000000:#ffffff:#000000"]
X1:p1r:e -- C1:w1:w
C1:w1:e -- F1:w
edge [color="#000000:#895956:#000000"]
X1:p2r:e -- C1:w2:w
C1:w2:e -- F2:w
edge [color="#000000:#00ff00:#000000"]
X1:p3r:e -- C1:w3:w
C1:w3:e -- F3:w
edge [color="#000000:#ffff00:#000000"]
X1:p4r:e -- C1:w4:w
C1:w4:e -- F4:w
C1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">C1</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">4x</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td>X1:1:A</td>
<td>
1:WH
</td>
<td></td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:2:B</td>
<td>
2:BN
</td>
<td></td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#895956" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:3:C</td>
<td>
3:GN
</td>
<td></td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td>X1:4:D</td>
<td>
4:YE
</td>
<td></td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
edge [color="#000000:#ffffff:#000000"]
F1:e -- C2:w1:w
C2:w1:e -- X2:p1l:w
edge [color="#000000:#895956:#000000"]
F2:e -- C2:w2:w
C2:w2:e -- X2:p2l:w
edge [color="#000000:#00ff00:#000000"]
F3:e -- C2:w3:w
C2:w3:e -- X2:p3l:w
edge [color="#000000:#ffff00:#000000"]
F4:e -- C2:w4:w
C2:w4:e -- X2:p4l:w
C2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">C2</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">4x</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td></td>
<td>
1:WH
</td>
<td>X2:1:A</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td></td>
<td>
2:BN
</td>
<td>X2:2:B</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#895956" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td></td>
<td>
3:GN
</td>
<td>X2:3:C</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td></td>
<td>
4:YE
</td>
<td>X2:4:D</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
edge [color="#000000:#ffffff:#000000"]
F1:e -- C3:w1:w
C3:w1:e -- X3:p1l:w
edge [color="#000000:#895956:#000000"]
F2:e -- C3:w2:w
C3:w2:e -- X3:p2l:w
edge [color="#000000:#00ff00:#000000"]
F3:e -- C3:w3:w
C3:w3:e -- X3:p3l:w
edge [color="#000000:#ffff00:#000000"]
F4:e -- C3:w4:w
C3:w4:e -- X3:p4l:w
C3 [label=<
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">C3</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
<td balign="left">4x</td>
</tr></table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellborder="0">
<tr><td>&nbsp;</td></tr>
<tr>
<td></td>
<td>
1:WH
</td>
<td>X3:1:A</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffffff" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td></td>
<td>
2:BN
</td>
<td>X3:2:B</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#895956" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td></td>
<td>
3:GN
</td>
<td>X3:3:C</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr>
<td></td>
<td>
4:YE
</td>
<td>X3:4:D</td>
</tr>
<tr>
<td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6">
<table cellspacing="0" cellborder="0" border="0">
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffff00" border="0"></td></tr>
<tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
</table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
}

449
examples/ex13.html generated Normal file
View File

@ -0,0 +1,449 @@
<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<meta name="generator" content="WireViz 0.4.1 - https://github.com/wireviz/WireViz">
<title>ex13</title>
<style>
#bom table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
#bom th, td {
padding: 4px;
text-align: left;
}
.bom_col_qty {
text-align: right;
}
</style>
</head><body style="font-family:arial;background-color:#ffffff">
<h1>ex13</h1>
<h2>Diagram</h2>
<div id="description">
<!-- %description% -->
</div>
<div id="diagram">
<!-- XML and DOCTYPE declarations from SVG file removed -->
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="951pt" height="404pt"
viewBox="0.00 0.00 951.25 403.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 399.5)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-399.5 947.25,-399.5 947.25,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="38,-256.5 0,-256.5 0,-117 38,-117 38,-256.5"/>
<polygon fill="none" stroke="black" points="0,-232.75 0,-256.5 38,-256.5 38,-232.75 0,-232.75"/>
<text text-anchor="start" x="10.75" y="-239.2" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-209 0,-232.75 38,-232.75 38,-209 0,-209"/>
<text text-anchor="start" x="4" y="-215.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-186 0,-209 20,-209 20,-186 0,-186"/>
<text text-anchor="start" x="5.5" y="-191.7" font-family="arial" font-size="14.00">A</text>
<polygon fill="none" stroke="black" points="20,-186 20,-209 38,-209 38,-186 20,-186"/>
<text text-anchor="start" x="25.25" y="-191.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-163 0,-186 20,-186 20,-163 0,-163"/>
<text text-anchor="start" x="5.5" y="-168.7" font-family="arial" font-size="14.00">B</text>
<polygon fill="none" stroke="black" points="20,-163 20,-186 38,-186 38,-163 20,-163"/>
<text text-anchor="start" x="25.25" y="-168.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="0,-140 0,-163 20,-163 20,-140 0,-140"/>
<text text-anchor="start" x="5.12" y="-145.7" font-family="arial" font-size="14.00">C</text>
<polygon fill="none" stroke="black" points="20,-140 20,-163 38,-163 38,-140 20,-140"/>
<text text-anchor="start" x="25.25" y="-145.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="0,-117 0,-140 20,-140 20,-117 0,-117"/>
<text text-anchor="start" x="5.12" y="-122.7" font-family="arial" font-size="14.00">D</text>
<polygon fill="none" stroke="black" points="20,-117 20,-140 38,-140 38,-117 20,-117"/>
<text text-anchor="start" x="25.25" y="-122.7" font-family="arial" font-size="14.00">4</text>
</g>
<!-- C1 -->
<g id="node8" class="node">
<title>C1</title>
<polygon fill="#ffffff" stroke="black" points="303,-289.5 182,-289.5 182,-104 303,-104 303,-289.5"/>
<polygon fill="none" stroke="black" points="182,-265.75 182,-289.5 303,-289.5 303,-265.75 182,-265.75"/>
<text text-anchor="start" x="233.88" y="-272.2" font-family="arial" font-size="14.00">C1</text>
<polygon fill="none" stroke="black" points="182,-242 182,-265.75 303,-265.75 303,-242 182,-242"/>
<text text-anchor="start" x="235.38" y="-248.45" font-family="arial" font-size="14.00">4x</text>
<text text-anchor="start" x="202.62" y="-226.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="184.25" y="-207.7" font-family="arial" font-size="14.00">X1:1:A</text>
<text text-anchor="start" x="228.88" y="-207.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:WH &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="182,-202 182,-204 303,-204 303,-202 182,-202"/>
<polygon fill="#ffffff" stroke="none" points="182,-200 182,-202 303,-202 303,-200 182,-200"/>
<polygon fill="#000000" stroke="none" points="182,-198 182,-200 303,-200 303,-198 182,-198"/>
<text text-anchor="start" x="184.25" y="-182.7" font-family="arial" font-size="14.00">X1:2:B</text>
<text text-anchor="start" x="231.12" y="-182.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:BN &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="182,-177 182,-179 303,-179 303,-177 182,-177"/>
<polygon fill="#895956" stroke="none" points="182,-175 182,-177 303,-177 303,-175 182,-175"/>
<polygon fill="#000000" stroke="none" points="182,-173 182,-175 303,-175 303,-173 182,-173"/>
<text text-anchor="start" x="183.88" y="-157.7" font-family="arial" font-size="14.00">X1:3:C</text>
<text text-anchor="start" x="230" y="-157.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;3:GN &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="182,-152 182,-154 303,-154 303,-152 182,-152"/>
<polygon fill="#00ff00" stroke="none" points="182,-150 182,-152 303,-152 303,-150 182,-150"/>
<polygon fill="#000000" stroke="none" points="182,-148 182,-150 303,-150 303,-148 182,-148"/>
<text text-anchor="start" x="183.88" y="-132.7" font-family="arial" font-size="14.00">X1:4:D</text>
<text text-anchor="start" x="231.5" y="-132.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;4:YE &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="182,-127 182,-129 303,-129 303,-127 182,-127"/>
<polygon fill="#ffff00" stroke="none" points="182,-125 182,-127 303,-127 303,-125 182,-125"/>
<polygon fill="#000000" stroke="none" points="182,-123 182,-125 303,-125 303,-123 182,-123"/>
<text text-anchor="start" x="202.62" y="-107.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;C1 -->
<g id="edge1" class="edge">
<title>X1:e&#45;&#45;C1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M38,-195.75C102.38,-195.78 118.36,-198.78 182,-198.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M38,-197.75C102.01,-197.75 117.99,-200.75 182,-200.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M38,-199.75C101.64,-199.72 117.62,-202.72 182,-202.75"/>
</g>
<!-- X1&#45;&#45;C1 -->
<g id="edge3" class="edge">
<title>X1:e&#45;&#45;C1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M38,-172.75C102.13,-172.75 118.12,-173.75 182,-173.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M38,-174.75C102,-174.75 118,-175.75 182,-175.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M38,-176.75C101.88,-176.75 117.87,-177.75 182,-177.75"/>
</g>
<!-- X1&#45;&#45;C1 -->
<g id="edge5" class="edge">
<title>X1:e&#45;&#45;C1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M38,-149.75C101.88,-149.75 117.87,-148.75 182,-148.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M38,-151.75C102,-151.75 118,-150.75 182,-150.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M38,-153.75C102.13,-153.75 118.12,-152.75 182,-152.75"/>
</g>
<!-- X1&#45;&#45;C1 -->
<g id="edge7" class="edge">
<title>X1:e&#45;&#45;C1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M38,-126.75C101.64,-126.78 117.62,-123.78 182,-123.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M38,-128.75C102.01,-128.75 117.99,-125.75 182,-125.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M38,-130.75C102.38,-130.72 118.36,-127.72 182,-127.75"/>
</g>
<!-- F1 -->
<g id="node2" class="node">
<title>F1</title>
<polygon fill="#ffffff" stroke="black" points="493.25,-247.62 447,-247.62 447,-223.88 493.25,-223.88 493.25,-247.62"/>
<polygon fill="none" stroke="black" points="447,-223.88 447,-247.62 493.25,-247.62 493.25,-223.88 447,-223.88"/>
<text text-anchor="start" x="451" y="-230.32" font-family="arial" font-size="14.00">ferrule</text>
</g>
<!-- C2 -->
<g id="node9" class="node">
<title>C2</title>
<polygon fill="#ffffff" stroke="black" points="761.25,-395.5 637.25,-395.5 637.25,-210 761.25,-210 761.25,-395.5"/>
<polygon fill="none" stroke="black" points="637.25,-371.75 637.25,-395.5 761.25,-395.5 761.25,-371.75 637.25,-371.75"/>
<text text-anchor="start" x="690.62" y="-378.2" font-family="arial" font-size="14.00">C2</text>
<polygon fill="none" stroke="black" points="637.25,-348 637.25,-371.75 761.25,-371.75 761.25,-348 637.25,-348"/>
<text text-anchor="start" x="692.12" y="-354.45" font-family="arial" font-size="14.00">4x</text>
<text text-anchor="start" x="638.88" y="-332.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="646.12" y="-313.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:WH &#160;&#160;&#160;</text>
<text text-anchor="start" x="718.5" y="-313.7" font-family="arial" font-size="14.00">X2:1:A</text>
<polygon fill="#000000" stroke="none" points="637.25,-308 637.25,-310 761.25,-310 761.25,-308 637.25,-308"/>
<polygon fill="#ffffff" stroke="none" points="637.25,-306 637.25,-308 761.25,-308 761.25,-306 637.25,-306"/>
<polygon fill="#000000" stroke="none" points="637.25,-304 637.25,-306 761.25,-306 761.25,-304 637.25,-304"/>
<text text-anchor="start" x="648.38" y="-288.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:BN &#160;&#160;&#160;</text>
<text text-anchor="start" x="718.5" y="-288.7" font-family="arial" font-size="14.00">X2:2:B</text>
<polygon fill="#000000" stroke="none" points="637.25,-283 637.25,-285 761.25,-285 761.25,-283 637.25,-283"/>
<polygon fill="#895956" stroke="none" points="637.25,-281 637.25,-283 761.25,-283 761.25,-281 637.25,-281"/>
<polygon fill="#000000" stroke="none" points="637.25,-279 637.25,-281 761.25,-281 761.25,-279 637.25,-279"/>
<text text-anchor="start" x="647.25" y="-263.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;3:GN &#160;&#160;&#160;</text>
<text text-anchor="start" x="718.12" y="-263.7" font-family="arial" font-size="14.00">X2:3:C</text>
<polygon fill="#000000" stroke="none" points="637.25,-258 637.25,-260 761.25,-260 761.25,-258 637.25,-258"/>
<polygon fill="#00ff00" stroke="none" points="637.25,-256 637.25,-258 761.25,-258 761.25,-256 637.25,-256"/>
<polygon fill="#000000" stroke="none" points="637.25,-254 637.25,-256 761.25,-256 761.25,-254 637.25,-254"/>
<text text-anchor="start" x="648.75" y="-238.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;4:YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="718.12" y="-238.7" font-family="arial" font-size="14.00">X2:4:D</text>
<polygon fill="#000000" stroke="none" points="637.25,-233 637.25,-235 761.25,-235 761.25,-233 637.25,-233"/>
<polygon fill="#ffff00" stroke="none" points="637.25,-231 637.25,-233 761.25,-233 761.25,-231 637.25,-231"/>
<polygon fill="#000000" stroke="none" points="637.25,-229 637.25,-231 761.25,-231 761.25,-229 637.25,-229"/>
<text text-anchor="start" x="638.88" y="-213.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- F1&#45;&#45;C2 -->
<g id="edge9" class="edge">
<title>F1:e&#45;&#45;C2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-233.75C566.61,-235.71 567.89,-306.71 637.25,-304.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M493.25,-235.75C564.61,-235.75 565.89,-306.75 637.25,-306.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-237.75C562.61,-235.79 563.89,-306.79 637.25,-308.75"/>
</g>
<!-- C3 -->
<g id="node10" class="node">
<title>C3</title>
<polygon fill="#ffffff" stroke="black" points="761.25,-185.5 637.25,-185.5 637.25,0 761.25,0 761.25,-185.5"/>
<polygon fill="none" stroke="black" points="637.25,-161.75 637.25,-185.5 761.25,-185.5 761.25,-161.75 637.25,-161.75"/>
<text text-anchor="start" x="690.62" y="-168.2" font-family="arial" font-size="14.00">C3</text>
<polygon fill="none" stroke="black" points="637.25,-138 637.25,-161.75 761.25,-161.75 761.25,-138 637.25,-138"/>
<text text-anchor="start" x="692.12" y="-144.45" font-family="arial" font-size="14.00">4x</text>
<text text-anchor="start" x="638.88" y="-122.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="646.12" y="-103.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:WH &#160;&#160;&#160;</text>
<text text-anchor="start" x="718.5" y="-103.7" font-family="arial" font-size="14.00">X3:1:A</text>
<polygon fill="#000000" stroke="none" points="637.25,-98 637.25,-100 761.25,-100 761.25,-98 637.25,-98"/>
<polygon fill="#ffffff" stroke="none" points="637.25,-96 637.25,-98 761.25,-98 761.25,-96 637.25,-96"/>
<polygon fill="#000000" stroke="none" points="637.25,-94 637.25,-96 761.25,-96 761.25,-94 637.25,-94"/>
<text text-anchor="start" x="648.38" y="-78.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:BN &#160;&#160;&#160;</text>
<text text-anchor="start" x="718.5" y="-78.7" font-family="arial" font-size="14.00">X3:2:B</text>
<polygon fill="#000000" stroke="none" points="637.25,-73 637.25,-75 761.25,-75 761.25,-73 637.25,-73"/>
<polygon fill="#895956" stroke="none" points="637.25,-71 637.25,-73 761.25,-73 761.25,-71 637.25,-71"/>
<polygon fill="#000000" stroke="none" points="637.25,-69 637.25,-71 761.25,-71 761.25,-69 637.25,-69"/>
<text text-anchor="start" x="647.25" y="-53.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;3:GN &#160;&#160;&#160;</text>
<text text-anchor="start" x="718.12" y="-53.7" font-family="arial" font-size="14.00">X3:3:C</text>
<polygon fill="#000000" stroke="none" points="637.25,-48 637.25,-50 761.25,-50 761.25,-48 637.25,-48"/>
<polygon fill="#00ff00" stroke="none" points="637.25,-46 637.25,-48 761.25,-48 761.25,-46 637.25,-46"/>
<polygon fill="#000000" stroke="none" points="637.25,-44 637.25,-46 761.25,-46 761.25,-44 637.25,-44"/>
<text text-anchor="start" x="648.75" y="-28.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;4:YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="718.12" y="-28.7" font-family="arial" font-size="14.00">X3:4:D</text>
<polygon fill="#000000" stroke="none" points="637.25,-23 637.25,-25 761.25,-25 761.25,-23 637.25,-23"/>
<polygon fill="#ffff00" stroke="none" points="637.25,-21 637.25,-23 761.25,-23 761.25,-21 637.25,-21"/>
<polygon fill="#000000" stroke="none" points="637.25,-19 637.25,-21 761.25,-21 761.25,-19 637.25,-19"/>
<text text-anchor="start" x="638.88" y="-3.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- F1&#45;&#45;C3 -->
<g id="edge17" class="edge">
<title>F1:e&#45;&#45;C3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-233.75C580.26,-236.22 546.35,-97.22 637.25,-94.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M493.25,-235.75C582.2,-235.75 548.3,-96.75 637.25,-96.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-237.75C584.15,-235.28 550.24,-96.28 637.25,-98.75"/>
</g>
<!-- F2 -->
<g id="node3" class="node">
<title>F2</title>
<polygon fill="#ffffff" stroke="black" points="493.25,-199.62 447,-199.62 447,-175.88 493.25,-175.88 493.25,-199.62"/>
<polygon fill="none" stroke="black" points="447,-175.88 447,-199.62 493.25,-199.62 493.25,-175.88 447,-175.88"/>
<text text-anchor="start" x="451" y="-182.32" font-family="arial" font-size="14.00">ferrule</text>
</g>
<!-- F2&#45;&#45;C2 -->
<g id="edge11" class="edge">
<title>F2:e&#45;&#45;C2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-185.75C571.67,-187.94 562.81,-281.94 637.25,-279.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M493.25,-187.75C569.68,-187.75 560.82,-281.75 637.25,-281.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-189.75C567.69,-187.56 558.83,-281.56 637.25,-283.75"/>
</g>
<!-- F2&#45;&#45;C3 -->
<g id="edge19" class="edge">
<title>F2:e&#45;&#45;C3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-185.75C573.46,-188.1 553.1,-72.1 637.25,-69.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M493.25,-187.75C575.43,-187.75 555.07,-71.75 637.25,-71.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-189.75C577.4,-187.4 557.04,-71.4 637.25,-73.75"/>
</g>
<!-- F3 -->
<g id="node4" class="node">
<title>F3</title>
<polygon fill="#ffffff" stroke="black" points="493.25,-151.62 447,-151.62 447,-127.88 493.25,-127.88 493.25,-151.62"/>
<polygon fill="none" stroke="black" points="447,-127.88 447,-151.62 493.25,-151.62 493.25,-127.88 447,-127.88"/>
<text text-anchor="start" x="451" y="-134.32" font-family="arial" font-size="14.00">ferrule</text>
</g>
<!-- F3&#45;&#45;C2 -->
<g id="edge13" class="edge">
<title>F3:e&#45;&#45;C2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-137.75C577.68,-140.1 556.76,-257.1 637.25,-254.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M493.25,-139.75C575.71,-139.75 554.79,-256.75 637.25,-256.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-141.75C573.74,-139.4 552.82,-256.4 637.25,-258.75"/>
</g>
<!-- F3&#45;&#45;C3 -->
<g id="edge21" class="edge">
<title>F3:e&#45;&#45;C3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-137.75C567.44,-139.93 559.07,-46.93 637.25,-44.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M493.25,-139.75C569.44,-139.75 561.06,-46.75 637.25,-46.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-141.75C571.43,-139.57 563.06,-46.57 637.25,-48.75"/>
</g>
<!-- F4 -->
<g id="node5" class="node">
<title>F4</title>
<polygon fill="#ffffff" stroke="black" points="493.25,-103.62 447,-103.62 447,-79.88 493.25,-79.88 493.25,-103.62"/>
<polygon fill="none" stroke="black" points="447,-79.88 447,-103.62 493.25,-103.62 493.25,-79.88 447,-79.88"/>
<text text-anchor="start" x="451" y="-86.33" font-family="arial" font-size="14.00">ferrule</text>
</g>
<!-- F4&#45;&#45;C2 -->
<g id="edge15" class="edge">
<title>F4:e&#45;&#45;C2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-89.75C584.45,-92.23 549.93,-232.23 637.25,-229.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M493.25,-91.75C582.51,-91.75 547.99,-231.75 637.25,-231.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-93.75C580.57,-91.27 546.05,-231.27 637.25,-233.75"/>
</g>
<!-- F4&#45;&#45;C3 -->
<g id="edge23" class="edge">
<title>F4:e&#45;&#45;C3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-89.75C562.41,-91.7 564.09,-21.7 637.25,-19.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M493.25,-91.75C564.41,-91.75 566.09,-21.75 637.25,-21.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-93.75C566.41,-91.8 568.09,-21.8 637.25,-23.75"/>
</g>
<!-- X2 -->
<g id="node6" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="943.25,-362.5 905.25,-362.5 905.25,-223 943.25,-223 943.25,-362.5"/>
<polygon fill="none" stroke="black" points="905.25,-338.75 905.25,-362.5 943.25,-362.5 943.25,-338.75 905.25,-338.75"/>
<text text-anchor="start" x="916" y="-345.2" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="905.25,-315 905.25,-338.75 943.25,-338.75 943.25,-315 905.25,-315"/>
<text text-anchor="start" x="909.25" y="-321.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="905.25,-292 905.25,-315 923.25,-315 923.25,-292 905.25,-292"/>
<text text-anchor="start" x="910.5" y="-297.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="923.25,-292 923.25,-315 943.25,-315 943.25,-292 923.25,-292"/>
<text text-anchor="start" x="928.75" y="-297.7" font-family="arial" font-size="14.00">A</text>
<polygon fill="none" stroke="black" points="905.25,-269 905.25,-292 923.25,-292 923.25,-269 905.25,-269"/>
<text text-anchor="start" x="910.5" y="-274.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="923.25,-269 923.25,-292 943.25,-292 943.25,-269 923.25,-269"/>
<text text-anchor="start" x="928.75" y="-274.7" font-family="arial" font-size="14.00">B</text>
<polygon fill="none" stroke="black" points="905.25,-246 905.25,-269 923.25,-269 923.25,-246 905.25,-246"/>
<text text-anchor="start" x="910.5" y="-251.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="923.25,-246 923.25,-269 943.25,-269 943.25,-246 923.25,-246"/>
<text text-anchor="start" x="928.38" y="-251.7" font-family="arial" font-size="14.00">C</text>
<polygon fill="none" stroke="black" points="905.25,-223 905.25,-246 923.25,-246 923.25,-223 905.25,-223"/>
<text text-anchor="start" x="910.5" y="-228.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="923.25,-223 923.25,-246 943.25,-246 943.25,-223 923.25,-223"/>
<text text-anchor="start" x="928.38" y="-228.7" font-family="arial" font-size="14.00">D</text>
</g>
<!-- X3 -->
<g id="node7" class="node">
<title>X3</title>
<polygon fill="#ffffff" stroke="black" points="943.25,-152.5 905.25,-152.5 905.25,-13 943.25,-13 943.25,-152.5"/>
<polygon fill="none" stroke="black" points="905.25,-128.75 905.25,-152.5 943.25,-152.5 943.25,-128.75 905.25,-128.75"/>
<text text-anchor="start" x="916" y="-135.2" font-family="arial" font-size="14.00">X3</text>
<polygon fill="none" stroke="black" points="905.25,-105 905.25,-128.75 943.25,-128.75 943.25,-105 905.25,-105"/>
<text text-anchor="start" x="909.25" y="-111.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="905.25,-82 905.25,-105 923.25,-105 923.25,-82 905.25,-82"/>
<text text-anchor="start" x="910.5" y="-87.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="923.25,-82 923.25,-105 943.25,-105 943.25,-82 923.25,-82"/>
<text text-anchor="start" x="928.75" y="-87.7" font-family="arial" font-size="14.00">A</text>
<polygon fill="none" stroke="black" points="905.25,-59 905.25,-82 923.25,-82 923.25,-59 905.25,-59"/>
<text text-anchor="start" x="910.5" y="-64.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="923.25,-59 923.25,-82 943.25,-82 943.25,-59 923.25,-59"/>
<text text-anchor="start" x="928.75" y="-64.7" font-family="arial" font-size="14.00">B</text>
<polygon fill="none" stroke="black" points="905.25,-36 905.25,-59 923.25,-59 923.25,-36 905.25,-36"/>
<text text-anchor="start" x="910.5" y="-41.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="923.25,-36 923.25,-59 943.25,-59 943.25,-36 923.25,-36"/>
<text text-anchor="start" x="928.38" y="-41.7" font-family="arial" font-size="14.00">C</text>
<polygon fill="none" stroke="black" points="905.25,-13 905.25,-36 923.25,-36 923.25,-13 905.25,-13"/>
<text text-anchor="start" x="910.5" y="-18.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="923.25,-13 923.25,-36 943.25,-36 943.25,-13 923.25,-13"/>
<text text-anchor="start" x="928.38" y="-18.7" font-family="arial" font-size="14.00">D</text>
</g>
<!-- C1&#45;&#45;F1 -->
<g id="edge2" class="edge">
<title>C1:e&#45;&#45;F1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M303,-198.75C370.75,-200.09 383.02,-235.09 447,-233.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M303,-200.75C368.86,-200.75 381.14,-235.75 447,-235.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M303,-202.75C366.98,-201.41 379.25,-236.41 447,-237.75"/>
</g>
<!-- C1&#45;&#45;F2 -->
<g id="edge4" class="edge">
<title>C1:e&#45;&#45;F2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M303,-173.75C368.44,-174.17 384,-186.17 447,-185.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M303,-175.75C367.22,-175.75 382.78,-187.75 447,-187.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M303,-177.75C366,-177.33 381.56,-189.33 447,-189.75"/>
</g>
<!-- C1&#45;&#45;F3 -->
<g id="edge6" class="edge">
<title>C1:e&#45;&#45;F3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M303,-148.75C366.04,-149.11 381.66,-138.11 447,-137.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M303,-150.75C367.19,-150.75 382.81,-139.75 447,-139.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M303,-152.75C368.34,-152.39 383.96,-141.39 447,-141.75"/>
</g>
<!-- C1&#45;&#45;F4 -->
<g id="edge8" class="edge">
<title>C1:e&#45;&#45;F4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M303,-123.75C366.88,-125.06 379.36,-91.06 447,-89.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M303,-125.75C368.76,-125.75 381.24,-91.75 447,-91.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M303,-127.75C370.64,-126.44 383.12,-92.44 447,-93.75"/>
</g>
<!-- C2&#45;&#45;X2 -->
<g id="edge10" class="edge">
<title>C2:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-304.75C824.89,-304.78 840.87,-301.78 905.25,-301.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M761.25,-306.75C825.26,-306.75 841.24,-303.75 905.25,-303.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-308.75C825.63,-308.72 841.61,-305.72 905.25,-305.75"/>
</g>
<!-- C2&#45;&#45;X2 -->
<g id="edge12" class="edge">
<title>C2:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-279.75C825.13,-279.75 841.12,-278.75 905.25,-278.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M761.25,-281.75C825.25,-281.75 841.25,-280.75 905.25,-280.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-283.75C825.38,-283.75 841.37,-282.75 905.25,-282.75"/>
</g>
<!-- C2&#45;&#45;X2 -->
<g id="edge14" class="edge">
<title>C2:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-254.75C825.38,-254.75 841.37,-255.75 905.25,-255.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M761.25,-256.75C825.25,-256.75 841.25,-257.75 905.25,-257.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-258.75C825.13,-258.75 841.12,-259.75 905.25,-259.75"/>
</g>
<!-- C2&#45;&#45;X2 -->
<g id="edge16" class="edge">
<title>C2:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-229.75C825.63,-229.78 841.61,-232.78 905.25,-232.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M761.25,-231.75C825.26,-231.75 841.24,-234.75 905.25,-234.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-233.75C824.89,-233.72 840.87,-236.72 905.25,-236.75"/>
</g>
<!-- C3&#45;&#45;X3 -->
<g id="edge18" class="edge">
<title>C3:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-94.75C824.89,-94.78 840.87,-91.78 905.25,-91.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M761.25,-96.75C825.26,-96.75 841.24,-93.75 905.25,-93.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-98.75C825.63,-98.72 841.61,-95.72 905.25,-95.75"/>
</g>
<!-- C3&#45;&#45;X3 -->
<g id="edge20" class="edge">
<title>C3:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-69.75C825.13,-69.75 841.12,-68.75 905.25,-68.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M761.25,-71.75C825.25,-71.75 841.25,-70.75 905.25,-70.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-73.75C825.38,-73.75 841.37,-72.75 905.25,-72.75"/>
</g>
<!-- C3&#45;&#45;X3 -->
<g id="edge22" class="edge">
<title>C3:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-44.75C825.38,-44.75 841.37,-45.75 905.25,-45.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M761.25,-46.75C825.25,-46.75 841.25,-47.75 905.25,-47.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-48.75C825.13,-48.75 841.12,-49.75 905.25,-49.75"/>
</g>
<!-- C3&#45;&#45;X3 -->
<g id="edge24" class="edge">
<title>C3:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-19.75C825.63,-19.78 841.61,-22.78 905.25,-22.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M761.25,-21.75C825.26,-21.75 841.24,-24.75 905.25,-24.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-23.75C824.89,-23.72 840.87,-26.72 905.25,-26.75"/>
</g>
</g>
</svg>
</div>
<div id="notes">
<!-- %notes% -->
</div>
<h2>Bill of Materials</h2>
<div id="bom">
<table class="bom">
<tr>
<th class="bom_col_id">Id</th>
<th class="bom_col_description">Description</th>
<th class="bom_col_qty">Qty</th>
<th class="bom_col_unit">Unit</th>
<th class="bom_col_designators">Designators</th>
</tr>
<tr>
<td class="bom_col_id">1</td>
<td class="bom_col_description">Cable, 4 wires</td>
<td class="bom_col_qty">0</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">C1, C2, C3</td>
</tr>
<tr>
<td class="bom_col_id">2</td>
<td class="bom_col_description">Connector, 4 pins</td>
<td class="bom_col_qty">3</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X1, X2, X3</td>
</tr>
<tr>
<td class="bom_col_id">3</td>
<td class="bom_col_description">Connector, ferrule</td>
<td class="bom_col_qty">4</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators"></td>
</tr>
</table>
</div>
</body></html>

BIN
examples/ex13.png generated Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

376
examples/ex13.svg generated Normal file
View File

@ -0,0 +1,376 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Pages: 1 -->
<svg width="951pt" height="404pt"
viewBox="0.00 0.00 951.25 403.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 399.5)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-399.5 947.25,-399.5 947.25,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="38,-256.5 0,-256.5 0,-117 38,-117 38,-256.5"/>
<polygon fill="none" stroke="black" points="0,-232.75 0,-256.5 38,-256.5 38,-232.75 0,-232.75"/>
<text text-anchor="start" x="10.75" y="-239.2" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-209 0,-232.75 38,-232.75 38,-209 0,-209"/>
<text text-anchor="start" x="4" y="-215.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-186 0,-209 20,-209 20,-186 0,-186"/>
<text text-anchor="start" x="5.5" y="-191.7" font-family="arial" font-size="14.00">A</text>
<polygon fill="none" stroke="black" points="20,-186 20,-209 38,-209 38,-186 20,-186"/>
<text text-anchor="start" x="25.25" y="-191.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-163 0,-186 20,-186 20,-163 0,-163"/>
<text text-anchor="start" x="5.5" y="-168.7" font-family="arial" font-size="14.00">B</text>
<polygon fill="none" stroke="black" points="20,-163 20,-186 38,-186 38,-163 20,-163"/>
<text text-anchor="start" x="25.25" y="-168.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="0,-140 0,-163 20,-163 20,-140 0,-140"/>
<text text-anchor="start" x="5.12" y="-145.7" font-family="arial" font-size="14.00">C</text>
<polygon fill="none" stroke="black" points="20,-140 20,-163 38,-163 38,-140 20,-140"/>
<text text-anchor="start" x="25.25" y="-145.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="0,-117 0,-140 20,-140 20,-117 0,-117"/>
<text text-anchor="start" x="5.12" y="-122.7" font-family="arial" font-size="14.00">D</text>
<polygon fill="none" stroke="black" points="20,-117 20,-140 38,-140 38,-117 20,-117"/>
<text text-anchor="start" x="25.25" y="-122.7" font-family="arial" font-size="14.00">4</text>
</g>
<!-- C1 -->
<g id="node8" class="node">
<title>C1</title>
<polygon fill="#ffffff" stroke="black" points="303,-289.5 182,-289.5 182,-104 303,-104 303,-289.5"/>
<polygon fill="none" stroke="black" points="182,-265.75 182,-289.5 303,-289.5 303,-265.75 182,-265.75"/>
<text text-anchor="start" x="233.88" y="-272.2" font-family="arial" font-size="14.00">C1</text>
<polygon fill="none" stroke="black" points="182,-242 182,-265.75 303,-265.75 303,-242 182,-242"/>
<text text-anchor="start" x="235.38" y="-248.45" font-family="arial" font-size="14.00">4x</text>
<text text-anchor="start" x="202.62" y="-226.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="184.25" y="-207.7" font-family="arial" font-size="14.00">X1:1:A</text>
<text text-anchor="start" x="228.88" y="-207.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:WH &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="182,-202 182,-204 303,-204 303,-202 182,-202"/>
<polygon fill="#ffffff" stroke="none" points="182,-200 182,-202 303,-202 303,-200 182,-200"/>
<polygon fill="#000000" stroke="none" points="182,-198 182,-200 303,-200 303,-198 182,-198"/>
<text text-anchor="start" x="184.25" y="-182.7" font-family="arial" font-size="14.00">X1:2:B</text>
<text text-anchor="start" x="231.12" y="-182.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:BN &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="182,-177 182,-179 303,-179 303,-177 182,-177"/>
<polygon fill="#895956" stroke="none" points="182,-175 182,-177 303,-177 303,-175 182,-175"/>
<polygon fill="#000000" stroke="none" points="182,-173 182,-175 303,-175 303,-173 182,-173"/>
<text text-anchor="start" x="183.88" y="-157.7" font-family="arial" font-size="14.00">X1:3:C</text>
<text text-anchor="start" x="230" y="-157.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;3:GN &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="182,-152 182,-154 303,-154 303,-152 182,-152"/>
<polygon fill="#00ff00" stroke="none" points="182,-150 182,-152 303,-152 303,-150 182,-150"/>
<polygon fill="#000000" stroke="none" points="182,-148 182,-150 303,-150 303,-148 182,-148"/>
<text text-anchor="start" x="183.88" y="-132.7" font-family="arial" font-size="14.00">X1:4:D</text>
<text text-anchor="start" x="231.5" y="-132.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;4:YE &#160;&#160;&#160;</text>
<polygon fill="#000000" stroke="none" points="182,-127 182,-129 303,-129 303,-127 182,-127"/>
<polygon fill="#ffff00" stroke="none" points="182,-125 182,-127 303,-127 303,-125 182,-125"/>
<polygon fill="#000000" stroke="none" points="182,-123 182,-125 303,-125 303,-123 182,-123"/>
<text text-anchor="start" x="202.62" y="-107.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;C1 -->
<g id="edge1" class="edge">
<title>X1:e&#45;&#45;C1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M38,-195.75C102.38,-195.78 118.36,-198.78 182,-198.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M38,-197.75C102.01,-197.75 117.99,-200.75 182,-200.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M38,-199.75C101.64,-199.72 117.62,-202.72 182,-202.75"/>
</g>
<!-- X1&#45;&#45;C1 -->
<g id="edge3" class="edge">
<title>X1:e&#45;&#45;C1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M38,-172.75C102.13,-172.75 118.12,-173.75 182,-173.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M38,-174.75C102,-174.75 118,-175.75 182,-175.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M38,-176.75C101.88,-176.75 117.87,-177.75 182,-177.75"/>
</g>
<!-- X1&#45;&#45;C1 -->
<g id="edge5" class="edge">
<title>X1:e&#45;&#45;C1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M38,-149.75C101.88,-149.75 117.87,-148.75 182,-148.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M38,-151.75C102,-151.75 118,-150.75 182,-150.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M38,-153.75C102.13,-153.75 118.12,-152.75 182,-152.75"/>
</g>
<!-- X1&#45;&#45;C1 -->
<g id="edge7" class="edge">
<title>X1:e&#45;&#45;C1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M38,-126.75C101.64,-126.78 117.62,-123.78 182,-123.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M38,-128.75C102.01,-128.75 117.99,-125.75 182,-125.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M38,-130.75C102.38,-130.72 118.36,-127.72 182,-127.75"/>
</g>
<!-- F1 -->
<g id="node2" class="node">
<title>F1</title>
<polygon fill="#ffffff" stroke="black" points="493.25,-247.62 447,-247.62 447,-223.88 493.25,-223.88 493.25,-247.62"/>
<polygon fill="none" stroke="black" points="447,-223.88 447,-247.62 493.25,-247.62 493.25,-223.88 447,-223.88"/>
<text text-anchor="start" x="451" y="-230.32" font-family="arial" font-size="14.00">ferrule</text>
</g>
<!-- C2 -->
<g id="node9" class="node">
<title>C2</title>
<polygon fill="#ffffff" stroke="black" points="761.25,-395.5 637.25,-395.5 637.25,-210 761.25,-210 761.25,-395.5"/>
<polygon fill="none" stroke="black" points="637.25,-371.75 637.25,-395.5 761.25,-395.5 761.25,-371.75 637.25,-371.75"/>
<text text-anchor="start" x="690.62" y="-378.2" font-family="arial" font-size="14.00">C2</text>
<polygon fill="none" stroke="black" points="637.25,-348 637.25,-371.75 761.25,-371.75 761.25,-348 637.25,-348"/>
<text text-anchor="start" x="692.12" y="-354.45" font-family="arial" font-size="14.00">4x</text>
<text text-anchor="start" x="638.88" y="-332.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="646.12" y="-313.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:WH &#160;&#160;&#160;</text>
<text text-anchor="start" x="718.5" y="-313.7" font-family="arial" font-size="14.00">X2:1:A</text>
<polygon fill="#000000" stroke="none" points="637.25,-308 637.25,-310 761.25,-310 761.25,-308 637.25,-308"/>
<polygon fill="#ffffff" stroke="none" points="637.25,-306 637.25,-308 761.25,-308 761.25,-306 637.25,-306"/>
<polygon fill="#000000" stroke="none" points="637.25,-304 637.25,-306 761.25,-306 761.25,-304 637.25,-304"/>
<text text-anchor="start" x="648.38" y="-288.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:BN &#160;&#160;&#160;</text>
<text text-anchor="start" x="718.5" y="-288.7" font-family="arial" font-size="14.00">X2:2:B</text>
<polygon fill="#000000" stroke="none" points="637.25,-283 637.25,-285 761.25,-285 761.25,-283 637.25,-283"/>
<polygon fill="#895956" stroke="none" points="637.25,-281 637.25,-283 761.25,-283 761.25,-281 637.25,-281"/>
<polygon fill="#000000" stroke="none" points="637.25,-279 637.25,-281 761.25,-281 761.25,-279 637.25,-279"/>
<text text-anchor="start" x="647.25" y="-263.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;3:GN &#160;&#160;&#160;</text>
<text text-anchor="start" x="718.12" y="-263.7" font-family="arial" font-size="14.00">X2:3:C</text>
<polygon fill="#000000" stroke="none" points="637.25,-258 637.25,-260 761.25,-260 761.25,-258 637.25,-258"/>
<polygon fill="#00ff00" stroke="none" points="637.25,-256 637.25,-258 761.25,-258 761.25,-256 637.25,-256"/>
<polygon fill="#000000" stroke="none" points="637.25,-254 637.25,-256 761.25,-256 761.25,-254 637.25,-254"/>
<text text-anchor="start" x="648.75" y="-238.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;4:YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="718.12" y="-238.7" font-family="arial" font-size="14.00">X2:4:D</text>
<polygon fill="#000000" stroke="none" points="637.25,-233 637.25,-235 761.25,-235 761.25,-233 637.25,-233"/>
<polygon fill="#ffff00" stroke="none" points="637.25,-231 637.25,-233 761.25,-233 761.25,-231 637.25,-231"/>
<polygon fill="#000000" stroke="none" points="637.25,-229 637.25,-231 761.25,-231 761.25,-229 637.25,-229"/>
<text text-anchor="start" x="638.88" y="-213.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- F1&#45;&#45;C2 -->
<g id="edge9" class="edge">
<title>F1:e&#45;&#45;C2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-233.75C566.61,-235.71 567.89,-306.71 637.25,-304.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M493.25,-235.75C564.61,-235.75 565.89,-306.75 637.25,-306.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-237.75C562.61,-235.79 563.89,-306.79 637.25,-308.75"/>
</g>
<!-- C3 -->
<g id="node10" class="node">
<title>C3</title>
<polygon fill="#ffffff" stroke="black" points="761.25,-185.5 637.25,-185.5 637.25,0 761.25,0 761.25,-185.5"/>
<polygon fill="none" stroke="black" points="637.25,-161.75 637.25,-185.5 761.25,-185.5 761.25,-161.75 637.25,-161.75"/>
<text text-anchor="start" x="690.62" y="-168.2" font-family="arial" font-size="14.00">C3</text>
<polygon fill="none" stroke="black" points="637.25,-138 637.25,-161.75 761.25,-161.75 761.25,-138 637.25,-138"/>
<text text-anchor="start" x="692.12" y="-144.45" font-family="arial" font-size="14.00">4x</text>
<text text-anchor="start" x="638.88" y="-122.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="646.12" y="-103.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:WH &#160;&#160;&#160;</text>
<text text-anchor="start" x="718.5" y="-103.7" font-family="arial" font-size="14.00">X3:1:A</text>
<polygon fill="#000000" stroke="none" points="637.25,-98 637.25,-100 761.25,-100 761.25,-98 637.25,-98"/>
<polygon fill="#ffffff" stroke="none" points="637.25,-96 637.25,-98 761.25,-98 761.25,-96 637.25,-96"/>
<polygon fill="#000000" stroke="none" points="637.25,-94 637.25,-96 761.25,-96 761.25,-94 637.25,-94"/>
<text text-anchor="start" x="648.38" y="-78.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:BN &#160;&#160;&#160;</text>
<text text-anchor="start" x="718.5" y="-78.7" font-family="arial" font-size="14.00">X3:2:B</text>
<polygon fill="#000000" stroke="none" points="637.25,-73 637.25,-75 761.25,-75 761.25,-73 637.25,-73"/>
<polygon fill="#895956" stroke="none" points="637.25,-71 637.25,-73 761.25,-73 761.25,-71 637.25,-71"/>
<polygon fill="#000000" stroke="none" points="637.25,-69 637.25,-71 761.25,-71 761.25,-69 637.25,-69"/>
<text text-anchor="start" x="647.25" y="-53.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;3:GN &#160;&#160;&#160;</text>
<text text-anchor="start" x="718.12" y="-53.7" font-family="arial" font-size="14.00">X3:3:C</text>
<polygon fill="#000000" stroke="none" points="637.25,-48 637.25,-50 761.25,-50 761.25,-48 637.25,-48"/>
<polygon fill="#00ff00" stroke="none" points="637.25,-46 637.25,-48 761.25,-48 761.25,-46 637.25,-46"/>
<polygon fill="#000000" stroke="none" points="637.25,-44 637.25,-46 761.25,-46 761.25,-44 637.25,-44"/>
<text text-anchor="start" x="648.75" y="-28.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;4:YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="718.12" y="-28.7" font-family="arial" font-size="14.00">X3:4:D</text>
<polygon fill="#000000" stroke="none" points="637.25,-23 637.25,-25 761.25,-25 761.25,-23 637.25,-23"/>
<polygon fill="#ffff00" stroke="none" points="637.25,-21 637.25,-23 761.25,-23 761.25,-21 637.25,-21"/>
<polygon fill="#000000" stroke="none" points="637.25,-19 637.25,-21 761.25,-21 761.25,-19 637.25,-19"/>
<text text-anchor="start" x="638.88" y="-3.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- F1&#45;&#45;C3 -->
<g id="edge17" class="edge">
<title>F1:e&#45;&#45;C3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-233.75C580.26,-236.22 546.35,-97.22 637.25,-94.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M493.25,-235.75C582.2,-235.75 548.3,-96.75 637.25,-96.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-237.75C584.15,-235.28 550.24,-96.28 637.25,-98.75"/>
</g>
<!-- F2 -->
<g id="node3" class="node">
<title>F2</title>
<polygon fill="#ffffff" stroke="black" points="493.25,-199.62 447,-199.62 447,-175.88 493.25,-175.88 493.25,-199.62"/>
<polygon fill="none" stroke="black" points="447,-175.88 447,-199.62 493.25,-199.62 493.25,-175.88 447,-175.88"/>
<text text-anchor="start" x="451" y="-182.32" font-family="arial" font-size="14.00">ferrule</text>
</g>
<!-- F2&#45;&#45;C2 -->
<g id="edge11" class="edge">
<title>F2:e&#45;&#45;C2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-185.75C571.67,-187.94 562.81,-281.94 637.25,-279.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M493.25,-187.75C569.68,-187.75 560.82,-281.75 637.25,-281.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-189.75C567.69,-187.56 558.83,-281.56 637.25,-283.75"/>
</g>
<!-- F2&#45;&#45;C3 -->
<g id="edge19" class="edge">
<title>F2:e&#45;&#45;C3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-185.75C573.46,-188.1 553.1,-72.1 637.25,-69.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M493.25,-187.75C575.43,-187.75 555.07,-71.75 637.25,-71.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-189.75C577.4,-187.4 557.04,-71.4 637.25,-73.75"/>
</g>
<!-- F3 -->
<g id="node4" class="node">
<title>F3</title>
<polygon fill="#ffffff" stroke="black" points="493.25,-151.62 447,-151.62 447,-127.88 493.25,-127.88 493.25,-151.62"/>
<polygon fill="none" stroke="black" points="447,-127.88 447,-151.62 493.25,-151.62 493.25,-127.88 447,-127.88"/>
<text text-anchor="start" x="451" y="-134.32" font-family="arial" font-size="14.00">ferrule</text>
</g>
<!-- F3&#45;&#45;C2 -->
<g id="edge13" class="edge">
<title>F3:e&#45;&#45;C2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-137.75C577.68,-140.1 556.76,-257.1 637.25,-254.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M493.25,-139.75C575.71,-139.75 554.79,-256.75 637.25,-256.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-141.75C573.74,-139.4 552.82,-256.4 637.25,-258.75"/>
</g>
<!-- F3&#45;&#45;C3 -->
<g id="edge21" class="edge">
<title>F3:e&#45;&#45;C3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-137.75C567.44,-139.93 559.07,-46.93 637.25,-44.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M493.25,-139.75C569.44,-139.75 561.06,-46.75 637.25,-46.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-141.75C571.43,-139.57 563.06,-46.57 637.25,-48.75"/>
</g>
<!-- F4 -->
<g id="node5" class="node">
<title>F4</title>
<polygon fill="#ffffff" stroke="black" points="493.25,-103.62 447,-103.62 447,-79.88 493.25,-79.88 493.25,-103.62"/>
<polygon fill="none" stroke="black" points="447,-79.88 447,-103.62 493.25,-103.62 493.25,-79.88 447,-79.88"/>
<text text-anchor="start" x="451" y="-86.33" font-family="arial" font-size="14.00">ferrule</text>
</g>
<!-- F4&#45;&#45;C2 -->
<g id="edge15" class="edge">
<title>F4:e&#45;&#45;C2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-89.75C584.45,-92.23 549.93,-232.23 637.25,-229.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M493.25,-91.75C582.51,-91.75 547.99,-231.75 637.25,-231.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-93.75C580.57,-91.27 546.05,-231.27 637.25,-233.75"/>
</g>
<!-- F4&#45;&#45;C3 -->
<g id="edge23" class="edge">
<title>F4:e&#45;&#45;C3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-89.75C562.41,-91.7 564.09,-21.7 637.25,-19.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M493.25,-91.75C564.41,-91.75 566.09,-21.75 637.25,-21.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M493.25,-93.75C566.41,-91.8 568.09,-21.8 637.25,-23.75"/>
</g>
<!-- X2 -->
<g id="node6" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="943.25,-362.5 905.25,-362.5 905.25,-223 943.25,-223 943.25,-362.5"/>
<polygon fill="none" stroke="black" points="905.25,-338.75 905.25,-362.5 943.25,-362.5 943.25,-338.75 905.25,-338.75"/>
<text text-anchor="start" x="916" y="-345.2" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="905.25,-315 905.25,-338.75 943.25,-338.75 943.25,-315 905.25,-315"/>
<text text-anchor="start" x="909.25" y="-321.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="905.25,-292 905.25,-315 923.25,-315 923.25,-292 905.25,-292"/>
<text text-anchor="start" x="910.5" y="-297.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="923.25,-292 923.25,-315 943.25,-315 943.25,-292 923.25,-292"/>
<text text-anchor="start" x="928.75" y="-297.7" font-family="arial" font-size="14.00">A</text>
<polygon fill="none" stroke="black" points="905.25,-269 905.25,-292 923.25,-292 923.25,-269 905.25,-269"/>
<text text-anchor="start" x="910.5" y="-274.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="923.25,-269 923.25,-292 943.25,-292 943.25,-269 923.25,-269"/>
<text text-anchor="start" x="928.75" y="-274.7" font-family="arial" font-size="14.00">B</text>
<polygon fill="none" stroke="black" points="905.25,-246 905.25,-269 923.25,-269 923.25,-246 905.25,-246"/>
<text text-anchor="start" x="910.5" y="-251.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="923.25,-246 923.25,-269 943.25,-269 943.25,-246 923.25,-246"/>
<text text-anchor="start" x="928.38" y="-251.7" font-family="arial" font-size="14.00">C</text>
<polygon fill="none" stroke="black" points="905.25,-223 905.25,-246 923.25,-246 923.25,-223 905.25,-223"/>
<text text-anchor="start" x="910.5" y="-228.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="923.25,-223 923.25,-246 943.25,-246 943.25,-223 923.25,-223"/>
<text text-anchor="start" x="928.38" y="-228.7" font-family="arial" font-size="14.00">D</text>
</g>
<!-- X3 -->
<g id="node7" class="node">
<title>X3</title>
<polygon fill="#ffffff" stroke="black" points="943.25,-152.5 905.25,-152.5 905.25,-13 943.25,-13 943.25,-152.5"/>
<polygon fill="none" stroke="black" points="905.25,-128.75 905.25,-152.5 943.25,-152.5 943.25,-128.75 905.25,-128.75"/>
<text text-anchor="start" x="916" y="-135.2" font-family="arial" font-size="14.00">X3</text>
<polygon fill="none" stroke="black" points="905.25,-105 905.25,-128.75 943.25,-128.75 943.25,-105 905.25,-105"/>
<text text-anchor="start" x="909.25" y="-111.45" font-family="arial" font-size="14.00">4&#45;pin</text>
<polygon fill="none" stroke="black" points="905.25,-82 905.25,-105 923.25,-105 923.25,-82 905.25,-82"/>
<text text-anchor="start" x="910.5" y="-87.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="923.25,-82 923.25,-105 943.25,-105 943.25,-82 923.25,-82"/>
<text text-anchor="start" x="928.75" y="-87.7" font-family="arial" font-size="14.00">A</text>
<polygon fill="none" stroke="black" points="905.25,-59 905.25,-82 923.25,-82 923.25,-59 905.25,-59"/>
<text text-anchor="start" x="910.5" y="-64.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="923.25,-59 923.25,-82 943.25,-82 943.25,-59 923.25,-59"/>
<text text-anchor="start" x="928.75" y="-64.7" font-family="arial" font-size="14.00">B</text>
<polygon fill="none" stroke="black" points="905.25,-36 905.25,-59 923.25,-59 923.25,-36 905.25,-36"/>
<text text-anchor="start" x="910.5" y="-41.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="923.25,-36 923.25,-59 943.25,-59 943.25,-36 923.25,-36"/>
<text text-anchor="start" x="928.38" y="-41.7" font-family="arial" font-size="14.00">C</text>
<polygon fill="none" stroke="black" points="905.25,-13 905.25,-36 923.25,-36 923.25,-13 905.25,-13"/>
<text text-anchor="start" x="910.5" y="-18.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="923.25,-13 923.25,-36 943.25,-36 943.25,-13 923.25,-13"/>
<text text-anchor="start" x="928.38" y="-18.7" font-family="arial" font-size="14.00">D</text>
</g>
<!-- C1&#45;&#45;F1 -->
<g id="edge2" class="edge">
<title>C1:e&#45;&#45;F1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M303,-198.75C370.75,-200.09 383.02,-235.09 447,-233.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M303,-200.75C368.86,-200.75 381.14,-235.75 447,-235.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M303,-202.75C366.98,-201.41 379.25,-236.41 447,-237.75"/>
</g>
<!-- C1&#45;&#45;F2 -->
<g id="edge4" class="edge">
<title>C1:e&#45;&#45;F2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M303,-173.75C368.44,-174.17 384,-186.17 447,-185.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M303,-175.75C367.22,-175.75 382.78,-187.75 447,-187.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M303,-177.75C366,-177.33 381.56,-189.33 447,-189.75"/>
</g>
<!-- C1&#45;&#45;F3 -->
<g id="edge6" class="edge">
<title>C1:e&#45;&#45;F3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M303,-148.75C366.04,-149.11 381.66,-138.11 447,-137.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M303,-150.75C367.19,-150.75 382.81,-139.75 447,-139.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M303,-152.75C368.34,-152.39 383.96,-141.39 447,-141.75"/>
</g>
<!-- C1&#45;&#45;F4 -->
<g id="edge8" class="edge">
<title>C1:e&#45;&#45;F4:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M303,-123.75C366.88,-125.06 379.36,-91.06 447,-89.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M303,-125.75C368.76,-125.75 381.24,-91.75 447,-91.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M303,-127.75C370.64,-126.44 383.12,-92.44 447,-93.75"/>
</g>
<!-- C2&#45;&#45;X2 -->
<g id="edge10" class="edge">
<title>C2:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-304.75C824.89,-304.78 840.87,-301.78 905.25,-301.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M761.25,-306.75C825.26,-306.75 841.24,-303.75 905.25,-303.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-308.75C825.63,-308.72 841.61,-305.72 905.25,-305.75"/>
</g>
<!-- C2&#45;&#45;X2 -->
<g id="edge12" class="edge">
<title>C2:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-279.75C825.13,-279.75 841.12,-278.75 905.25,-278.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M761.25,-281.75C825.25,-281.75 841.25,-280.75 905.25,-280.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-283.75C825.38,-283.75 841.37,-282.75 905.25,-282.75"/>
</g>
<!-- C2&#45;&#45;X2 -->
<g id="edge14" class="edge">
<title>C2:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-254.75C825.38,-254.75 841.37,-255.75 905.25,-255.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M761.25,-256.75C825.25,-256.75 841.25,-257.75 905.25,-257.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-258.75C825.13,-258.75 841.12,-259.75 905.25,-259.75"/>
</g>
<!-- C2&#45;&#45;X2 -->
<g id="edge16" class="edge">
<title>C2:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-229.75C825.63,-229.78 841.61,-232.78 905.25,-232.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M761.25,-231.75C825.26,-231.75 841.24,-234.75 905.25,-234.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-233.75C824.89,-233.72 840.87,-236.72 905.25,-236.75"/>
</g>
<!-- C3&#45;&#45;X3 -->
<g id="edge18" class="edge">
<title>C3:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-94.75C824.89,-94.78 840.87,-91.78 905.25,-91.75"/>
<path fill="none" stroke="#ffffff" stroke-width="2" d="M761.25,-96.75C825.26,-96.75 841.24,-93.75 905.25,-93.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-98.75C825.63,-98.72 841.61,-95.72 905.25,-95.75"/>
</g>
<!-- C3&#45;&#45;X3 -->
<g id="edge20" class="edge">
<title>C3:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-69.75C825.13,-69.75 841.12,-68.75 905.25,-68.75"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M761.25,-71.75C825.25,-71.75 841.25,-70.75 905.25,-70.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-73.75C825.38,-73.75 841.37,-72.75 905.25,-72.75"/>
</g>
<!-- C3&#45;&#45;X3 -->
<g id="edge22" class="edge">
<title>C3:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-44.75C825.38,-44.75 841.37,-45.75 905.25,-45.75"/>
<path fill="none" stroke="#00ff00" stroke-width="2" d="M761.25,-46.75C825.25,-46.75 841.25,-47.75 905.25,-47.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-48.75C825.13,-48.75 841.12,-49.75 905.25,-49.75"/>
</g>
<!-- C3&#45;&#45;X3 -->
<g id="edge24" class="edge">
<title>C3:e&#45;&#45;X3:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-19.75C825.63,-19.78 841.61,-22.78 905.25,-22.75"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M761.25,-21.75C825.26,-21.75 841.24,-24.75 905.25,-24.75"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M761.25,-23.75C824.89,-23.72 840.87,-26.72 905.25,-26.75"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 27 KiB

Some files were not shown because too many files have changed in this diff Show More