Merge pull request #469 from waveform80/doc-chart-updates
Update all hierarchy charts in the docs (re #451)
20
README.rst
@@ -2,17 +2,19 @@
|
||||
gpiozero
|
||||
========
|
||||
|
||||
.. image:: https://badge.fury.io/py/gpiozero.svg
|
||||
:target: https://badge.fury.io/py/gpiozero
|
||||
:alt: Latest Version
|
||||
.. only:: builder_html
|
||||
|
||||
.. image:: https://travis-ci.org/RPi-Distro/python-gpiozero.svg?branch=master
|
||||
:target: https://travis-ci.org/RPi-Distro/python-gpiozero
|
||||
:alt: Build Tests
|
||||
.. image:: https://badge.fury.io/py/gpiozero.svg
|
||||
:target: https://badge.fury.io/py/gpiozero
|
||||
:alt: Latest Version
|
||||
|
||||
.. image:: https://img.shields.io/codecov/c/github/RPi-Distro/python-gpiozero/master.svg?maxAge=2592000
|
||||
:target: https://codecov.io/github/RPi-Distro/python-gpiozero
|
||||
:alt: Code Coverage
|
||||
.. image:: https://travis-ci.org/RPi-Distro/python-gpiozero.svg?branch=master
|
||||
:target: https://travis-ci.org/RPi-Distro/python-gpiozero
|
||||
:alt: Build Tests
|
||||
|
||||
.. image:: https://img.shields.io/codecov/c/github/RPi-Distro/python-gpiozero/master.svg?maxAge=2592000
|
||||
:target: https://codecov.io/github/RPi-Distro/python-gpiozero
|
||||
:alt: Code Coverage
|
||||
|
||||
A simple interface to GPIO devices with Raspberry Pi.
|
||||
|
||||
|
||||
@@ -23,7 +23,8 @@ classes (most of which are documented in their corresponding chapters):
|
||||
devices like HATs
|
||||
|
||||
There are also several `mixin classes`_ for adding important functionality
|
||||
at numerous points in the hierarchy, which is illustrated below:
|
||||
at numerous points in the hierarchy, which is illustrated below (mixin classes
|
||||
are represented in purple, while abstract classes are shaded lighter):
|
||||
|
||||
.. image:: images/device_hierarchy.*
|
||||
|
||||
|
||||
@@ -52,7 +52,8 @@ Base Classes
|
||||
|
||||
The classes in the sections above are derived from a series of base classes,
|
||||
some of which are effectively abstract. The classes form the (partial)
|
||||
hierarchy displayed in the graph below:
|
||||
hierarchy displayed in the graph below (abstract classes are shaded lighter
|
||||
than concrete classes):
|
||||
|
||||
.. image:: images/input_device_hierarchy.*
|
||||
|
||||
|
||||
@@ -35,7 +35,8 @@ Base Classes
|
||||
|
||||
The classes in the sections above are derived from a series of base classes,
|
||||
some of which are effectively abstract. The classes form the (partial)
|
||||
hierarchy displayed in the graph below:
|
||||
hierarchy displayed in the graph below (abstract classes are shaded lighter
|
||||
than concrete classes):
|
||||
|
||||
.. image:: images/other_device_hierarchy.*
|
||||
|
||||
|
||||
@@ -62,7 +62,8 @@ Base Classes
|
||||
|
||||
The classes in the sections above are derived from a series of base classes,
|
||||
some of which are effectively abstract. The classes form the (partial)
|
||||
hierarchy displayed in the graph below:
|
||||
hierarchy displayed in the graph below (abstract classes are shaded lighter
|
||||
than concrete classes):
|
||||
|
||||
.. image:: images/output_device_hierarchy.*
|
||||
|
||||
|
||||
@@ -121,7 +121,8 @@ Base Classes
|
||||
|
||||
The classes in the sections above are derived from a series of base classes,
|
||||
some of which are effectively abstract. The classes form the (partial)
|
||||
hierarchy displayed in the graph below:
|
||||
hierarchy displayed in the graph below (abstract classes are shaded lighter
|
||||
than concrete classes):
|
||||
|
||||
.. image:: images/spi_device_hierarchy.*
|
||||
|
||||
|
||||
173
docs/images/class_graph
Executable file
@@ -0,0 +1,173 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
import re
|
||||
import sys
|
||||
import argparse
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
ABSTRACT_CLASSES = {
|
||||
'Device',
|
||||
'GPIODevice',
|
||||
'SmoothedInputDevice',
|
||||
'AnalogInputDevice',
|
||||
'MCP3xxx',
|
||||
'MCP33xx',
|
||||
'CompositeDevice',
|
||||
'CompositeOutputDevice',
|
||||
'LEDCollection',
|
||||
'InternalDevice',
|
||||
}
|
||||
|
||||
OMIT_CLASSES = {
|
||||
'object',
|
||||
'GPIOBase',
|
||||
'GPIOMeta',
|
||||
'frozendict',
|
||||
'WeakMethod',
|
||||
'_EnergenieMaster',
|
||||
}
|
||||
|
||||
|
||||
def main(args=None):
|
||||
"""
|
||||
A simple application for generating GPIO Zero's charts. Specify the root
|
||||
class to generate with -i (multiple roots can be specified). Specify parts
|
||||
of the hierarchy to exclude with -x. Output is in a format suitable for
|
||||
feeding to graphviz's dot application.
|
||||
"""
|
||||
if args is None:
|
||||
args = sys.argv[1:]
|
||||
my_path = Path(__file__).parent
|
||||
# XXX make this relative to repo root rather than this script
|
||||
default_path = my_path / '..' / '..' / 'gpiozero'
|
||||
default_path = default_path.resolve()
|
||||
parser = argparse.ArgumentParser(description=main.__doc__)
|
||||
parser.add_argument('-p', '--path', action='append', metavar='PATH',
|
||||
default=[], help=
|
||||
"search under PATH for Python source files; can be "
|
||||
"specified multiple times, defaults to %s" % default_path)
|
||||
parser.add_argument('-i', '--include', action='append', metavar='BASE',
|
||||
default=[], help=
|
||||
"only include classes which have BASE somewhere in "
|
||||
"their ancestry; can be specified multiple times")
|
||||
parser.add_argument('-x', '--exclude', action='append', metavar='BASE',
|
||||
default=[], help=
|
||||
"exclude any classes which have BASE somewhere in "
|
||||
"their ancestry; can be specified multiple times")
|
||||
parser.add_argument('output', nargs='?', type=argparse.FileType('w'),
|
||||
default=sys.stdout, help=
|
||||
"the file to write the output to; defaults to stdout")
|
||||
args = parser.parse_args(args)
|
||||
if not args.path:
|
||||
args.path = [str(default_path)]
|
||||
|
||||
m = make_class_map(args.path, OMIT_CLASSES)
|
||||
if args.include or args.exclude:
|
||||
m = filter_map(m, include_roots=set(args.include), exclude_roots=set(args.exclude))
|
||||
args.output.write(render_map(m, ABSTRACT_CLASSES))
|
||||
|
||||
|
||||
def make_class_map(search_paths, omit):
|
||||
"""
|
||||
Find all Python source files under *search_paths*, extract (via a crude
|
||||
regex) all class definitions and return a mapping of class-name to the list
|
||||
of base classes.
|
||||
|
||||
All classes listed in *omit* will be excluded from the result, but not
|
||||
their descendents (useful for excluding "object" etc.)
|
||||
"""
|
||||
def find_classes():
|
||||
class_re = re.compile(r'^class (?P<name>\w+)(?:\((?P<bases>.*)\))?:', re.MULTILINE)
|
||||
for path in search_paths:
|
||||
for py_file in Path(path).rglob('*.py'):
|
||||
with py_file.open() as f:
|
||||
for match in class_re.finditer(f.read()):
|
||||
if match.group('name') not in omit:
|
||||
yield match.group('name'), [
|
||||
base.strip()
|
||||
for base in (match.group('bases') or '').split(',')
|
||||
if base.strip() not in omit
|
||||
]
|
||||
return {
|
||||
name: bases
|
||||
for name, bases in find_classes()
|
||||
}
|
||||
|
||||
|
||||
def filter_map(class_map, include_roots, exclude_roots):
|
||||
"""
|
||||
Returns *class_map* (which is a mapping such as that returned by
|
||||
:func:`make_class_map`), with only those classes which have at least one
|
||||
of the *include_roots* in their ancestry, and none of the *exclude_roots*.
|
||||
"""
|
||||
def has_parent(cls, parent):
|
||||
return cls == parent or any(
|
||||
has_parent(base, parent) for base in class_map.get(cls, ()))
|
||||
|
||||
return {
|
||||
name: bases
|
||||
for name, bases in class_map.items()
|
||||
if (not include_roots or any(has_parent(name, root) for root in include_roots))
|
||||
and not any(has_parent(name, root) for root in exclude_roots)
|
||||
}
|
||||
|
||||
|
||||
def render_map(class_map, abstract):
|
||||
"""
|
||||
Renders *class_map* (which is a mapping such as that returned by
|
||||
:func:`make_class_map`) to graphviz's dot language.
|
||||
|
||||
The *abstract* sequence determines which classes will be rendered lighter
|
||||
to indicate their abstract nature. All classes with names ending "Mixin"
|
||||
will be implicitly rendered in a different style.
|
||||
"""
|
||||
def all_names(class_map):
|
||||
for name, bases in class_map.items():
|
||||
yield name
|
||||
for base in bases:
|
||||
yield base
|
||||
|
||||
template = """\
|
||||
digraph classes {{
|
||||
graph [rankdir=RL];
|
||||
node [shape=rect, style=filled, fontname=Sans, fontsize=10];
|
||||
edge [];
|
||||
|
||||
/* Mixin classes */
|
||||
node [color="#c69ee0", fontcolor="#000000"]
|
||||
|
||||
{mixin_nodes}
|
||||
|
||||
/* Abstract classes */
|
||||
node [color="#9ec6e0", fontcolor="#000000"]
|
||||
|
||||
{abstract_nodes}
|
||||
|
||||
/* Concrete classes */
|
||||
node [color="#2980b9", fontcolor="#ffffff"];
|
||||
|
||||
{edges}
|
||||
}}
|
||||
"""
|
||||
|
||||
return template.format(
|
||||
mixin_nodes='\n '.join(
|
||||
'{name};'.format(name=name)
|
||||
for name in set(all_names(class_map))
|
||||
if name.endswith('Mixin')
|
||||
),
|
||||
abstract_nodes='\n '.join(
|
||||
'{name};'.format(name=name)
|
||||
for name in abstract & set(all_names(class_map))
|
||||
),
|
||||
edges='\n '.join(
|
||||
'{name}->{base};'.format(name=name, base=base)
|
||||
for name, bases in class_map.items()
|
||||
for base in bases
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -1,7 +1,7 @@
|
||||
/* vim: set et sw=4 sts=4: */
|
||||
|
||||
digraph classes {
|
||||
graph [rankdir=BT];
|
||||
graph [rankdir=RL];
|
||||
node [shape=rect, style=filled, fontname=Sans, fontsize=10];
|
||||
edge [];
|
||||
|
||||
@@ -24,6 +24,7 @@ digraph classes {
|
||||
PiLiter->LEDBoard;
|
||||
PiLiterBarGraph->LEDBarGraph;
|
||||
TrafficLights->LEDBoard;
|
||||
SnowPi->LEDBoard;
|
||||
PiTraffic->TrafficLights;
|
||||
PiStop->TrafficLights;
|
||||
TrafficLightsBuzzer->CompositeOutputDevice;
|
||||
|
||||
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 62 KiB |
@@ -1,228 +1,238 @@
|
||||
<?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 2.36.0 (20140111.2315)
|
||||
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
|
||||
-->
|
||||
<!-- Title: classes Pages: 1 -->
|
||||
<svg width="733pt" height="476pt"
|
||||
viewBox="0.00 0.00 733.00 476.00" 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 472)">
|
||||
<svg width="845pt" height="462pt"
|
||||
viewBox="0.00 0.00 845.00 462.00" 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 458)">
|
||||
<title>classes</title>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-472 729,-472 729,4 -4,4"/>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-458 841,-458 841,4 -4,4"/>
|
||||
<!-- Device -->
|
||||
<g id="node1" class="node"><title>Device</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="607,-468 553,-468 553,-432 607,-432 607,-468"/>
|
||||
<text text-anchor="middle" x="580" y="-447.5" font-family="Sans" font-size="10.00" fill="#000000">Device</text>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="54,-117 0,-117 0,-81 54,-81 54,-117"/>
|
||||
<text text-anchor="middle" x="27" y="-96.5" font-family="Sans" font-size="10.00" fill="#000000">Device</text>
|
||||
</g>
|
||||
<!-- CompositeDevice -->
|
||||
<g id="node2" class="node"><title>CompositeDevice</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="580.5,-396 479.5,-396 479.5,-360 580.5,-360 580.5,-396"/>
|
||||
<text text-anchor="middle" x="530" y="-375.5" font-family="Sans" font-size="10.00" fill="#000000">CompositeDevice</text>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="191,-144 90,-144 90,-108 191,-108 191,-144"/>
|
||||
<text text-anchor="middle" x="140.5" y="-123.5" font-family="Sans" font-size="10.00" fill="#000000">CompositeDevice</text>
|
||||
</g>
|
||||
<!-- CompositeDevice->Device -->
|
||||
<g id="edge1" class="edge"><title>CompositeDevice->Device</title>
|
||||
<path fill="none" stroke="black" d="M542.36,-396.303C548.233,-404.526 555.369,-414.517 561.842,-423.579"/>
|
||||
<polygon fill="black" stroke="black" points="559.122,-425.793 567.783,-431.896 564.818,-421.724 559.122,-425.793"/>
|
||||
<path fill="none" stroke="black" d="M89.9451,-114C81.1791,-111.877 72.2061,-109.705 63.9077,-107.695"/>
|
||||
<polygon fill="black" stroke="black" points="64.7221,-104.291 54.1792,-105.339 63.0746,-111.095 64.7221,-104.291"/>
|
||||
</g>
|
||||
<!-- CompositeOutputDevice -->
|
||||
<g id="node3" class="node"><title>CompositeOutputDevice</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="375,-324 241,-324 241,-288 375,-288 375,-324"/>
|
||||
<text text-anchor="middle" x="308" y="-303.5" font-family="Sans" font-size="10.00" fill="#000000">CompositeOutputDevice</text>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="361,-252 227,-252 227,-216 361,-216 361,-252"/>
|
||||
<text text-anchor="middle" x="294" y="-231.5" font-family="Sans" font-size="10.00" fill="#000000">CompositeOutputDevice</text>
|
||||
</g>
|
||||
<!-- CompositeOutputDevice->CompositeDevice -->
|
||||
<g id="edge2" class="edge"><title>CompositeOutputDevice->CompositeDevice</title>
|
||||
<path fill="none" stroke="black" d="M362.023,-324.034C394.615,-334.311 436.197,-347.422 469.834,-358.029"/>
|
||||
<polygon fill="black" stroke="black" points="468.958,-361.422 479.547,-361.091 471.063,-354.746 468.958,-361.422"/>
|
||||
<path fill="none" stroke="black" d="M242.978,-215.876C237.433,-213.187 231.992,-210.223 227,-207 203.166,-191.61 180.052,-169.109 163.878,-151.725"/>
|
||||
<polygon fill="black" stroke="black" points="166.284,-149.169 156.958,-144.142 161.114,-153.888 166.284,-149.169"/>
|
||||
</g>
|
||||
<!-- LEDCollection -->
|
||||
<g id="node4" class="node"><title>LEDCollection</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="237,-252 155,-252 155,-216 237,-216 237,-252"/>
|
||||
<text text-anchor="middle" x="196" y="-231.5" font-family="Sans" font-size="10.00" fill="#000000">LEDCollection</text>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="490.5,-306 408.5,-306 408.5,-270 490.5,-270 490.5,-306"/>
|
||||
<text text-anchor="middle" x="449.5" y="-285.5" font-family="Sans" font-size="10.00" fill="#000000">LEDCollection</text>
|
||||
</g>
|
||||
<!-- LEDCollection->CompositeOutputDevice -->
|
||||
<g id="edge3" class="edge"><title>LEDCollection->CompositeOutputDevice</title>
|
||||
<path fill="none" stroke="black" d="M223.398,-252.124C237.907,-261.192 255.916,-272.448 271.585,-282.241"/>
|
||||
<polygon fill="black" stroke="black" points="270.161,-285.478 280.496,-287.81 273.871,-279.542 270.161,-285.478"/>
|
||||
<path fill="none" stroke="black" d="M408.17,-273.812C392.206,-268.196 373.505,-261.618 355.956,-255.444"/>
|
||||
<polygon fill="black" stroke="black" points="356.945,-252.081 346.35,-252.065 354.622,-258.685 356.945,-252.081"/>
|
||||
</g>
|
||||
<!-- LEDBoard -->
|
||||
<g id="node5" class="node"><title>LEDBoard</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="140,-180 76,-180 76,-144 140,-144 140,-180"/>
|
||||
<text text-anchor="middle" x="108" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">LEDBoard</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="610.5,-387 546.5,-387 546.5,-351 610.5,-351 610.5,-387"/>
|
||||
<text text-anchor="middle" x="578.5" y="-366.5" font-family="Sans" font-size="10.00" fill="#ffffff">LEDBoard</text>
|
||||
</g>
|
||||
<!-- LEDBoard->LEDCollection -->
|
||||
<g id="edge4" class="edge"><title>LEDBoard->LEDCollection</title>
|
||||
<path fill="none" stroke="black" d="M129.753,-180.303C140.836,-189.119 154.474,-199.968 166.49,-209.526"/>
|
||||
<polygon fill="black" stroke="black" points="164.493,-212.41 174.497,-215.896 168.85,-206.931 164.493,-212.41"/>
|
||||
<path fill="none" stroke="black" d="M548.999,-350.822C530.861,-339.254 507.182,-324.152 487.587,-311.654"/>
|
||||
<polygon fill="black" stroke="black" points="489.219,-308.544 478.906,-306.117 485.455,-314.446 489.219,-308.544"/>
|
||||
</g>
|
||||
<!-- LEDBarGraph -->
|
||||
<g id="node6" class="node"><title>LEDBarGraph</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="243.5,-180 162.5,-180 162.5,-144 243.5,-144 243.5,-180"/>
|
||||
<text text-anchor="middle" x="203" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">LEDBarGraph</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="619,-306 538,-306 538,-270 619,-270 619,-306"/>
|
||||
<text text-anchor="middle" x="578.5" y="-285.5" font-family="Sans" font-size="10.00" fill="#ffffff">LEDBarGraph</text>
|
||||
</g>
|
||||
<!-- LEDBarGraph->LEDCollection -->
|
||||
<g id="edge5" class="edge"><title>LEDBarGraph->LEDCollection</title>
|
||||
<path fill="none" stroke="black" d="M201.27,-180.303C200.498,-188.017 199.571,-197.288 198.711,-205.888"/>
|
||||
<polygon fill="black" stroke="black" points="195.223,-205.597 197.71,-215.896 202.188,-206.294 195.223,-205.597"/>
|
||||
<path fill="none" stroke="black" d="M537.665,-288C525.958,-288 512.998,-288 500.73,-288"/>
|
||||
<polygon fill="black" stroke="black" points="500.63,-284.5 490.63,-288 500.63,-291.5 500.63,-284.5"/>
|
||||
</g>
|
||||
<!-- PiLiter -->
|
||||
<g id="node7" class="node"><title>PiLiter</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="54,-108 0,-108 0,-72 54,-72 54,-108"/>
|
||||
<text text-anchor="middle" x="27" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">PiLiter</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="728,-454 674,-454 674,-418 728,-418 728,-454"/>
|
||||
<text text-anchor="middle" x="701" y="-433.5" font-family="Sans" font-size="10.00" fill="#ffffff">PiLiter</text>
|
||||
</g>
|
||||
<!-- PiLiter->LEDBoard -->
|
||||
<g id="edge6" class="edge"><title>PiLiter->LEDBoard</title>
|
||||
<path fill="none" stroke="black" d="M47.0225,-108.303C57.1256,-117.035 69.536,-127.76 80.5175,-137.25"/>
|
||||
<polygon fill="black" stroke="black" points="78.3532,-140.005 88.2078,-143.896 82.9302,-134.709 78.3532,-140.005"/>
|
||||
<path fill="none" stroke="black" d="M673.853,-421.462C658.056,-412.679 637.595,-401.302 619.767,-391.389"/>
|
||||
<polygon fill="black" stroke="black" points="621.163,-388.161 610.723,-386.36 617.762,-394.279 621.163,-388.161"/>
|
||||
</g>
|
||||
<!-- PiLiterBarGraph -->
|
||||
<g id="node8" class="node"><title>PiLiterBarGraph</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="254,-108 162,-108 162,-72 254,-72 254,-108"/>
|
||||
<text text-anchor="middle" x="208" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">PiLiterBarGraph</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="747,-292 655,-292 655,-256 747,-256 747,-292"/>
|
||||
<text text-anchor="middle" x="701" y="-271.5" font-family="Sans" font-size="10.00" fill="#ffffff">PiLiterBarGraph</text>
|
||||
</g>
|
||||
<!-- PiLiterBarGraph->LEDBarGraph -->
|
||||
<g id="edge7" class="edge"><title>PiLiterBarGraph->LEDBarGraph</title>
|
||||
<path fill="none" stroke="black" d="M206.764,-108.303C206.213,-116.017 205.551,-125.288 204.937,-133.888"/>
|
||||
<polygon fill="black" stroke="black" points="201.443,-133.672 204.222,-143.896 208.425,-134.17 201.443,-133.672"/>
|
||||
<path fill="none" stroke="black" d="M654.787,-279.253C646.431,-280.224 637.663,-281.242 629.183,-282.228"/>
|
||||
<polygon fill="black" stroke="black" points="628.558,-278.777 619.029,-283.407 629.366,-285.73 628.558,-278.777"/>
|
||||
</g>
|
||||
<!-- TrafficLights -->
|
||||
<g id="node9" class="node"><title>TrafficLights</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="144,-108 72,-108 72,-72 144,-72 144,-108"/>
|
||||
<text text-anchor="middle" x="108" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">TrafficLights</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="737,-400 665,-400 665,-364 737,-364 737,-400"/>
|
||||
<text text-anchor="middle" x="701" y="-379.5" font-family="Sans" font-size="10.00" fill="#ffffff">TrafficLights</text>
|
||||
</g>
|
||||
<!-- TrafficLights->LEDBoard -->
|
||||
<g id="edge8" class="edge"><title>TrafficLights->LEDBoard</title>
|
||||
<path fill="none" stroke="black" d="M108,-108.303C108,-116.017 108,-125.288 108,-133.888"/>
|
||||
<polygon fill="black" stroke="black" points="104.5,-133.896 108,-143.896 111.5,-133.896 104.5,-133.896"/>
|
||||
<path fill="none" stroke="black" d="M664.822,-378.205C651.071,-376.721 635.199,-375.009 620.902,-373.467"/>
|
||||
<polygon fill="black" stroke="black" points="621.14,-369.972 610.822,-372.379 620.389,-376.932 621.14,-369.972"/>
|
||||
</g>
|
||||
<!-- SnowPi -->
|
||||
<g id="node10" class="node"><title>SnowPi</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="728,-346 674,-346 674,-310 728,-310 728,-346"/>
|
||||
<text text-anchor="middle" x="701" y="-325.5" font-family="Sans" font-size="10.00" fill="#ffffff">SnowPi</text>
|
||||
</g>
|
||||
<!-- SnowPi->LEDBoard -->
|
||||
<g id="edge9" class="edge"><title>SnowPi->LEDBoard</title>
|
||||
<path fill="none" stroke="black" d="M673.853,-336.896C658.201,-342.222 637.971,-349.105 620.259,-355.132"/>
|
||||
<polygon fill="black" stroke="black" points="619.062,-351.842 610.723,-358.376 621.317,-358.469 619.062,-351.842"/>
|
||||
</g>
|
||||
<!-- PiTraffic -->
|
||||
<g id="node10" class="node"><title>PiTraffic</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="99,-36 45,-36 45,-0 99,-0 99,-36"/>
|
||||
<text text-anchor="middle" x="72" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">PiTraffic</text>
|
||||
<g id="node11" class="node"><title>PiTraffic</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="837,-427 783,-427 783,-391 837,-391 837,-427"/>
|
||||
<text text-anchor="middle" x="810" y="-406.5" font-family="Sans" font-size="10.00" fill="#ffffff">PiTraffic</text>
|
||||
</g>
|
||||
<!-- PiTraffic->TrafficLights -->
|
||||
<g id="edge9" class="edge"><title>PiTraffic->TrafficLights</title>
|
||||
<path fill="none" stroke="black" d="M80.8989,-36.3034C84.9968,-44.2716 89.9488,-53.9005 94.4927,-62.7359"/>
|
||||
<polygon fill="black" stroke="black" points="91.5174,-64.6035 99.2035,-71.8957 97.7425,-61.402 91.5174,-64.6035"/>
|
||||
<g id="edge10" class="edge"><title>PiTraffic->TrafficLights</title>
|
||||
<path fill="none" stroke="black" d="M782.825,-402.395C772.094,-399.687 759.359,-396.474 747.209,-393.408"/>
|
||||
<polygon fill="black" stroke="black" points="747.749,-389.935 737.197,-390.881 746.036,-396.722 747.749,-389.935"/>
|
||||
</g>
|
||||
<!-- PiStop -->
|
||||
<g id="node11" class="node"><title>PiStop</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="171,-36 117,-36 117,-0 171,-0 171,-36"/>
|
||||
<text text-anchor="middle" x="144" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">PiStop</text>
|
||||
<g id="node12" class="node"><title>PiStop</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="837,-373 783,-373 783,-337 837,-337 837,-373"/>
|
||||
<text text-anchor="middle" x="810" y="-352.5" font-family="Sans" font-size="10.00" fill="#ffffff">PiStop</text>
|
||||
</g>
|
||||
<!-- PiStop->TrafficLights -->
|
||||
<g id="edge10" class="edge"><title>PiStop->TrafficLights</title>
|
||||
<path fill="none" stroke="black" d="M135.101,-36.3034C131.003,-44.2716 126.051,-53.9005 121.507,-62.7359"/>
|
||||
<polygon fill="black" stroke="black" points="118.258,-61.402 116.797,-71.8957 124.483,-64.6035 118.258,-61.402"/>
|
||||
<g id="edge11" class="edge"><title>PiStop->TrafficLights</title>
|
||||
<path fill="none" stroke="black" d="M782.825,-361.605C772.094,-364.313 759.359,-367.526 747.209,-370.592"/>
|
||||
<polygon fill="black" stroke="black" points="746.036,-367.278 737.197,-373.119 747.749,-374.065 746.036,-367.278"/>
|
||||
</g>
|
||||
<!-- TrafficLightsBuzzer -->
|
||||
<g id="node12" class="node"><title>TrafficLightsBuzzer</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="360.5,-252 255.5,-252 255.5,-216 360.5,-216 360.5,-252"/>
|
||||
<text text-anchor="middle" x="308" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">TrafficLightsBuzzer</text>
|
||||
<g id="node13" class="node"><title>TrafficLightsBuzzer</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="502,-252 397,-252 397,-216 502,-216 502,-252"/>
|
||||
<text text-anchor="middle" x="449.5" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">TrafficLightsBuzzer</text>
|
||||
</g>
|
||||
<!-- TrafficLightsBuzzer->CompositeOutputDevice -->
|
||||
<g id="edge11" class="edge"><title>TrafficLightsBuzzer->CompositeOutputDevice</title>
|
||||
<path fill="none" stroke="black" d="M308,-252.303C308,-260.017 308,-269.288 308,-277.888"/>
|
||||
<polygon fill="black" stroke="black" points="304.5,-277.896 308,-287.896 311.5,-277.896 304.5,-277.896"/>
|
||||
<g id="edge12" class="edge"><title>TrafficLightsBuzzer->CompositeOutputDevice</title>
|
||||
<path fill="none" stroke="black" d="M396.96,-234C388.696,-234 379.995,-234 371.3,-234"/>
|
||||
<polygon fill="black" stroke="black" points="371.125,-230.5 361.124,-234 371.124,-237.5 371.125,-230.5"/>
|
||||
</g>
|
||||
<!-- FishDish -->
|
||||
<g id="node13" class="node"><title>FishDish</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="324,-180 268,-180 268,-144 324,-144 324,-180"/>
|
||||
<text text-anchor="middle" x="296" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">FishDish</text>
|
||||
<g id="node14" class="node"><title>FishDish</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="606.5,-252 550.5,-252 550.5,-216 606.5,-216 606.5,-252"/>
|
||||
<text text-anchor="middle" x="578.5" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">FishDish</text>
|
||||
</g>
|
||||
<!-- FishDish->TrafficLightsBuzzer -->
|
||||
<g id="edge12" class="edge"><title>FishDish->TrafficLightsBuzzer</title>
|
||||
<path fill="none" stroke="black" d="M298.966,-180.303C300.289,-188.017 301.878,-197.288 303.352,-205.888"/>
|
||||
<polygon fill="black" stroke="black" points="299.928,-206.631 305.068,-215.896 306.828,-205.448 299.928,-206.631"/>
|
||||
<g id="edge13" class="edge"><title>FishDish->TrafficLightsBuzzer</title>
|
||||
<path fill="none" stroke="black" d="M550.255,-234C539.046,-234 525.57,-234 512.2,-234"/>
|
||||
<polygon fill="black" stroke="black" points="512.036,-230.5 502.036,-234 512.036,-237.5 512.036,-230.5"/>
|
||||
</g>
|
||||
<!-- TrafficHat -->
|
||||
<g id="node14" class="node"><title>TrafficHat</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="403.5,-180 342.5,-180 342.5,-144 403.5,-144 403.5,-180"/>
|
||||
<text text-anchor="middle" x="373" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">TrafficHat</text>
|
||||
<g id="node15" class="node"><title>TrafficHat</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="609,-198 548,-198 548,-162 609,-162 609,-198"/>
|
||||
<text text-anchor="middle" x="578.5" y="-177.5" font-family="Sans" font-size="10.00" fill="#ffffff">TrafficHat</text>
|
||||
</g>
|
||||
<!-- TrafficHat->TrafficLightsBuzzer -->
|
||||
<g id="edge13" class="edge"><title>TrafficHat->TrafficLightsBuzzer</title>
|
||||
<path fill="none" stroke="black" d="M356.933,-180.303C349.061,-188.78 339.445,-199.136 330.827,-208.417"/>
|
||||
<polygon fill="black" stroke="black" points="328.122,-206.186 323.883,-215.896 333.252,-210.949 328.122,-206.186"/>
|
||||
<g id="edge14" class="edge"><title>TrafficHat->TrafficLightsBuzzer</title>
|
||||
<path fill="none" stroke="black" d="M547.724,-192.661C534.246,-198.392 517.911,-205.337 502.51,-211.886"/>
|
||||
<polygon fill="black" stroke="black" points="500.908,-208.763 493.075,-215.897 503.647,-215.205 500.908,-208.763"/>
|
||||
</g>
|
||||
<!-- Robot -->
|
||||
<g id="node15" class="node"><title>Robot</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="485,-324 431,-324 431,-288 485,-288 485,-324"/>
|
||||
<text text-anchor="middle" x="458" y="-303.5" font-family="Sans" font-size="10.00" fill="#ffffff">Robot</text>
|
||||
<g id="node16" class="node"><title>Robot</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="321,-198 267,-198 267,-162 321,-162 321,-198"/>
|
||||
<text text-anchor="middle" x="294" y="-177.5" font-family="Sans" font-size="10.00" fill="#ffffff">Robot</text>
|
||||
</g>
|
||||
<!-- Robot->CompositeDevice -->
|
||||
<g id="edge14" class="edge"><title>Robot->CompositeDevice</title>
|
||||
<path fill="none" stroke="black" d="M475.798,-324.303C484.604,-332.865 495.382,-343.344 505.001,-352.696"/>
|
||||
<polygon fill="black" stroke="black" points="502.797,-355.434 512.407,-359.896 507.677,-350.415 502.797,-355.434"/>
|
||||
<g id="edge15" class="edge"><title>Robot->CompositeDevice</title>
|
||||
<path fill="none" stroke="black" d="M266.956,-170.717C248.746,-164.226 223.673,-155.289 200.727,-147.111"/>
|
||||
<polygon fill="black" stroke="black" points="201.644,-143.722 191.049,-143.661 199.294,-150.316 201.644,-143.722"/>
|
||||
</g>
|
||||
<!-- RyanteckRobot -->
|
||||
<g id="node16" class="node"><title>RyanteckRobot</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="465,-252 379,-252 379,-216 465,-216 465,-252"/>
|
||||
<text text-anchor="middle" x="422" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">RyanteckRobot</text>
|
||||
<g id="node17" class="node"><title>RyanteckRobot</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="492.5,-198 406.5,-198 406.5,-162 492.5,-162 492.5,-198"/>
|
||||
<text text-anchor="middle" x="449.5" y="-177.5" font-family="Sans" font-size="10.00" fill="#ffffff">RyanteckRobot</text>
|
||||
</g>
|
||||
<!-- RyanteckRobot->Robot -->
|
||||
<g id="edge15" class="edge"><title>RyanteckRobot->Robot</title>
|
||||
<path fill="none" stroke="black" d="M430.899,-252.303C434.997,-260.272 439.949,-269.9 444.493,-278.736"/>
|
||||
<polygon fill="black" stroke="black" points="441.517,-280.604 449.203,-287.896 447.742,-277.402 441.517,-280.604"/>
|
||||
<g id="edge16" class="edge"><title>RyanteckRobot->Robot</title>
|
||||
<path fill="none" stroke="black" d="M406.149,-180C382.707,-180 353.867,-180 331.439,-180"/>
|
||||
<polygon fill="black" stroke="black" points="331.313,-176.5 321.313,-180 331.313,-183.5 331.313,-176.5"/>
|
||||
</g>
|
||||
<!-- CamJamKitRobot -->
|
||||
<g id="node17" class="node"><title>CamJamKitRobot</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="579,-252 483,-252 483,-216 579,-216 579,-252"/>
|
||||
<text text-anchor="middle" x="531" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">CamJamKitRobot</text>
|
||||
<g id="node18" class="node"><title>CamJamKitRobot</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="497.5,-144 401.5,-144 401.5,-108 497.5,-108 497.5,-144"/>
|
||||
<text text-anchor="middle" x="449.5" y="-123.5" font-family="Sans" font-size="10.00" fill="#ffffff">CamJamKitRobot</text>
|
||||
</g>
|
||||
<!-- CamJamKitRobot->Robot -->
|
||||
<g id="edge16" class="edge"><title>CamJamKitRobot->Robot</title>
|
||||
<path fill="none" stroke="black" d="M512.955,-252.303C503.938,-260.95 492.882,-271.551 483.057,-280.973"/>
|
||||
<polygon fill="black" stroke="black" points="480.633,-278.448 475.837,-287.896 485.478,-283.501 480.633,-278.448"/>
|
||||
<g id="edge17" class="edge"><title>CamJamKitRobot->Robot</title>
|
||||
<path fill="none" stroke="black" d="M401.192,-142.642C378.531,-150.615 351.832,-160.007 330.875,-167.379"/>
|
||||
<polygon fill="black" stroke="black" points="329.661,-164.096 321.389,-170.717 331.984,-170.7 329.661,-164.096"/>
|
||||
</g>
|
||||
<!-- Motor -->
|
||||
<g id="node18" class="node"><title>Motor</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="557,-324 503,-324 503,-288 557,-288 557,-324"/>
|
||||
<text text-anchor="middle" x="530" y="-303.5" font-family="Sans" font-size="10.00" fill="#ffffff">Motor</text>
|
||||
<g id="node19" class="node"><title>Motor</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="321,-144 267,-144 267,-108 321,-108 321,-144"/>
|
||||
<text text-anchor="middle" x="294" y="-123.5" font-family="Sans" font-size="10.00" fill="#ffffff">Motor</text>
|
||||
</g>
|
||||
<!-- Motor->CompositeDevice -->
|
||||
<g id="edge17" class="edge"><title>Motor->CompositeDevice</title>
|
||||
<path fill="none" stroke="black" d="M530,-324.303C530,-332.017 530,-341.288 530,-349.888"/>
|
||||
<polygon fill="black" stroke="black" points="526.5,-349.896 530,-359.896 533.5,-349.896 526.5,-349.896"/>
|
||||
<g id="edge18" class="edge"><title>Motor->CompositeDevice</title>
|
||||
<path fill="none" stroke="black" d="M266.956,-126C248.908,-126 224.12,-126 201.342,-126"/>
|
||||
<polygon fill="black" stroke="black" points="201.049,-122.5 191.049,-126 201.049,-129.5 201.049,-122.5"/>
|
||||
</g>
|
||||
<!-- Servo -->
|
||||
<g id="node19" class="node"><title>Servo</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="629,-324 575,-324 575,-288 629,-288 629,-324"/>
|
||||
<text text-anchor="middle" x="602" y="-303.5" font-family="Sans" font-size="10.00" fill="#ffffff">Servo</text>
|
||||
<g id="node20" class="node"><title>Servo</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="321,-90 267,-90 267,-54 321,-54 321,-90"/>
|
||||
<text text-anchor="middle" x="294" y="-69.5" font-family="Sans" font-size="10.00" fill="#ffffff">Servo</text>
|
||||
</g>
|
||||
<!-- Servo->CompositeDevice -->
|
||||
<g id="edge18" class="edge"><title>Servo->CompositeDevice</title>
|
||||
<path fill="none" stroke="black" d="M584.202,-324.303C575.396,-332.865 564.618,-343.344 554.999,-352.696"/>
|
||||
<polygon fill="black" stroke="black" points="552.323,-350.415 547.593,-359.896 557.203,-355.434 552.323,-350.415"/>
|
||||
<g id="edge19" class="edge"><title>Servo->CompositeDevice</title>
|
||||
<path fill="none" stroke="black" d="M266.956,-81.2829C248.746,-87.7738 223.673,-96.7105 200.727,-104.889"/>
|
||||
<polygon fill="black" stroke="black" points="199.294,-101.684 191.049,-108.339 201.644,-108.278 199.294,-101.684"/>
|
||||
</g>
|
||||
<!-- AngularServo -->
|
||||
<g id="node20" class="node"><title>AngularServo</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="678.5,-252 597.5,-252 597.5,-216 678.5,-216 678.5,-252"/>
|
||||
<text text-anchor="middle" x="638" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">AngularServo</text>
|
||||
<g id="node21" class="node"><title>AngularServo</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="490,-90 409,-90 409,-54 490,-54 490,-90"/>
|
||||
<text text-anchor="middle" x="449.5" y="-69.5" font-family="Sans" font-size="10.00" fill="#ffffff">AngularServo</text>
|
||||
</g>
|
||||
<!-- AngularServo->Servo -->
|
||||
<g id="edge19" class="edge"><title>AngularServo->Servo</title>
|
||||
<path fill="none" stroke="black" d="M629.101,-252.303C625.003,-260.272 620.051,-269.9 615.507,-278.736"/>
|
||||
<polygon fill="black" stroke="black" points="612.258,-277.402 610.797,-287.896 618.483,-280.604 612.258,-277.402"/>
|
||||
<g id="edge20" class="edge"><title>AngularServo->Servo</title>
|
||||
<path fill="none" stroke="black" d="M408.97,-72C385.09,-72 354.867,-72 331.545,-72"/>
|
||||
<polygon fill="black" stroke="black" points="331.363,-68.5001 321.363,-72 331.363,-75.5001 331.363,-68.5001"/>
|
||||
</g>
|
||||
<!-- Energenie -->
|
||||
<g id="node21" class="node"><title>Energenie</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="663.5,-396 598.5,-396 598.5,-360 663.5,-360 663.5,-396"/>
|
||||
<text text-anchor="middle" x="631" y="-375.5" font-family="Sans" font-size="10.00" fill="#ffffff">Energenie</text>
|
||||
<g id="node22" class="node"><title>Energenie</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="173,-90 108,-90 108,-54 173,-54 173,-90"/>
|
||||
<text text-anchor="middle" x="140.5" y="-69.5" font-family="Sans" font-size="10.00" fill="#ffffff">Energenie</text>
|
||||
</g>
|
||||
<!-- Energenie->Device -->
|
||||
<g id="edge20" class="edge"><title>Energenie->Device</title>
|
||||
<path fill="none" stroke="black" d="M618.393,-396.303C612.403,-404.526 605.124,-414.517 598.521,-423.579"/>
|
||||
<polygon fill="black" stroke="black" points="595.522,-421.752 592.462,-431.896 601.179,-425.874 595.522,-421.752"/>
|
||||
<g id="edge21" class="edge"><title>Energenie->Device</title>
|
||||
<path fill="none" stroke="black" d="M107.847,-79.6649C94.1694,-82.9769 78.0958,-86.8692 63.9692,-90.29"/>
|
||||
<polygon fill="black" stroke="black" points="62.9844,-86.9272 54.089,-92.6825 64.6319,-93.7306 62.9844,-86.9272"/>
|
||||
</g>
|
||||
<!-- ButtonBoard -->
|
||||
<g id="node22" class="node"><title>ButtonBoard</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="724.5,-324 647.5,-324 647.5,-288 724.5,-288 724.5,-324"/>
|
||||
<text text-anchor="middle" x="686" y="-303.5" font-family="Sans" font-size="10.00" fill="#ffffff">ButtonBoard</text>
|
||||
<g id="node23" class="node"><title>ButtonBoard</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="332.5,-36 255.5,-36 255.5,-0 332.5,-0 332.5,-36"/>
|
||||
<text text-anchor="middle" x="294" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">ButtonBoard</text>
|
||||
</g>
|
||||
<!-- ButtonBoard->CompositeDevice -->
|
||||
<g id="edge21" class="edge"><title>ButtonBoard->CompositeDevice</title>
|
||||
<path fill="none" stroke="black" d="M647.838,-324.124C626.607,-333.651 599.992,-345.593 577.431,-355.717"/>
|
||||
<polygon fill="black" stroke="black" points="575.729,-352.644 568.038,-359.932 578.594,-359.031 575.729,-352.644"/>
|
||||
<g id="edge22" class="edge"><title>ButtonBoard->CompositeDevice</title>
|
||||
<path fill="none" stroke="black" d="M255.244,-28.9887C245.394,-33.0006 235.241,-38.2594 227,-45 204.672,-63.2615 212.28,-79.5278 191,-99 189.894,-100.012 188.744,-100.999 187.557,-101.962"/>
|
||||
<polygon fill="black" stroke="black" points="185.354,-99.2363 179.313,-107.94 189.463,-104.903 185.354,-99.2363"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 15 KiB |
@@ -1,7 +1,7 @@
|
||||
/* vim: set et sw=4 sts=4: */
|
||||
|
||||
digraph classes {
|
||||
graph [rankdir=BT];
|
||||
graph [rankdir=RL];
|
||||
node [shape=rect, style=filled, fontname=Sans, fontsize=10];
|
||||
edge [];
|
||||
|
||||
@@ -60,11 +60,21 @@ digraph classes {
|
||||
SPIDevice->Device;
|
||||
AnalogInputDevice->SPIDevice;
|
||||
MCP3xxx->AnalogInputDevice;
|
||||
MCP30xx->MCP3xxx;
|
||||
MCP32xx->MCP3xxx;
|
||||
MCP33xx->MCP3xxx;
|
||||
MCP3004->MCP3xxx;
|
||||
MCP3008->MCP3xxx;
|
||||
MCP3204->MCP3xxx;
|
||||
MCP3208->MCP3xxx;
|
||||
MCP3xx2->MCP3xxx;
|
||||
|
||||
MCP3001->MCP30xx;
|
||||
MCP3002->MCP30xx;
|
||||
MCP3004->MCP30xx;
|
||||
MCP3008->MCP30xx;
|
||||
MCP3201->MCP32xx;
|
||||
MCP3202->MCP32xx;
|
||||
MCP3204->MCP32xx;
|
||||
MCP3208->MCP32xx;
|
||||
MCP3002->MCP3xx2;
|
||||
MCP3202->MCP3xx2;
|
||||
MCP3301->MCP33xx;
|
||||
MCP3302->MCP33xx;
|
||||
MCP3304->MCP33xx;
|
||||
@@ -75,10 +85,15 @@ digraph classes {
|
||||
LEDCollection->CompositeOutputDevice;
|
||||
LEDBoard->LEDCollection;
|
||||
LEDBarGraph->LEDCollection;
|
||||
LedBorg->RGBLED;
|
||||
ButtonBoard->CompositeDevice;
|
||||
ButtonBoard->HoldMixin;
|
||||
PiLiter->LEDBoard;
|
||||
PiLiterBarGraph->LEDBarGraph;
|
||||
TrafficLights->LEDBoard;
|
||||
SnowPi->LEDBoard;
|
||||
PiTraffic->TrafficLights;
|
||||
PiStop->TrafficLights;
|
||||
TrafficLightsBuzzer->CompositeOutputDevice;
|
||||
FishDish->TrafficLightsBuzzer;
|
||||
TrafficHat->TrafficLightsBuzzer;
|
||||
@@ -90,10 +105,14 @@ digraph classes {
|
||||
CamJamKitRobot->Robot;
|
||||
Motor->CompositeDevice;
|
||||
Motor->SourceMixin;
|
||||
Servo->CompositeDevice;
|
||||
Servo->SourceMixin;
|
||||
AngularServo->Servo;
|
||||
|
||||
InternalDevice->Device;
|
||||
InternalDevice->EventsMixin;
|
||||
TimeOfDay->InternalDevice;
|
||||
PingServer->InternalDevice;
|
||||
CPUTemperature->InternalDevice;
|
||||
}
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 164 KiB After Width: | Height: | Size: 247 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 46 KiB |
@@ -1,7 +1,7 @@
|
||||
/* vim: set et sw=4 sts=4: */
|
||||
|
||||
digraph classes {
|
||||
graph [rankdir=BT];
|
||||
graph [rankdir=RL];
|
||||
node [shape=rect, style=filled, fontname=Sans, fontsize=10];
|
||||
edge [];
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
@@ -1,108 +1,108 @@
|
||||
<?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 2.36.0 (20140111.2315)
|
||||
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
|
||||
-->
|
||||
<!-- Title: classes Pages: 1 -->
|
||||
<svg width="453pt" height="332pt"
|
||||
viewBox="0.00 0.00 453.00 332.00" 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 328)">
|
||||
<svg width="566pt" height="260pt"
|
||||
viewBox="0.00 0.00 566.00 260.00" 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 256)">
|
||||
<title>classes</title>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-328 449,-328 449,4 -4,4"/>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-256 562,-256 562,4 -4,4"/>
|
||||
<!-- Device -->
|
||||
<g id="node1" class="node"><title>Device</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="335,-324 281,-324 281,-288 335,-288 335,-324"/>
|
||||
<text text-anchor="middle" x="308" y="-303.5" font-family="Sans" font-size="10.00" fill="#000000">Device</text>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="54,-103 0,-103 0,-67 54,-67 54,-103"/>
|
||||
<text text-anchor="middle" x="27" y="-82.5" font-family="Sans" font-size="10.00" fill="#000000">Device</text>
|
||||
</g>
|
||||
<!-- GPIODevice -->
|
||||
<g id="node2" class="node"><title>GPIODevice</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="344,-252 272,-252 272,-216 344,-216 344,-252"/>
|
||||
<text text-anchor="middle" x="308" y="-231.5" font-family="Sans" font-size="10.00" fill="#000000">GPIODevice</text>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="162,-103 90,-103 90,-67 162,-67 162,-103"/>
|
||||
<text text-anchor="middle" x="126" y="-82.5" font-family="Sans" font-size="10.00" fill="#000000">GPIODevice</text>
|
||||
</g>
|
||||
<!-- GPIODevice->Device -->
|
||||
<g id="edge1" class="edge"><title>GPIODevice->Device</title>
|
||||
<path fill="none" stroke="black" d="M308,-252.303C308,-260.017 308,-269.288 308,-277.888"/>
|
||||
<polygon fill="black" stroke="black" points="304.5,-277.896 308,-287.896 311.5,-277.896 304.5,-277.896"/>
|
||||
<path fill="none" stroke="black" d="M89.9808,-85C81.6627,-85 72.77,-85 64.3922,-85"/>
|
||||
<polygon fill="black" stroke="black" points="64.1378,-81.5001 54.1378,-85 64.1377,-88.5001 64.1378,-81.5001"/>
|
||||
</g>
|
||||
<!-- SmoothedInputDevice -->
|
||||
<g id="node3" class="node"><title>SmoothedInputDevice</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="289.5,-108 166.5,-108 166.5,-72 289.5,-72 289.5,-108"/>
|
||||
<text text-anchor="middle" x="228" y="-87.5" font-family="Sans" font-size="10.00" fill="#000000">SmoothedInputDevice</text>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="430,-144 307,-144 307,-108 430,-108 430,-144"/>
|
||||
<text text-anchor="middle" x="368.5" y="-123.5" font-family="Sans" font-size="10.00" fill="#000000">SmoothedInputDevice</text>
|
||||
</g>
|
||||
<!-- InputDevice -->
|
||||
<g id="node4" class="node"><title>InputDevice</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="344.5,-180 271.5,-180 271.5,-144 344.5,-144 344.5,-180"/>
|
||||
<text text-anchor="middle" x="308" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">InputDevice</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="271,-103 198,-103 198,-67 271,-67 271,-103"/>
|
||||
<text text-anchor="middle" x="234.5" y="-82.5" font-family="Sans" font-size="10.00" fill="#ffffff">InputDevice</text>
|
||||
</g>
|
||||
<!-- SmoothedInputDevice->InputDevice -->
|
||||
<g id="edge4" class="edge"><title>SmoothedInputDevice->InputDevice</title>
|
||||
<path fill="none" stroke="black" d="M247.775,-108.303C257.754,-117.035 270.011,-127.76 280.857,-137.25"/>
|
||||
<polygon fill="black" stroke="black" points="278.622,-139.945 288.452,-143.896 283.231,-134.677 278.622,-139.945"/>
|
||||
<path fill="none" stroke="black" d="M309.219,-107.897C299.683,-104.936 289.93,-101.906 280.77,-99.0612"/>
|
||||
<polygon fill="black" stroke="black" points="281.69,-95.6819 271.102,-96.0581 279.613,-102.367 281.69,-95.6819"/>
|
||||
</g>
|
||||
<!-- InputDevice->GPIODevice -->
|
||||
<g id="edge2" class="edge"><title>InputDevice->GPIODevice</title>
|
||||
<path fill="none" stroke="black" d="M308,-180.303C308,-188.017 308,-197.288 308,-205.888"/>
|
||||
<polygon fill="black" stroke="black" points="304.5,-205.896 308,-215.896 311.5,-205.896 304.5,-205.896"/>
|
||||
<path fill="none" stroke="black" d="M197.741,-85C189.578,-85 180.799,-85 172.296,-85"/>
|
||||
<polygon fill="black" stroke="black" points="172.122,-81.5001 162.122,-85 172.122,-88.5001 172.122,-81.5001"/>
|
||||
</g>
|
||||
<!-- DigitalInputDevice -->
|
||||
<g id="node5" class="node"><title>DigitalInputDevice</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="439.5,-108 336.5,-108 336.5,-72 439.5,-72 439.5,-108"/>
|
||||
<text text-anchor="middle" x="388" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">DigitalInputDevice</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="420,-63 317,-63 317,-27 420,-27 420,-63"/>
|
||||
<text text-anchor="middle" x="368.5" y="-42.5" font-family="Sans" font-size="10.00" fill="#ffffff">DigitalInputDevice</text>
|
||||
</g>
|
||||
<!-- DigitalInputDevice->InputDevice -->
|
||||
<g id="edge3" class="edge"><title>DigitalInputDevice->InputDevice</title>
|
||||
<path fill="none" stroke="black" d="M368.225,-108.303C358.246,-117.035 345.989,-127.76 335.143,-137.25"/>
|
||||
<polygon fill="black" stroke="black" points="332.769,-134.677 327.548,-143.896 337.378,-139.945 332.769,-134.677"/>
|
||||
<path fill="none" stroke="black" d="M316.843,-60.3506C305.034,-63.9291 292.532,-67.7177 280.964,-71.2231"/>
|
||||
<polygon fill="black" stroke="black" points="279.635,-67.9685 271.08,-74.2182 281.665,-74.6677 279.635,-67.9685"/>
|
||||
</g>
|
||||
<!-- Button -->
|
||||
<g id="node6" class="node"><title>Button</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="445,-36 391,-36 391,-0 445,-0 445,-36"/>
|
||||
<text text-anchor="middle" x="418" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">Button</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="539,-36 485,-36 485,-0 539,-0 539,-36"/>
|
||||
<text text-anchor="middle" x="512" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">Button</text>
|
||||
</g>
|
||||
<!-- Button->DigitalInputDevice -->
|
||||
<g id="edge5" class="edge"><title>Button->DigitalInputDevice</title>
|
||||
<path fill="none" stroke="black" d="M410.584,-36.3034C407.206,-44.1868 403.13,-53.6958 399.377,-62.4536"/>
|
||||
<polygon fill="black" stroke="black" points="396.053,-61.3255 395.33,-71.8957 402.487,-64.0829 396.053,-61.3255"/>
|
||||
<path fill="none" stroke="black" d="M484.717,-23.0152C469.335,-25.9502 449.238,-29.785 430.144,-33.4284"/>
|
||||
<polygon fill="black" stroke="black" points="429.447,-29.9981 420.28,-35.3105 430.759,-36.8741 429.447,-29.9981"/>
|
||||
</g>
|
||||
<!-- MotionSensor -->
|
||||
<g id="node7" class="node"><title>MotionSensor</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="82.5,-36 -0.5,-36 -0.5,-0 82.5,-0 82.5,-36"/>
|
||||
<text text-anchor="middle" x="41" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">MotionSensor</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="553.5,-252 470.5,-252 470.5,-216 553.5,-216 553.5,-252"/>
|
||||
<text text-anchor="middle" x="512" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">MotionSensor</text>
|
||||
</g>
|
||||
<!-- MotionSensor->SmoothedInputDevice -->
|
||||
<g id="edge6" class="edge"><title>MotionSensor->SmoothedInputDevice</title>
|
||||
<path fill="none" stroke="black" d="M82.5014,-34.5353C109.086,-44.4869 143.895,-57.5168 172.8,-68.3368"/>
|
||||
<polygon fill="black" stroke="black" points="171.763,-71.6859 182.356,-71.9139 174.217,-65.1302 171.763,-71.6859"/>
|
||||
<path fill="none" stroke="black" d="M479.125,-215.734C474.645,-212.92 470.154,-209.962 466,-207 441.533,-189.557 415.537,-167.509 396.698,-150.822"/>
|
||||
<polygon fill="black" stroke="black" points="398.878,-148.077 389.088,-144.028 394.216,-153.299 398.878,-148.077"/>
|
||||
</g>
|
||||
<!-- LightSensor -->
|
||||
<g id="node8" class="node"><title>LightSensor</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="175,-36 101,-36 101,-0 175,-0 175,-36"/>
|
||||
<text text-anchor="middle" x="138" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">LightSensor</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="549,-198 475,-198 475,-162 549,-162 549,-198"/>
|
||||
<text text-anchor="middle" x="512" y="-177.5" font-family="Sans" font-size="10.00" fill="#ffffff">LightSensor</text>
|
||||
</g>
|
||||
<!-- LightSensor->SmoothedInputDevice -->
|
||||
<g id="edge7" class="edge"><title>LightSensor->SmoothedInputDevice</title>
|
||||
<path fill="none" stroke="black" d="M160.247,-36.3034C171.582,-45.1193 185.53,-55.9679 197.819,-65.5258"/>
|
||||
<polygon fill="black" stroke="black" points="195.966,-68.519 206.009,-71.8957 200.264,-62.9935 195.966,-68.519"/>
|
||||
<path fill="none" stroke="black" d="M474.927,-166.234C460.143,-160.592 442.674,-153.925 426.253,-147.659"/>
|
||||
<polygon fill="black" stroke="black" points="427.325,-144.321 416.734,-144.026 424.829,-150.861 427.325,-144.321"/>
|
||||
</g>
|
||||
<!-- LineSensor -->
|
||||
<g id="node9" class="node"><title>LineSensor</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="263,-36 193,-36 193,-0 263,-0 263,-36"/>
|
||||
<text text-anchor="middle" x="228" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">LineSensor</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="547,-144 477,-144 477,-108 547,-108 547,-144"/>
|
||||
<text text-anchor="middle" x="512" y="-123.5" font-family="Sans" font-size="10.00" fill="#ffffff">LineSensor</text>
|
||||
</g>
|
||||
<!-- LineSensor->SmoothedInputDevice -->
|
||||
<g id="edge8" class="edge"><title>LineSensor->SmoothedInputDevice</title>
|
||||
<path fill="none" stroke="black" d="M228,-36.3034C228,-44.0173 228,-53.2875 228,-61.8876"/>
|
||||
<polygon fill="black" stroke="black" points="224.5,-61.8956 228,-71.8957 231.5,-61.8957 224.5,-61.8956"/>
|
||||
<path fill="none" stroke="black" d="M476.747,-126C465.711,-126 453.043,-126 440.37,-126"/>
|
||||
<polygon fill="black" stroke="black" points="440.237,-122.5 430.237,-126 440.237,-129.5 440.237,-122.5"/>
|
||||
</g>
|
||||
<!-- DistanceSensor -->
|
||||
<g id="node10" class="node"><title>DistanceSensor</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="373,-36 281,-36 281,-0 373,-0 373,-36"/>
|
||||
<text text-anchor="middle" x="327" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">DistanceSensor</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="558,-90 466,-90 466,-54 558,-54 558,-90"/>
|
||||
<text text-anchor="middle" x="512" y="-69.5" font-family="Sans" font-size="10.00" fill="#ffffff">DistanceSensor</text>
|
||||
</g>
|
||||
<!-- DistanceSensor->SmoothedInputDevice -->
|
||||
<g id="edge9" class="edge"><title>DistanceSensor->SmoothedInputDevice</title>
|
||||
<path fill="none" stroke="black" d="M302.782,-36.1239C290.077,-45.1069 274.336,-56.2375 260.577,-65.9659"/>
|
||||
<polygon fill="black" stroke="black" points="258.456,-63.1791 252.311,-71.8102 262.497,-68.8947 258.456,-63.1791"/>
|
||||
<path fill="none" stroke="black" d="M465.839,-89.2344C453.213,-94.0529 439.33,-99.351 426.131,-104.388"/>
|
||||
<polygon fill="black" stroke="black" points="424.763,-101.164 416.668,-107.999 427.259,-107.704 424.763,-101.164"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 6.5 KiB |
@@ -1,7 +1,7 @@
|
||||
/* vim: set et sw=4 sts=4: */
|
||||
|
||||
digraph classes {
|
||||
graph [rankdir=BT];
|
||||
graph [rankdir=RL];
|
||||
node [shape=rect, style=filled, fontname=Sans, fontsize=10];
|
||||
edge [];
|
||||
|
||||
@@ -16,4 +16,5 @@ digraph classes {
|
||||
InternalDevice->Device;
|
||||
TimeOfDay->InternalDevice;
|
||||
PingServer->InternalDevice;
|
||||
CPUTemperature->InternalDevice;
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 11 KiB |
@@ -1,48 +1,58 @@
|
||||
<?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 2.36.0 (20140111.2315)
|
||||
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
|
||||
-->
|
||||
<!-- Title: classes Pages: 1 -->
|
||||
<svg width="163pt" height="188pt"
|
||||
viewBox="0.00 0.00 163.00 188.00" 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 184)">
|
||||
<svg width="317pt" height="152pt"
|
||||
viewBox="0.00 0.00 317.00 152.00" 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 148)">
|
||||
<title>classes</title>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-184 159,-184 159,4 -4,4"/>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-148 313,-148 313,4 -4,4"/>
|
||||
<!-- Device -->
|
||||
<g id="node1" class="node"><title>Device</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="104,-180 50,-180 50,-144 104,-144 104,-180"/>
|
||||
<text text-anchor="middle" x="77" y="-159.5" font-family="Sans" font-size="10.00" fill="#000000">Device</text>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="54,-90 0,-90 0,-54 54,-54 54,-90"/>
|
||||
<text text-anchor="middle" x="27" y="-69.5" font-family="Sans" font-size="10.00" fill="#000000">Device</text>
|
||||
</g>
|
||||
<!-- InternalDevice -->
|
||||
<g id="node2" class="node"><title>InternalDevice</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="119.5,-108 34.5,-108 34.5,-72 119.5,-72 119.5,-108"/>
|
||||
<text text-anchor="middle" x="77" y="-87.5" font-family="Sans" font-size="10.00" fill="#000000">InternalDevice</text>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="175,-90 90,-90 90,-54 175,-54 175,-90"/>
|
||||
<text text-anchor="middle" x="132.5" y="-69.5" font-family="Sans" font-size="10.00" fill="#000000">InternalDevice</text>
|
||||
</g>
|
||||
<!-- InternalDevice->Device -->
|
||||
<g id="edge1" class="edge"><title>InternalDevice->Device</title>
|
||||
<path fill="none" stroke="black" d="M77,-108.303C77,-116.017 77,-125.288 77,-133.888"/>
|
||||
<polygon fill="black" stroke="black" points="73.5001,-133.896 77,-143.896 80.5001,-133.896 73.5001,-133.896"/>
|
||||
<path fill="none" stroke="black" d="M89.999,-72C81.4576,-72 72.5283,-72 64.1926,-72"/>
|
||||
<polygon fill="black" stroke="black" points="64.0256,-68.5001 54.0256,-72 64.0255,-75.5001 64.0256,-68.5001"/>
|
||||
</g>
|
||||
<!-- TimeOfDay -->
|
||||
<g id="node3" class="node"><title>TimeOfDay</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="68.5,-36 -0.5,-36 -0.5,-0 68.5,-0 68.5,-36"/>
|
||||
<text text-anchor="middle" x="34" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">TimeOfDay</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="294.5,-144 225.5,-144 225.5,-108 294.5,-108 294.5,-144"/>
|
||||
<text text-anchor="middle" x="260" y="-123.5" font-family="Sans" font-size="10.00" fill="#ffffff">TimeOfDay</text>
|
||||
</g>
|
||||
<!-- TimeOfDay->InternalDevice -->
|
||||
<g id="edge2" class="edge"><title>TimeOfDay->InternalDevice</title>
|
||||
<path fill="none" stroke="black" d="M44.6292,-36.3034C49.6281,-44.4411 55.691,-54.311 61.2121,-63.2987"/>
|
||||
<polygon fill="black" stroke="black" points="58.2766,-65.2069 66.4931,-71.8957 64.2411,-61.5429 58.2766,-65.2069"/>
|
||||
<path fill="none" stroke="black" d="M225.368,-111.529C212.862,-106.148 198.372,-99.9132 184.65,-94.0087"/>
|
||||
<polygon fill="black" stroke="black" points="185.875,-90.7257 175.306,-89.9883 183.108,-97.1558 185.875,-90.7257"/>
|
||||
</g>
|
||||
<!-- PingServer -->
|
||||
<g id="node4" class="node"><title>PingServer</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="155,-36 87,-36 87,-0 155,-0 155,-36"/>
|
||||
<text text-anchor="middle" x="121" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">PingServer</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="294,-90 226,-90 226,-54 294,-54 294,-90"/>
|
||||
<text text-anchor="middle" x="260" y="-69.5" font-family="Sans" font-size="10.00" fill="#ffffff">PingServer</text>
|
||||
</g>
|
||||
<!-- PingServer->InternalDevice -->
|
||||
<g id="edge3" class="edge"><title>PingServer->InternalDevice</title>
|
||||
<path fill="none" stroke="black" d="M110.124,-36.3034C105.008,-44.4411 98.8045,-54.311 93.1551,-63.2987"/>
|
||||
<polygon fill="black" stroke="black" points="90.1098,-61.5667 87.7513,-71.8957 96.0363,-65.2919 90.1098,-61.5667"/>
|
||||
<path fill="none" stroke="black" d="M225.698,-72C213.314,-72 198.952,-72 185.303,-72"/>
|
||||
<polygon fill="black" stroke="black" points="185.049,-68.5001 175.049,-72 185.049,-75.5001 185.049,-68.5001"/>
|
||||
</g>
|
||||
<!-- CPUTemperature -->
|
||||
<g id="node5" class="node"><title>CPUTemperature</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="309,-36 211,-36 211,-0 309,-0 309,-36"/>
|
||||
<text text-anchor="middle" x="260" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">CPUTemperature</text>
|
||||
</g>
|
||||
<!-- CPUTemperature->InternalDevice -->
|
||||
<g id="edge4" class="edge"><title>CPUTemperature->InternalDevice</title>
|
||||
<path fill="none" stroke="black" d="M216.861,-36.1314C206.507,-40.5867 195.31,-45.4043 184.585,-50.0191"/>
|
||||
<polygon fill="black" stroke="black" points="183.117,-46.8407 175.314,-54.0082 185.883,-53.2707 183.117,-46.8407"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 3.3 KiB |
@@ -1,7 +1,7 @@
|
||||
/* vim: set et sw=4 sts=4: */
|
||||
|
||||
digraph classes {
|
||||
graph [rankdir=BT];
|
||||
graph [rankdir=RL];
|
||||
node [shape=rect, style=filled, fontname=Sans, fontsize=10];
|
||||
edge [];
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 21 KiB |
@@ -1,108 +1,108 @@
|
||||
<?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 2.36.0 (20140111.2315)
|
||||
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
|
||||
-->
|
||||
<!-- Title: classes Pages: 1 -->
|
||||
<svg width="259pt" height="332pt"
|
||||
viewBox="0.00 0.00 259.00 332.00" 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 328)">
|
||||
<svg width="530pt" height="179pt"
|
||||
viewBox="0.00 0.00 530.00 179.00" 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 175)">
|
||||
<title>classes</title>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-328 255,-328 255,4 -4,4"/>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-175 526,-175 526,4 -4,4"/>
|
||||
<!-- Device -->
|
||||
<g id="node1" class="node"><title>Device</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="206,-324 152,-324 152,-288 206,-288 206,-324"/>
|
||||
<text text-anchor="middle" x="179" y="-303.5" font-family="Sans" font-size="10.00" fill="#000000">Device</text>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="54,-63 0,-63 0,-27 54,-27 54,-63"/>
|
||||
<text text-anchor="middle" x="27" y="-42.5" font-family="Sans" font-size="10.00" fill="#000000">Device</text>
|
||||
</g>
|
||||
<!-- GPIODevice -->
|
||||
<g id="node2" class="node"><title>GPIODevice</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="173,-252 101,-252 101,-216 173,-216 173,-252"/>
|
||||
<text text-anchor="middle" x="137" y="-231.5" font-family="Sans" font-size="10.00" fill="#000000">GPIODevice</text>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="162,-90 90,-90 90,-54 162,-54 162,-90"/>
|
||||
<text text-anchor="middle" x="126" y="-69.5" font-family="Sans" font-size="10.00" fill="#000000">GPIODevice</text>
|
||||
</g>
|
||||
<!-- GPIODevice->Device -->
|
||||
<g id="edge1" class="edge"><title>GPIODevice->Device</title>
|
||||
<path fill="none" stroke="black" d="M147.382,-252.303C152.265,-260.441 158.187,-270.311 163.579,-279.299"/>
|
||||
<polygon fill="black" stroke="black" points="160.591,-281.121 168.737,-287.896 166.594,-277.52 160.591,-281.121"/>
|
||||
<path fill="none" stroke="black" d="M89.9808,-62.2524C81.4779,-59.8856 72.3745,-57.3517 63.8345,-54.9745"/>
|
||||
<polygon fill="black" stroke="black" points="64.7101,-51.5853 54.1378,-52.2755 62.833,-58.3289 64.7101,-51.5853"/>
|
||||
</g>
|
||||
<!-- OutputDevice -->
|
||||
<g id="node3" class="node"><title>OutputDevice</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="177,-180 95,-180 95,-144 177,-144 177,-180"/>
|
||||
<text text-anchor="middle" x="136" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">OutputDevice</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="280,-90 198,-90 198,-54 280,-54 280,-90"/>
|
||||
<text text-anchor="middle" x="239" y="-69.5" font-family="Sans" font-size="10.00" fill="#ffffff">OutputDevice</text>
|
||||
</g>
|
||||
<!-- OutputDevice->GPIODevice -->
|
||||
<g id="edge2" class="edge"><title>OutputDevice->GPIODevice</title>
|
||||
<path fill="none" stroke="black" d="M136.247,-180.303C136.357,-188.017 136.49,-197.288 136.613,-205.888"/>
|
||||
<polygon fill="black" stroke="black" points="133.113,-205.947 136.756,-215.896 140.112,-205.847 133.113,-205.947"/>
|
||||
<path fill="none" stroke="black" d="M197.926,-72C189.627,-72 180.827,-72 172.353,-72"/>
|
||||
<polygon fill="black" stroke="black" points="172.235,-68.5001 162.235,-72 172.235,-75.5001 172.235,-68.5001"/>
|
||||
</g>
|
||||
<!-- DigitalOutputDevice -->
|
||||
<g id="node4" class="node"><title>DigitalOutputDevice</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="129,-108 17,-108 17,-72 129,-72 129,-108"/>
|
||||
<text text-anchor="middle" x="73" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">DigitalOutputDevice</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="428,-117 316,-117 316,-81 428,-81 428,-117"/>
|
||||
<text text-anchor="middle" x="372" y="-96.5" font-family="Sans" font-size="10.00" fill="#ffffff">DigitalOutputDevice</text>
|
||||
</g>
|
||||
<!-- DigitalOutputDevice->OutputDevice -->
|
||||
<g id="edge3" class="edge"><title>DigitalOutputDevice->OutputDevice</title>
|
||||
<path fill="none" stroke="black" d="M88.573,-108.303C96.2022,-116.78 105.523,-127.136 113.876,-136.417"/>
|
||||
<polygon fill="black" stroke="black" points="111.315,-138.804 120.606,-143.896 116.518,-134.121 111.315,-138.804"/>
|
||||
<path fill="none" stroke="black" d="M315.824,-87.6278C307.373,-85.886 298.687,-84.0957 290.347,-82.3769"/>
|
||||
<polygon fill="black" stroke="black" points="290.886,-78.9146 280.386,-80.3238 289.473,-85.7705 290.886,-78.9146"/>
|
||||
</g>
|
||||
<!-- LED -->
|
||||
<g id="node5" class="node"><title>LED</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="54,-36 0,-36 0,-0 54,-0 54,-36"/>
|
||||
<text text-anchor="middle" x="27" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">LED</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="520,-171 466,-171 466,-135 520,-135 520,-171"/>
|
||||
<text text-anchor="middle" x="493" y="-150.5" font-family="Sans" font-size="10.00" fill="#ffffff">LED</text>
|
||||
</g>
|
||||
<!-- LED->DigitalOutputDevice -->
|
||||
<g id="edge4" class="edge"><title>LED->DigitalOutputDevice</title>
|
||||
<path fill="none" stroke="black" d="M38.3708,-36.3034C43.7185,-44.4411 50.2043,-54.311 56.1106,-63.2987"/>
|
||||
<polygon fill="black" stroke="black" points="53.3432,-65.4607 61.76,-71.8957 59.1932,-61.6165 53.3432,-65.4607"/>
|
||||
<path fill="none" stroke="black" d="M465.885,-141.149C453.08,-135.339 437.226,-128.144 422.262,-121.354"/>
|
||||
<polygon fill="black" stroke="black" points="423.647,-118.139 413.095,-117.194 420.755,-124.514 423.647,-118.139"/>
|
||||
</g>
|
||||
<!-- Buzzer -->
|
||||
<g id="node6" class="node"><title>Buzzer</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="126,-36 72,-36 72,-0 126,-0 126,-36"/>
|
||||
<text text-anchor="middle" x="99" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">Buzzer</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="520,-117 466,-117 466,-81 520,-81 520,-117"/>
|
||||
<text text-anchor="middle" x="493" y="-96.5" font-family="Sans" font-size="10.00" fill="#ffffff">Buzzer</text>
|
||||
</g>
|
||||
<!-- Buzzer->DigitalOutputDevice -->
|
||||
<g id="edge5" class="edge"><title>Buzzer->DigitalOutputDevice</title>
|
||||
<path fill="none" stroke="black" d="M92.573,-36.3034C89.6449,-44.1868 86.113,-53.6958 82.8601,-62.4536"/>
|
||||
<polygon fill="black" stroke="black" points="79.554,-61.3027 79.353,-71.8957 86.116,-63.7401 79.554,-61.3027"/>
|
||||
<path fill="none" stroke="black" d="M465.885,-99C457.659,-99 448.174,-99 438.475,-99"/>
|
||||
<polygon fill="black" stroke="black" points="438.334,-95.5001 428.334,-99 438.334,-102.5 438.334,-95.5001"/>
|
||||
</g>
|
||||
<!-- PWMOutputDevice -->
|
||||
<g id="node7" class="node"><title>PWMOutputDevice</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="251,-108 147,-108 147,-72 251,-72 251,-108"/>
|
||||
<text text-anchor="middle" x="199" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">PWMOutputDevice</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="424,-63 320,-63 320,-27 424,-27 424,-63"/>
|
||||
<text text-anchor="middle" x="372" y="-42.5" font-family="Sans" font-size="10.00" fill="#ffffff">PWMOutputDevice</text>
|
||||
</g>
|
||||
<!-- PWMOutputDevice->OutputDevice -->
|
||||
<g id="edge6" class="edge"><title>PWMOutputDevice->OutputDevice</title>
|
||||
<path fill="none" stroke="black" d="M183.427,-108.303C175.798,-116.78 166.477,-127.136 158.124,-136.417"/>
|
||||
<polygon fill="black" stroke="black" points="155.482,-134.121 151.394,-143.896 160.685,-138.804 155.482,-134.121"/>
|
||||
<path fill="none" stroke="black" d="M319.977,-55.5162C310.166,-57.5383 299.899,-59.6544 290.117,-61.6705"/>
|
||||
<polygon fill="black" stroke="black" points="289.226,-58.2805 280.139,-63.7271 290.639,-65.1363 289.226,-58.2805"/>
|
||||
</g>
|
||||
<!-- PWMLED -->
|
||||
<g id="node8" class="node"><title>PWMLED</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="228,-36 170,-36 170,-0 228,-0 228,-36"/>
|
||||
<text text-anchor="middle" x="199" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">PWMLED</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="522,-63 464,-63 464,-27 522,-27 522,-63"/>
|
||||
<text text-anchor="middle" x="493" y="-42.5" font-family="Sans" font-size="10.00" fill="#ffffff">PWMLED</text>
|
||||
</g>
|
||||
<!-- PWMLED->PWMOutputDevice -->
|
||||
<g id="edge7" class="edge"><title>PWMLED->PWMOutputDevice</title>
|
||||
<path fill="none" stroke="black" d="M199,-36.3034C199,-44.0173 199,-53.2875 199,-61.8876"/>
|
||||
<polygon fill="black" stroke="black" points="195.5,-61.8956 199,-71.8957 202.5,-61.8957 195.5,-61.8956"/>
|
||||
<path fill="none" stroke="black" d="M463.799,-45C454.932,-45 444.77,-45 434.527,-45"/>
|
||||
<polygon fill="black" stroke="black" points="434.303,-41.5001 424.303,-45 434.303,-48.5001 434.303,-41.5001"/>
|
||||
</g>
|
||||
<!-- RGBLED -->
|
||||
<g id="node9" class="node"><title>RGBLED</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="249,-252 193,-252 193,-216 249,-216 249,-252"/>
|
||||
<text text-anchor="middle" x="221" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">RGBLED</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="154,-36 98,-36 98,-0 154,-0 154,-36"/>
|
||||
<text text-anchor="middle" x="126" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">RGBLED</text>
|
||||
</g>
|
||||
<!-- RGBLED->Device -->
|
||||
<g id="edge8" class="edge"><title>RGBLED->Device</title>
|
||||
<path fill="none" stroke="black" d="M210.618,-252.303C205.735,-260.441 199.813,-270.311 194.421,-279.299"/>
|
||||
<polygon fill="black" stroke="black" points="191.406,-277.52 189.263,-287.896 197.409,-281.121 191.406,-277.52"/>
|
||||
<path fill="none" stroke="black" d="M97.9801,-25.521C87.5078,-28.436 75.3612,-31.817 64.1562,-34.9359"/>
|
||||
<polygon fill="black" stroke="black" points="62.9008,-31.6522 54.2057,-37.7056 64.778,-38.3958 62.9008,-31.6522"/>
|
||||
</g>
|
||||
<!-- LedBorg -->
|
||||
<g id="node10" class="node"><title>LedBorg</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="251,-180 195,-180 195,-144 251,-144 251,-180"/>
|
||||
<text text-anchor="middle" x="223" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">LedBorg</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="267,-36 211,-36 211,-0 267,-0 267,-36"/>
|
||||
<text text-anchor="middle" x="239" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">LedBorg</text>
|
||||
</g>
|
||||
<!-- LedBorg->RGBLED -->
|
||||
<g id="edge9" class="edge"><title>LedBorg->RGBLED</title>
|
||||
<path fill="none" stroke="black" d="M222.506,-180.303C222.285,-188.017 222.02,-197.288 221.775,-205.888"/>
|
||||
<polygon fill="black" stroke="black" points="218.276,-205.8 221.489,-215.896 225.273,-206 218.276,-205.8"/>
|
||||
<path fill="none" stroke="black" d="M210.846,-18C196.871,-18 179.617,-18 164.401,-18"/>
|
||||
<polygon fill="black" stroke="black" points="164.258,-14.5001 154.258,-18 164.258,-21.5001 164.258,-14.5001"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 6.2 KiB |
@@ -1,5 +1,5 @@
|
||||
digraph classes {
|
||||
graph [rankdir=BT];
|
||||
graph [rankdir=RL];
|
||||
node [shape=rect, style=filled, fontname=Sans, fontsize=10];
|
||||
edge [];
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 53 KiB |
@@ -4,205 +4,205 @@
|
||||
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
|
||||
-->
|
||||
<!-- Title: classes Pages: 1 -->
|
||||
<svg width="870pt" height="404pt"
|
||||
viewBox="0.00 0.00 870.00 404.00" 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 400)">
|
||||
<svg width="593pt" height="584pt"
|
||||
viewBox="0.00 0.00 593.00 584.00" 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 580)">
|
||||
<title>classes</title>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-400 866,-400 866,4 -4,4"/>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-580 589,-580 589,4 -4,4"/>
|
||||
<!-- Device -->
|
||||
<g id="node1" class="node"><title>Device</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="418,-396 364,-396 364,-360 418,-360 418,-396"/>
|
||||
<text text-anchor="middle" x="391" y="-375.5" font-family="Sans" font-size="10.00" fill="#000000">Device</text>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="54,-333 0,-333 0,-297 54,-297 54,-333"/>
|
||||
<text text-anchor="middle" x="27" y="-312.5" font-family="Sans" font-size="10.00" fill="#000000">Device</text>
|
||||
</g>
|
||||
<!-- SPIDevice -->
|
||||
<g id="node2" class="node"><title>SPIDevice</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="423,-324 359,-324 359,-288 423,-288 423,-324"/>
|
||||
<text text-anchor="middle" x="391" y="-303.5" font-family="Sans" font-size="10.00" fill="#000000">SPIDevice</text>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="154,-333 90,-333 90,-297 154,-297 154,-333"/>
|
||||
<text text-anchor="middle" x="122" y="-312.5" font-family="Sans" font-size="10.00" fill="#000000">SPIDevice</text>
|
||||
</g>
|
||||
<!-- SPIDevice->Device -->
|
||||
<g id="edge1" class="edge"><title>SPIDevice->Device</title>
|
||||
<path fill="none" stroke="black" d="M391,-324.303C391,-332.017 391,-341.288 391,-349.888"/>
|
||||
<polygon fill="black" stroke="black" points="387.5,-349.896 391,-359.896 394.5,-349.896 387.5,-349.896"/>
|
||||
<path fill="none" stroke="black" d="M89.7736,-315C81.5203,-315 72.5448,-315 64.0586,-315"/>
|
||||
<polygon fill="black" stroke="black" points="64.0313,-311.5 54.0313,-315 64.0312,-318.5 64.0313,-311.5"/>
|
||||
</g>
|
||||
<!-- AnalogInputDevice -->
|
||||
<g id="node3" class="node"><title>AnalogInputDevice</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="444,-252 338,-252 338,-216 444,-216 444,-252"/>
|
||||
<text text-anchor="middle" x="391" y="-231.5" font-family="Sans" font-size="10.00" fill="#000000">AnalogInputDevice</text>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="296,-333 190,-333 190,-297 296,-297 296,-333"/>
|
||||
<text text-anchor="middle" x="243" y="-312.5" font-family="Sans" font-size="10.00" fill="#000000">AnalogInputDevice</text>
|
||||
</g>
|
||||
<!-- AnalogInputDevice->SPIDevice -->
|
||||
<g id="edge2" class="edge"><title>AnalogInputDevice->SPIDevice</title>
|
||||
<path fill="none" stroke="black" d="M391,-252.303C391,-260.017 391,-269.288 391,-277.888"/>
|
||||
<polygon fill="black" stroke="black" points="387.5,-277.896 391,-287.896 394.5,-277.896 387.5,-277.896"/>
|
||||
<path fill="none" stroke="black" d="M189.805,-315C181.286,-315 172.565,-315 164.354,-315"/>
|
||||
<polygon fill="black" stroke="black" points="164.279,-311.5 154.279,-315 164.279,-318.5 164.279,-311.5"/>
|
||||
</g>
|
||||
<!-- MCP3xxx -->
|
||||
<g id="node4" class="node"><title>MCP3xxx</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="420.5,-180 361.5,-180 361.5,-144 420.5,-144 420.5,-180"/>
|
||||
<text text-anchor="middle" x="391" y="-159.5" font-family="Sans" font-size="10.00" fill="#000000">MCP3xxx</text>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="391,-333 332,-333 332,-297 391,-297 391,-333"/>
|
||||
<text text-anchor="middle" x="361.5" y="-312.5" font-family="Sans" font-size="10.00" fill="#000000">MCP3xxx</text>
|
||||
</g>
|
||||
<!-- MCP3xxx->AnalogInputDevice -->
|
||||
<g id="edge3" class="edge"><title>MCP3xxx->AnalogInputDevice</title>
|
||||
<path fill="none" stroke="black" d="M391,-180.303C391,-188.017 391,-197.288 391,-205.888"/>
|
||||
<polygon fill="black" stroke="black" points="387.5,-205.896 391,-215.896 394.5,-205.896 387.5,-205.896"/>
|
||||
<path fill="none" stroke="black" d="M331.702,-315C323.869,-315 315.072,-315 306.152,-315"/>
|
||||
<polygon fill="black" stroke="black" points="306.074,-311.5 296.074,-315 306.074,-318.5 306.074,-311.5"/>
|
||||
</g>
|
||||
<!-- MCP30xx -->
|
||||
<g id="node5" class="node"><title>MCP30xx</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="221,-108 161,-108 161,-72 221,-72 221,-108"/>
|
||||
<text text-anchor="middle" x="191" y="-87.5" font-family="Sans" font-size="10.00" fill="#000000">MCP30xx</text>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="487,-468 427,-468 427,-432 487,-432 487,-468"/>
|
||||
<text text-anchor="middle" x="457" y="-447.5" font-family="Sans" font-size="10.00" fill="#000000">MCP30xx</text>
|
||||
</g>
|
||||
<!-- MCP30xx->MCP3xxx -->
|
||||
<g id="edge4" class="edge"><title>MCP30xx->MCP3xxx</title>
|
||||
<path fill="none" stroke="black" d="M221.376,-101.631C256.184,-113.814 313.335,-133.817 351.556,-147.195"/>
|
||||
<polygon fill="black" stroke="black" points="350.725,-150.612 361.319,-150.612 353.037,-144.005 350.725,-150.612"/>
|
||||
<path fill="none" stroke="black" d="M443.39,-431.793C427.357,-408.644 399.546,-368.489 381.082,-341.829"/>
|
||||
<polygon fill="black" stroke="black" points="383.78,-339.577 375.209,-333.349 378.025,-343.563 383.78,-339.577"/>
|
||||
</g>
|
||||
<!-- MCP32xx -->
|
||||
<g id="node6" class="node"><title>MCP32xx</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="461,-108 401,-108 401,-72 461,-72 461,-108"/>
|
||||
<text text-anchor="middle" x="431" y="-87.5" font-family="Sans" font-size="10.00" fill="#000000">MCP32xx</text>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="487,-306 427,-306 427,-270 487,-270 487,-306"/>
|
||||
<text text-anchor="middle" x="457" y="-285.5" font-family="Sans" font-size="10.00" fill="#000000">MCP32xx</text>
|
||||
</g>
|
||||
<!-- MCP32xx->MCP3xxx -->
|
||||
<g id="edge5" class="edge"><title>MCP32xx->MCP3xxx</title>
|
||||
<path fill="none" stroke="black" d="M421.112,-108.303C416.511,-116.356 410.94,-126.106 405.847,-135.018"/>
|
||||
<polygon fill="black" stroke="black" points="402.696,-133.477 400.774,-143.896 408.774,-136.95 402.696,-133.477"/>
|
||||
<path fill="none" stroke="black" d="M426.929,-296.395C418.76,-298.754 409.747,-301.356 401.116,-303.849"/>
|
||||
<polygon fill="black" stroke="black" points="399.869,-300.566 391.232,-306.703 401.811,-307.291 399.869,-300.566"/>
|
||||
</g>
|
||||
<!-- MCP3xx2 -->
|
||||
<g id="node7" class="node"><title>MCP3xx2</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="381,-108 321,-108 321,-72 381,-72 381,-108"/>
|
||||
<text text-anchor="middle" x="351" y="-87.5" font-family="Sans" font-size="10.00" fill="#000000">MCP3xx2</text>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="487,-360 427,-360 427,-324 487,-324 487,-360"/>
|
||||
<text text-anchor="middle" x="457" y="-339.5" font-family="Sans" font-size="10.00" fill="#000000">MCP3xx2</text>
|
||||
</g>
|
||||
<!-- MCP3xx2->MCP3xxx -->
|
||||
<g id="edge7" class="edge"><title>MCP3xx2->MCP3xxx</title>
|
||||
<path fill="none" stroke="black" d="M360.888,-108.303C365.489,-116.356 371.06,-126.106 376.153,-135.018"/>
|
||||
<polygon fill="black" stroke="black" points="373.226,-136.95 381.226,-143.896 379.304,-133.477 373.226,-136.95"/>
|
||||
<path fill="none" stroke="black" d="M426.929,-333.605C418.76,-331.246 409.747,-328.644 401.116,-326.151"/>
|
||||
<polygon fill="black" stroke="black" points="401.811,-322.709 391.232,-323.297 399.869,-329.434 401.811,-322.709"/>
|
||||
</g>
|
||||
<!-- MCP33xx -->
|
||||
<g id="node8" class="node"><title>MCP33xx</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="741,-108 681,-108 681,-72 741,-72 741,-108"/>
|
||||
<text text-anchor="middle" x="711" y="-87.5" font-family="Sans" font-size="10.00" fill="#000000">MCP33xx</text>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="487,-117 427,-117 427,-81 487,-81 487,-117"/>
|
||||
<text text-anchor="middle" x="457" y="-96.5" font-family="Sans" font-size="10.00" fill="#000000">MCP33xx</text>
|
||||
</g>
|
||||
<!-- MCP33xx->MCP3xxx -->
|
||||
<g id="edge6" class="edge"><title>MCP33xx->MCP3xxx</title>
|
||||
<path fill="none" stroke="black" d="M680.895,-97.5854C622.855,-110.282 495.498,-138.141 430.644,-152.328"/>
|
||||
<polygon fill="black" stroke="black" points="429.813,-148.927 420.792,-154.483 431.309,-155.765 429.813,-148.927"/>
|
||||
<path fill="none" stroke="black" d="M448.189,-117.045C431.827,-154.844 393.862,-242.549 374.428,-287.444"/>
|
||||
<polygon fill="black" stroke="black" points="371.115,-286.287 370.354,-296.855 377.539,-289.068 371.115,-286.287"/>
|
||||
</g>
|
||||
<!-- MCP3001 -->
|
||||
<g id="node9" class="node"><title>MCP3001</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="142,-36 80,-36 80,-0 142,-0 142,-36"/>
|
||||
<text text-anchor="middle" x="111" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3001</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="585,-576 523,-576 523,-540 585,-540 585,-576"/>
|
||||
<text text-anchor="middle" x="554" y="-555.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3001</text>
|
||||
</g>
|
||||
<!-- MCP3001->MCP30xx -->
|
||||
<g id="edge8" class="edge"><title>MCP3001->MCP30xx</title>
|
||||
<path fill="none" stroke="black" d="M130.775,-36.3034C140.754,-45.0345 153.011,-55.7595 163.857,-65.2497"/>
|
||||
<polygon fill="black" stroke="black" points="161.622,-67.9446 171.452,-71.8957 166.231,-62.6766 161.622,-67.9446"/>
|
||||
<path fill="none" stroke="black" d="M531.931,-539.831C528.858,-536.955 525.791,-533.954 523,-531 506.549,-513.591 489.668,-492.438 477.234,-476.115"/>
|
||||
<polygon fill="black" stroke="black" points="479.978,-473.941 471.163,-468.065 474.389,-478.156 479.978,-473.941"/>
|
||||
</g>
|
||||
<!-- MCP3002 -->
|
||||
<g id="node10" class="node"><title>MCP3002</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="302,-36 240,-36 240,-0 302,-0 302,-36"/>
|
||||
<text text-anchor="middle" x="271" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3002</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="585,-414 523,-414 523,-378 585,-378 585,-414"/>
|
||||
<text text-anchor="middle" x="554" y="-393.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3002</text>
|
||||
</g>
|
||||
<!-- MCP3002->MCP30xx -->
|
||||
<g id="edge9" class="edge"><title>MCP3002->MCP30xx</title>
|
||||
<path fill="none" stroke="black" d="M251.225,-36.3034C241.246,-45.0345 228.989,-55.7595 218.143,-65.2497"/>
|
||||
<polygon fill="black" stroke="black" points="215.769,-62.6766 210.548,-71.8957 220.378,-67.9446 215.769,-62.6766"/>
|
||||
<path fill="none" stroke="black" d="M522.941,-413.086C514.38,-417.953 504.94,-423.318 495.973,-428.415"/>
|
||||
<polygon fill="black" stroke="black" points="494.178,-425.41 487.214,-433.394 497.637,-431.496 494.178,-425.41"/>
|
||||
</g>
|
||||
<!-- MCP3002->MCP3xx2 -->
|
||||
<g id="edge16" class="edge"><title>MCP3002->MCP3xx2</title>
|
||||
<path fill="none" stroke="black" d="M290.775,-36.3034C300.754,-45.0345 313.011,-55.7595 323.857,-65.2497"/>
|
||||
<polygon fill="black" stroke="black" points="321.622,-67.9446 331.452,-71.8957 326.231,-62.6766 321.622,-67.9446"/>
|
||||
<path fill="none" stroke="black" d="M522.941,-378.914C514.38,-374.047 504.94,-368.682 495.973,-363.585"/>
|
||||
<polygon fill="black" stroke="black" points="497.637,-360.504 487.214,-358.606 494.178,-366.59 497.637,-360.504"/>
|
||||
</g>
|
||||
<!-- MCP3004 -->
|
||||
<g id="node11" class="node"><title>MCP3004</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="222,-36 160,-36 160,-0 222,-0 222,-36"/>
|
||||
<text text-anchor="middle" x="191" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3004</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="585,-522 523,-522 523,-486 585,-486 585,-522"/>
|
||||
<text text-anchor="middle" x="554" y="-501.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3004</text>
|
||||
</g>
|
||||
<!-- MCP3004->MCP30xx -->
|
||||
<g id="edge10" class="edge"><title>MCP3004->MCP30xx</title>
|
||||
<path fill="none" stroke="black" d="M191,-36.3034C191,-44.0173 191,-53.2875 191,-61.8876"/>
|
||||
<polygon fill="black" stroke="black" points="187.5,-61.8956 191,-71.8957 194.5,-61.8957 187.5,-61.8956"/>
|
||||
<path fill="none" stroke="black" d="M522.941,-486.914C514.38,-482.047 504.94,-476.682 495.973,-471.585"/>
|
||||
<polygon fill="black" stroke="black" points="497.637,-468.504 487.214,-466.606 494.178,-474.59 497.637,-468.504"/>
|
||||
</g>
|
||||
<!-- MCP3008 -->
|
||||
<g id="node12" class="node"><title>MCP3008</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="62,-36 3.55271e-15,-36 3.55271e-15,-0 62,-0 62,-36"/>
|
||||
<text text-anchor="middle" x="31" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3008</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="585,-468 523,-468 523,-432 585,-432 585,-468"/>
|
||||
<text text-anchor="middle" x="554" y="-447.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3008</text>
|
||||
</g>
|
||||
<!-- MCP3008->MCP30xx -->
|
||||
<g id="edge11" class="edge"><title>MCP3008->MCP30xx</title>
|
||||
<path fill="none" stroke="black" d="M62.2294,-32.6629C87.7738,-43.8385 124.046,-59.7076 151.587,-71.757"/>
|
||||
<polygon fill="black" stroke="black" points="150.369,-75.044 160.933,-75.8457 153.174,-68.6309 150.369,-75.044"/>
|
||||
<path fill="none" stroke="black" d="M522.941,-450C514.826,-450 505.921,-450 497.378,-450"/>
|
||||
<polygon fill="black" stroke="black" points="497.214,-446.5 487.214,-450 497.213,-453.5 497.214,-446.5"/>
|
||||
</g>
|
||||
<!-- MCP3201 -->
|
||||
<g id="node13" class="node"><title>MCP3201</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="542,-36 480,-36 480,-0 542,-0 542,-36"/>
|
||||
<text text-anchor="middle" x="511" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3201</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="585,-306 523,-306 523,-270 585,-270 585,-306"/>
|
||||
<text text-anchor="middle" x="554" y="-285.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3201</text>
|
||||
</g>
|
||||
<!-- MCP3201->MCP32xx -->
|
||||
<g id="edge12" class="edge"><title>MCP3201->MCP32xx</title>
|
||||
<path fill="none" stroke="black" d="M491.225,-36.3034C481.246,-45.0345 468.989,-55.7595 458.143,-65.2497"/>
|
||||
<polygon fill="black" stroke="black" points="455.769,-62.6766 450.548,-71.8957 460.378,-67.9446 455.769,-62.6766"/>
|
||||
<path fill="none" stroke="black" d="M522.941,-288C514.826,-288 505.921,-288 497.378,-288"/>
|
||||
<polygon fill="black" stroke="black" points="497.214,-284.5 487.214,-288 497.213,-291.5 497.214,-284.5"/>
|
||||
</g>
|
||||
<!-- MCP3202 -->
|
||||
<g id="node14" class="node"><title>MCP3202</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="382,-36 320,-36 320,-0 382,-0 382,-36"/>
|
||||
<text text-anchor="middle" x="351" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3202</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="585,-360 523,-360 523,-324 585,-324 585,-360"/>
|
||||
<text text-anchor="middle" x="554" y="-339.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3202</text>
|
||||
</g>
|
||||
<!-- MCP3202->MCP32xx -->
|
||||
<g id="edge13" class="edge"><title>MCP3202->MCP32xx</title>
|
||||
<path fill="none" stroke="black" d="M370.775,-36.3034C380.754,-45.0345 393.011,-55.7595 403.857,-65.2497"/>
|
||||
<polygon fill="black" stroke="black" points="401.622,-67.9446 411.452,-71.8957 406.231,-62.6766 401.622,-67.9446"/>
|
||||
<path fill="none" stroke="black" d="M522.941,-324.914C514.38,-320.047 504.94,-314.682 495.973,-309.585"/>
|
||||
<polygon fill="black" stroke="black" points="497.637,-306.504 487.214,-304.606 494.178,-312.59 497.637,-306.504"/>
|
||||
</g>
|
||||
<!-- MCP3202->MCP3xx2 -->
|
||||
<g id="edge17" class="edge"><title>MCP3202->MCP3xx2</title>
|
||||
<path fill="none" stroke="black" d="M351,-36.3034C351,-44.0173 351,-53.2875 351,-61.8876"/>
|
||||
<polygon fill="black" stroke="black" points="347.5,-61.8956 351,-71.8957 354.5,-61.8957 347.5,-61.8956"/>
|
||||
<path fill="none" stroke="black" d="M522.941,-342C514.826,-342 505.921,-342 497.378,-342"/>
|
||||
<polygon fill="black" stroke="black" points="497.214,-338.5 487.214,-342 497.213,-345.5 497.214,-338.5"/>
|
||||
</g>
|
||||
<!-- MCP3204 -->
|
||||
<g id="node15" class="node"><title>MCP3204</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="622,-36 560,-36 560,-0 622,-0 622,-36"/>
|
||||
<text text-anchor="middle" x="591" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3204</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="585,-252 523,-252 523,-216 585,-216 585,-252"/>
|
||||
<text text-anchor="middle" x="554" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3204</text>
|
||||
</g>
|
||||
<!-- MCP3204->MCP32xx -->
|
||||
<g id="edge14" class="edge"><title>MCP3204->MCP32xx</title>
|
||||
<path fill="none" stroke="black" d="M559.771,-32.6629C534.226,-43.8385 497.954,-59.7076 470.413,-71.757"/>
|
||||
<polygon fill="black" stroke="black" points="468.826,-68.6309 461.067,-75.8457 471.631,-75.044 468.826,-68.6309"/>
|
||||
<path fill="none" stroke="black" d="M522.941,-251.086C514.38,-255.953 504.94,-261.318 495.973,-266.415"/>
|
||||
<polygon fill="black" stroke="black" points="494.178,-263.41 487.214,-271.394 497.637,-269.496 494.178,-263.41"/>
|
||||
</g>
|
||||
<!-- MCP3208 -->
|
||||
<g id="node16" class="node"><title>MCP3208</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="462,-36 400,-36 400,-0 462,-0 462,-36"/>
|
||||
<text text-anchor="middle" x="431" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3208</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="585,-198 523,-198 523,-162 585,-162 585,-198"/>
|
||||
<text text-anchor="middle" x="554" y="-177.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3208</text>
|
||||
</g>
|
||||
<!-- MCP3208->MCP32xx -->
|
||||
<g id="edge15" class="edge"><title>MCP3208->MCP32xx</title>
|
||||
<path fill="none" stroke="black" d="M431,-36.3034C431,-44.0173 431,-53.2875 431,-61.8876"/>
|
||||
<polygon fill="black" stroke="black" points="427.5,-61.8956 431,-71.8957 434.5,-61.8957 427.5,-61.8956"/>
|
||||
<path fill="none" stroke="black" d="M531.931,-198.169C528.858,-201.045 525.791,-204.046 523,-207 506.549,-224.409 489.668,-245.562 477.234,-261.885"/>
|
||||
<polygon fill="black" stroke="black" points="474.389,-259.844 471.163,-269.935 479.978,-264.059 474.389,-259.844"/>
|
||||
</g>
|
||||
<!-- MCP3301 -->
|
||||
<g id="node17" class="node"><title>MCP3301</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="782,-36 720,-36 720,-0 782,-0 782,-36"/>
|
||||
<text text-anchor="middle" x="751" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3301</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="585,-144 523,-144 523,-108 585,-108 585,-144"/>
|
||||
<text text-anchor="middle" x="554" y="-123.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3301</text>
|
||||
</g>
|
||||
<!-- MCP3301->MCP33xx -->
|
||||
<g id="edge18" class="edge"><title>MCP3301->MCP33xx</title>
|
||||
<path fill="none" stroke="black" d="M741.112,-36.3034C736.511,-44.3564 730.94,-54.1055 725.847,-63.0176"/>
|
||||
<polygon fill="black" stroke="black" points="722.696,-61.4767 720.774,-71.8957 728.774,-64.9497 722.696,-61.4767"/>
|
||||
<path fill="none" stroke="black" d="M522.941,-117.457C514.737,-115.125 505.725,-112.564 497.096,-110.112"/>
|
||||
<polygon fill="black" stroke="black" points="497.789,-106.67 487.214,-107.303 495.876,-113.403 497.789,-106.67"/>
|
||||
</g>
|
||||
<!-- MCP3302 -->
|
||||
<g id="node18" class="node"><title>MCP3302</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="862,-36 800,-36 800,-0 862,-0 862,-36"/>
|
||||
<text text-anchor="middle" x="831" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3302</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="585,-90 523,-90 523,-54 585,-54 585,-90"/>
|
||||
<text text-anchor="middle" x="554" y="-69.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3302</text>
|
||||
</g>
|
||||
<!-- MCP3302->MCP33xx -->
|
||||
<g id="edge19" class="edge"><title>MCP3302->MCP33xx</title>
|
||||
<path fill="none" stroke="black" d="M801.645,-36.1239C785.955,-45.2764 766.443,-56.6583 749.546,-66.515"/>
|
||||
<polygon fill="black" stroke="black" points="747.342,-63.7483 740.468,-71.8102 750.87,-69.7947 747.342,-63.7483"/>
|
||||
<path fill="none" stroke="black" d="M522.941,-80.543C514.737,-82.8749 505.725,-85.4359 497.096,-87.8884"/>
|
||||
<polygon fill="black" stroke="black" points="495.876,-84.5966 487.214,-90.6972 497.789,-91.33 495.876,-84.5966"/>
|
||||
</g>
|
||||
<!-- MCP3304 -->
|
||||
<g id="node19" class="node"><title>MCP3304</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="702,-36 640,-36 640,-0 702,-0 702,-36"/>
|
||||
<text text-anchor="middle" x="671" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3304</text>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="585,-36 523,-36 523,-0 585,-0 585,-36"/>
|
||||
<text text-anchor="middle" x="554" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3304</text>
|
||||
</g>
|
||||
<!-- MCP3304->MCP33xx -->
|
||||
<g id="edge20" class="edge"><title>MCP3304->MCP33xx</title>
|
||||
<path fill="none" stroke="black" d="M680.888,-36.3034C685.489,-44.3564 691.06,-54.1055 696.153,-63.0176"/>
|
||||
<polygon fill="black" stroke="black" points="693.226,-64.9497 701.226,-71.8957 699.304,-61.4767 693.226,-64.9497"/>
|
||||
<path fill="none" stroke="black" d="M531.443,-36.3802C518.233,-47.6438 501.16,-62.2002 486.801,-74.4434"/>
|
||||
<polygon fill="black" stroke="black" points="484.483,-71.8201 479.144,-80.9716 489.025,-77.1468 484.483,-71.8201"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |