This PR adds a software SPI implementation. Firstly this removes the absolute necessity for spidev (#140), which also means when it's not present things still work (effectively fixes #185), and also enables any four pins to be used for SPI devices (which don't require the hardware implementation). The software implementation is simplistic but still supports clock polarity and phase, select-high, and variable bits per word. However it doesn't allow precise speeds to be implemented because it just wibbles the clock as fast as it can (which being pure Python isn't actually that fast). Finally, because this PR involves creating a framework for "shared" devices (like SPI devices with multiple channels), it made sense to bung Energenie (#69) in as wells as this is a really simple shared device.
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
@@ -2,32 +2,36 @@
|
||||
|
||||
digraph classes {
|
||||
graph [rankdir=BT];
|
||||
node [shape=rect, style=filled, color="#2980b9", fontname=Sans, fontcolor="#ffffff", fontsize=10];
|
||||
node [shape=rect, style=filled, fontname=Sans, fontsize=10];
|
||||
edge [];
|
||||
|
||||
AnalogInputDevice->CompositeDevice;
|
||||
MCP3xxx->AnalogInputDevice;
|
||||
MCP33xx->MCP3xxx;
|
||||
MCP3004->MCP3xxx;
|
||||
MCP3008->MCP3xxx;
|
||||
MCP3204->MCP3xxx;
|
||||
MCP3208->MCP3xxx;
|
||||
MCP3301->MCP33xx;
|
||||
MCP3302->MCP33xx;
|
||||
MCP3304->MCP33xx;
|
||||
/* Abstract classes */
|
||||
node [color="#9ec6e0", fontcolor="#000000"]
|
||||
Device;
|
||||
CompositeDevice;
|
||||
CompositeOutputDevice;
|
||||
LEDCollection;
|
||||
|
||||
/* Concrete classes */
|
||||
node [color="#2980b9", fontcolor="#ffffff"];
|
||||
CompositeDevice->Device;
|
||||
CompositeOutputDevice->CompositeDevice;
|
||||
LEDCollection->CompositeOutputDevice;
|
||||
|
||||
LEDBoard->LEDCollection;
|
||||
LEDBarGraph->LEDCollection;
|
||||
|
||||
RGBLED->CompositeDevice;
|
||||
Motor->CompositeDevice;
|
||||
LEDBoard->CompositeDevice;
|
||||
PiLiter->LEDBoard;
|
||||
PiLiterBarGraph->LEDBarGraph;
|
||||
TrafficLights->LEDBoard;
|
||||
PiTraffic->TrafficLights;
|
||||
|
||||
TrafficLightsBuzzer->CompositeDevice;
|
||||
TrafficLightsBuzzer->CompositeOutputDevice;
|
||||
FishDish->TrafficLightsBuzzer;
|
||||
TrafficHat->TrafficLightsBuzzer;
|
||||
|
||||
Robot->CompositeDevice;
|
||||
RyanteckRobot->Robot;
|
||||
CamJamKitRobot->Robot;
|
||||
|
||||
RGBLED->CompositeDevice;
|
||||
Motor->CompositeDevice;
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 46 KiB |
@@ -4,235 +4,185 @@
|
||||
<!-- Generated by graphviz version 2.36.0 (20140111.2315)
|
||||
-->
|
||||
<!-- Title: classes Pages: 1 -->
|
||||
<svg width="808pt" height="332pt"
|
||||
viewBox="0.00 0.00 808.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="603pt" height="476pt"
|
||||
viewBox="0.00 0.00 603.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)">
|
||||
<title>classes</title>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-328 804,-328 804,4 -4,4"/>
|
||||
<!-- AnalogInputDevice -->
|
||||
<g id="node1" class="node"><title>AnalogInputDevice</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="608,-252 502,-252 502,-216 608,-216 608,-252"/>
|
||||
<text text-anchor="middle" x="555" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">AnalogInputDevice</text>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-472 599,-472 599,4 -4,4"/>
|
||||
<!-- Device -->
|
||||
<g id="node1" class="node"><title>Device</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="485,-468 431,-468 431,-432 485,-432 485,-468"/>
|
||||
<text text-anchor="middle" x="458" y="-447.5" font-family="Sans" font-size="10.00" fill="#000000">Device</text>
|
||||
</g>
|
||||
<!-- CompositeDevice -->
|
||||
<g id="node2" class="node"><title>CompositeDevice</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="279.5,-324 178.5,-324 178.5,-288 279.5,-288 279.5,-324"/>
|
||||
<text text-anchor="middle" x="229" y="-303.5" font-family="Sans" font-size="10.00" fill="#ffffff">CompositeDevice</text>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="508.5,-396 407.5,-396 407.5,-360 508.5,-360 508.5,-396"/>
|
||||
<text text-anchor="middle" x="458" y="-375.5" font-family="Sans" font-size="10.00" fill="#000000">CompositeDevice</text>
|
||||
</g>
|
||||
<!-- AnalogInputDevice->CompositeDevice -->
|
||||
<g id="edge1" class="edge"><title>AnalogInputDevice->CompositeDevice</title>
|
||||
<path fill="none" stroke="black" d="M502.26,-246.325C443.965,-258.842 350.25,-278.965 289.144,-292.086"/>
|
||||
<polygon fill="black" stroke="black" points="288.296,-288.688 279.253,-294.209 289.765,-295.532 288.296,-288.688"/>
|
||||
<!-- CompositeDevice->Device -->
|
||||
<g id="edge1" class="edge"><title>CompositeDevice->Device</title>
|
||||
<path fill="none" stroke="black" d="M458,-396.303C458,-404.017 458,-413.288 458,-421.888"/>
|
||||
<polygon fill="black" stroke="black" points="454.5,-421.896 458,-431.896 461.5,-421.896 454.5,-421.896"/>
|
||||
</g>
|
||||
<!-- MCP3xxx -->
|
||||
<g id="node3" class="node"><title>MCP3xxx</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="638.5,-180 579.5,-180 579.5,-144 638.5,-144 638.5,-180"/>
|
||||
<text text-anchor="middle" x="609" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3xxx</text>
|
||||
<!-- 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>
|
||||
</g>
|
||||
<!-- MCP3xxx->AnalogInputDevice -->
|
||||
<g id="edge2" class="edge"><title>MCP3xxx->AnalogInputDevice</title>
|
||||
<path fill="none" stroke="black" d="M595.652,-180.303C589.243,-188.611 581.442,-198.723 574.394,-207.859"/>
|
||||
<polygon fill="black" stroke="black" points="571.532,-205.84 568.195,-215.896 577.074,-210.116 571.532,-205.84"/>
|
||||
<!-- CompositeOutputDevice->CompositeDevice -->
|
||||
<g id="edge2" class="edge"><title>CompositeOutputDevice->CompositeDevice</title>
|
||||
<path fill="none" stroke="black" d="M344.694,-324.124C365.018,-333.608 390.471,-345.487 412.102,-355.581"/>
|
||||
<polygon fill="black" stroke="black" points="410.883,-358.874 421.425,-359.932 413.843,-352.531 410.883,-358.874"/>
|
||||
</g>
|
||||
<!-- MCP33xx -->
|
||||
<g id="node4" class="node"><title>MCP33xx</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="480,-108 420,-108 420,-72 480,-72 480,-108"/>
|
||||
<text text-anchor="middle" x="450" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP33xx</text>
|
||||
<!-- 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>
|
||||
</g>
|
||||
<!-- MCP33xx->MCP3xxx -->
|
||||
<g id="edge3" class="edge"><title>MCP33xx->MCP3xxx</title>
|
||||
<path fill="none" stroke="black" d="M479.534,-104.002C505.081,-115.249 542.204,-131.593 570.154,-143.898"/>
|
||||
<polygon fill="black" stroke="black" points="569.062,-147.241 579.624,-148.067 571.882,-140.835 569.062,-147.241"/>
|
||||
</g>
|
||||
<!-- MCP3004 -->
|
||||
<g id="node5" class="node"><title>MCP3004</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="560,-108 498,-108 498,-72 560,-72 560,-108"/>
|
||||
<text text-anchor="middle" x="529" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3004</text>
|
||||
</g>
|
||||
<!-- MCP3004->MCP3xxx -->
|
||||
<g id="edge4" class="edge"><title>MCP3004->MCP3xxx</title>
|
||||
<path fill="none" stroke="black" d="M548.775,-108.303C558.754,-117.035 571.011,-127.76 581.857,-137.25"/>
|
||||
<polygon fill="black" stroke="black" points="579.622,-139.945 589.452,-143.896 584.231,-134.677 579.622,-139.945"/>
|
||||
</g>
|
||||
<!-- MCP3008 -->
|
||||
<g id="node6" class="node"><title>MCP3008</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="640,-108 578,-108 578,-72 640,-72 640,-108"/>
|
||||
<text text-anchor="middle" x="609" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3008</text>
|
||||
</g>
|
||||
<!-- MCP3008->MCP3xxx -->
|
||||
<g id="edge5" class="edge"><title>MCP3008->MCP3xxx</title>
|
||||
<path fill="none" stroke="black" d="M609,-108.303C609,-116.017 609,-125.288 609,-133.888"/>
|
||||
<polygon fill="black" stroke="black" points="605.5,-133.896 609,-143.896 612.5,-133.896 605.5,-133.896"/>
|
||||
</g>
|
||||
<!-- MCP3204 -->
|
||||
<g id="node7" class="node"><title>MCP3204</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="720,-108 658,-108 658,-72 720,-72 720,-108"/>
|
||||
<text text-anchor="middle" x="689" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3204</text>
|
||||
</g>
|
||||
<!-- MCP3204->MCP3xxx -->
|
||||
<g id="edge6" class="edge"><title>MCP3204->MCP3xxx</title>
|
||||
<path fill="none" stroke="black" d="M669.225,-108.303C659.246,-117.035 646.989,-127.76 636.143,-137.25"/>
|
||||
<polygon fill="black" stroke="black" points="633.769,-134.677 628.548,-143.896 638.378,-139.945 633.769,-134.677"/>
|
||||
</g>
|
||||
<!-- MCP3208 -->
|
||||
<g id="node8" class="node"><title>MCP3208</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="800,-108 738,-108 738,-72 800,-72 800,-108"/>
|
||||
<text text-anchor="middle" x="769" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3208</text>
|
||||
</g>
|
||||
<!-- MCP3208->MCP3xxx -->
|
||||
<g id="edge7" class="edge"><title>MCP3208->MCP3xxx</title>
|
||||
<path fill="none" stroke="black" d="M738.15,-104.497C712.4,-115.762 675.557,-131.881 647.808,-144.022"/>
|
||||
<polygon fill="black" stroke="black" points="646.163,-140.921 638.405,-148.135 648.969,-147.334 646.163,-140.921"/>
|
||||
</g>
|
||||
<!-- MCP3301 -->
|
||||
<g id="node9" class="node"><title>MCP3301</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="401,-36 339,-36 339,-0 401,-0 401,-36"/>
|
||||
<text text-anchor="middle" x="370" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3301</text>
|
||||
</g>
|
||||
<!-- MCP3301->MCP33xx -->
|
||||
<g id="edge8" class="edge"><title>MCP3301->MCP33xx</title>
|
||||
<path fill="none" stroke="black" d="M389.775,-36.3034C399.754,-45.0345 412.011,-55.7595 422.857,-65.2497"/>
|
||||
<polygon fill="black" stroke="black" points="420.622,-67.9446 430.452,-71.8957 425.231,-62.6766 420.622,-67.9446"/>
|
||||
</g>
|
||||
<!-- MCP3302 -->
|
||||
<g id="node10" class="node"><title>MCP3302</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="481,-36 419,-36 419,-0 481,-0 481,-36"/>
|
||||
<text text-anchor="middle" x="450" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3302</text>
|
||||
</g>
|
||||
<!-- MCP3302->MCP33xx -->
|
||||
<g id="edge9" class="edge"><title>MCP3302->MCP33xx</title>
|
||||
<path fill="none" stroke="black" d="M450,-36.3034C450,-44.0173 450,-53.2875 450,-61.8876"/>
|
||||
<polygon fill="black" stroke="black" points="446.5,-61.8956 450,-71.8957 453.5,-61.8957 446.5,-61.8956"/>
|
||||
</g>
|
||||
<!-- MCP3304 -->
|
||||
<g id="node11" class="node"><title>MCP3304</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="561,-36 499,-36 499,-0 561,-0 561,-36"/>
|
||||
<text text-anchor="middle" x="530" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3304</text>
|
||||
</g>
|
||||
<!-- MCP3304->MCP33xx -->
|
||||
<g id="edge10" class="edge"><title>MCP3304->MCP33xx</title>
|
||||
<path fill="none" stroke="black" d="M510.225,-36.3034C500.246,-45.0345 487.989,-55.7595 477.143,-65.2497"/>
|
||||
<polygon fill="black" stroke="black" points="474.769,-62.6766 469.548,-71.8957 479.378,-67.9446 474.769,-62.6766"/>
|
||||
</g>
|
||||
<!-- RGBLED -->
|
||||
<g id="node12" class="node"><title>RGBLED</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="56,-252 0,-252 0,-216 56,-216 56,-252"/>
|
||||
<text text-anchor="middle" x="28" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">RGBLED</text>
|
||||
</g>
|
||||
<!-- RGBLED->CompositeDevice -->
|
||||
<g id="edge11" class="edge"><title>RGBLED->CompositeDevice</title>
|
||||
<path fill="none" stroke="black" d="M55.7289,-248.167C58.8345,-249.514 61.9702,-250.819 65,-252 98.836,-265.187 137.45,-277.783 168.706,-287.384"/>
|
||||
<polygon fill="black" stroke="black" points="167.994,-290.826 178.58,-290.393 170.035,-284.13 167.994,-290.826"/>
|
||||
</g>
|
||||
<!-- Motor -->
|
||||
<g id="node13" class="node"><title>Motor</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="128,-252 74,-252 74,-216 128,-216 128,-252"/>
|
||||
<text text-anchor="middle" x="101" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">Motor</text>
|
||||
</g>
|
||||
<!-- Motor->CompositeDevice -->
|
||||
<g id="edge12" class="edge"><title>Motor->CompositeDevice</title>
|
||||
<path fill="none" stroke="black" d="M128.146,-249.845C145.837,-259.52 169.228,-272.312 189.029,-283.141"/>
|
||||
<polygon fill="black" stroke="black" points="187.388,-286.233 197.841,-287.96 190.747,-280.091 187.388,-286.233"/>
|
||||
<!-- 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"/>
|
||||
</g>
|
||||
<!-- LEDBoard -->
|
||||
<g id="node14" class="node"><title>LEDBoard</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="210,-252 146,-252 146,-216 210,-216 210,-252"/>
|
||||
<text text-anchor="middle" x="178" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">LEDBoard</text>
|
||||
<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>
|
||||
</g>
|
||||
<!-- LEDBoard->CompositeDevice -->
|
||||
<g id="edge13" class="edge"><title>LEDBoard->CompositeDevice</title>
|
||||
<path fill="none" stroke="black" d="M190.607,-252.303C196.597,-260.526 203.876,-270.517 210.479,-279.579"/>
|
||||
<polygon fill="black" stroke="black" points="207.821,-281.874 216.538,-287.896 213.478,-277.752 207.821,-281.874"/>
|
||||
<!-- 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"/>
|
||||
</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>
|
||||
</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"/>
|
||||
</g>
|
||||
<!-- PiLiter -->
|
||||
<g id="node15" class="node"><title>PiLiter</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="99,-180 45,-180 45,-144 99,-144 99,-180"/>
|
||||
<text text-anchor="middle" x="72" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">PiLiter</text>
|
||||
<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>
|
||||
</g>
|
||||
<!-- PiLiter->LEDBoard -->
|
||||
<g id="edge14" class="edge"><title>PiLiter->LEDBoard</title>
|
||||
<path fill="none" stroke="black" d="M97.9305,-180.124C111.662,-189.192 128.706,-200.448 143.536,-210.241"/>
|
||||
<polygon fill="black" stroke="black" points="141.696,-213.22 151.97,-215.81 145.554,-207.379 141.696,-213.22"/>
|
||||
<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"/>
|
||||
</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>
|
||||
</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"/>
|
||||
</g>
|
||||
<!-- TrafficLights -->
|
||||
<g id="node16" class="node"><title>TrafficLights</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="189,-180 117,-180 117,-144 189,-144 189,-180"/>
|
||||
<text text-anchor="middle" x="153" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">TrafficLights</text>
|
||||
<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>
|
||||
</g>
|
||||
<!-- TrafficLights->LEDBoard -->
|
||||
<g id="edge15" class="edge"><title>TrafficLights->LEDBoard</title>
|
||||
<path fill="none" stroke="black" d="M159.18,-180.303C161.995,-188.187 165.391,-197.696 168.519,-206.454"/>
|
||||
<polygon fill="black" stroke="black" points="165.232,-207.655 171.891,-215.896 171.824,-205.301 165.232,-207.655"/>
|
||||
<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"/>
|
||||
</g>
|
||||
<!-- PiTraffic -->
|
||||
<g id="node17" class="node"><title>PiTraffic</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="180,-108 126,-108 126,-72 180,-72 180,-108"/>
|
||||
<text text-anchor="middle" x="153" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">PiTraffic</text>
|
||||
<g id="node10" class="node"><title>PiTraffic</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="135,-36 81,-36 81,-0 135,-0 135,-36"/>
|
||||
<text text-anchor="middle" x="108" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">PiTraffic</text>
|
||||
</g>
|
||||
<!-- PiTraffic->TrafficLights -->
|
||||
<g id="edge16" class="edge"><title>PiTraffic->TrafficLights</title>
|
||||
<path fill="none" stroke="black" d="M153,-108.303C153,-116.017 153,-125.288 153,-133.888"/>
|
||||
<polygon fill="black" stroke="black" points="149.5,-133.896 153,-143.896 156.5,-133.896 149.5,-133.896"/>
|
||||
<g id="edge9" class="edge"><title>PiTraffic->TrafficLights</title>
|
||||
<path fill="none" stroke="black" d="M108,-36.3034C108,-44.0173 108,-53.2875 108,-61.8876"/>
|
||||
<polygon fill="black" stroke="black" points="104.5,-61.8956 108,-71.8957 111.5,-61.8957 104.5,-61.8956"/>
|
||||
</g>
|
||||
<!-- TrafficLightsBuzzer -->
|
||||
<g id="node18" class="node"><title>TrafficLightsBuzzer</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="333.5,-252 228.5,-252 228.5,-216 333.5,-216 333.5,-252"/>
|
||||
<text text-anchor="middle" x="281" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">TrafficLightsBuzzer</text>
|
||||
<g id="node11" 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>
|
||||
<!-- TrafficLightsBuzzer->CompositeDevice -->
|
||||
<g id="edge17" class="edge"><title>TrafficLightsBuzzer->CompositeDevice</title>
|
||||
<path fill="none" stroke="black" d="M268.146,-252.303C261.975,-260.611 254.463,-270.723 247.676,-279.859"/>
|
||||
<polygon fill="black" stroke="black" points="244.86,-277.781 241.706,-287.896 250.479,-281.955 244.86,-277.781"/>
|
||||
<!-- TrafficLightsBuzzer->CompositeOutputDevice -->
|
||||
<g id="edge10" 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>
|
||||
<!-- FishDish -->
|
||||
<g id="node19" class="node"><title>FishDish</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="263,-180 207,-180 207,-144 263,-144 263,-180"/>
|
||||
<text text-anchor="middle" x="235" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">FishDish</text>
|
||||
<g id="node12" 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>
|
||||
<!-- FishDish->TrafficLightsBuzzer -->
|
||||
<g id="edge18" class="edge"><title>FishDish->TrafficLightsBuzzer</title>
|
||||
<path fill="none" stroke="black" d="M246.371,-180.303C251.718,-188.441 258.204,-198.311 264.111,-207.299"/>
|
||||
<polygon fill="black" stroke="black" points="261.343,-209.461 269.76,-215.896 267.193,-205.616 261.343,-209.461"/>
|
||||
<g id="edge11" 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>
|
||||
<!-- TrafficHat -->
|
||||
<g id="node20" class="node"><title>TrafficHat</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="342.5,-180 281.5,-180 281.5,-144 342.5,-144 342.5,-180"/>
|
||||
<text text-anchor="middle" x="312" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">TrafficHat</text>
|
||||
<g id="node13" 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>
|
||||
<!-- TrafficHat->TrafficLightsBuzzer -->
|
||||
<g id="edge19" class="edge"><title>TrafficHat->TrafficLightsBuzzer</title>
|
||||
<path fill="none" stroke="black" d="M304.337,-180.303C300.808,-188.272 296.544,-197.9 292.631,-206.736"/>
|
||||
<polygon fill="black" stroke="black" points="289.424,-205.335 288.575,-215.896 295.824,-208.169 289.424,-205.335"/>
|
||||
<g id="edge12" 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>
|
||||
<!-- Robot -->
|
||||
<g id="node21" class="node"><title>Robot</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="431,-252 377,-252 377,-216 431,-216 431,-252"/>
|
||||
<text text-anchor="middle" x="404" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">Robot</text>
|
||||
<g id="node14" class="node"><title>Robot</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="449,-324 395,-324 395,-288 449,-288 449,-324"/>
|
||||
<text text-anchor="middle" x="422" y="-303.5" font-family="Sans" font-size="10.00" fill="#ffffff">Robot</text>
|
||||
</g>
|
||||
<!-- Robot->CompositeDevice -->
|
||||
<g id="edge20" class="edge"><title>Robot->CompositeDevice</title>
|
||||
<path fill="none" stroke="black" d="M376.656,-245.938C351.218,-256.113 312.631,-271.547 281.284,-284.087"/>
|
||||
<polygon fill="black" stroke="black" points="279.795,-280.912 271.81,-287.876 282.394,-287.412 279.795,-280.912"/>
|
||||
<g id="edge13" class="edge"><title>Robot->CompositeDevice</title>
|
||||
<path fill="none" stroke="black" d="M430.899,-324.303C434.997,-332.272 439.949,-341.9 444.493,-350.736"/>
|
||||
<polygon fill="black" stroke="black" points="441.517,-352.604 449.203,-359.896 447.742,-349.402 441.517,-352.604"/>
|
||||
</g>
|
||||
<!-- RyanteckRobot -->
|
||||
<g id="node22" class="node"><title>RyanteckRobot</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="447,-180 361,-180 361,-144 447,-144 447,-180"/>
|
||||
<text text-anchor="middle" x="404" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">RyanteckRobot</text>
|
||||
<g id="node15" 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>
|
||||
<!-- RyanteckRobot->Robot -->
|
||||
<g id="edge21" class="edge"><title>RyanteckRobot->Robot</title>
|
||||
<path fill="none" stroke="black" d="M404,-180.303C404,-188.017 404,-197.288 404,-205.888"/>
|
||||
<polygon fill="black" stroke="black" points="400.5,-205.896 404,-215.896 407.5,-205.896 400.5,-205.896"/>
|
||||
<g id="edge14" class="edge"><title>RyanteckRobot->Robot</title>
|
||||
<path fill="none" stroke="black" d="M422,-252.303C422,-260.017 422,-269.288 422,-277.888"/>
|
||||
<polygon fill="black" stroke="black" points="418.5,-277.896 422,-287.896 425.5,-277.896 418.5,-277.896"/>
|
||||
</g>
|
||||
<!-- CamJamKitRobot -->
|
||||
<g id="node23" class="node"><title>CamJamKitRobot</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="561,-180 465,-180 465,-144 561,-144 561,-180"/>
|
||||
<text text-anchor="middle" x="513" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">CamJamKitRobot</text>
|
||||
<g id="node16" 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>
|
||||
<!-- CamJamKitRobot->Robot -->
|
||||
<g id="edge22" class="edge"><title>CamJamKitRobot->Robot</title>
|
||||
<path fill="none" stroke="black" d="M486.336,-180.124C472.216,-189.192 454.689,-200.448 439.439,-210.241"/>
|
||||
<polygon fill="black" stroke="black" points="437.29,-207.462 430.767,-215.81 441.073,-213.352 437.29,-207.462"/>
|
||||
<g id="edge15" class="edge"><title>CamJamKitRobot->Robot</title>
|
||||
<path fill="none" stroke="black" d="M504.336,-252.124C490.216,-261.192 472.689,-272.448 457.439,-282.241"/>
|
||||
<polygon fill="black" stroke="black" points="455.29,-279.462 448.767,-287.81 459.073,-285.352 455.29,-279.462"/>
|
||||
</g>
|
||||
<!-- RGBLED -->
|
||||
<g id="node17" class="node"><title>RGBLED</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="523,-324 467,-324 467,-288 523,-288 523,-324"/>
|
||||
<text text-anchor="middle" x="495" y="-303.5" font-family="Sans" font-size="10.00" fill="#ffffff">RGBLED</text>
|
||||
</g>
|
||||
<!-- RGBLED->CompositeDevice -->
|
||||
<g id="edge16" class="edge"><title>RGBLED->CompositeDevice</title>
|
||||
<path fill="none" stroke="black" d="M485.854,-324.303C481.597,-332.356 476.444,-342.106 471.734,-351.018"/>
|
||||
<polygon fill="black" stroke="black" points="468.62,-349.419 467.041,-359.896 474.808,-352.69 468.62,-349.419"/>
|
||||
</g>
|
||||
<!-- Motor -->
|
||||
<g id="node18" class="node"><title>Motor</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="595,-324 541,-324 541,-288 595,-288 595,-324"/>
|
||||
<text text-anchor="middle" x="568" y="-303.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="M541.091,-324.124C526.842,-333.192 509.154,-344.448 493.764,-354.241"/>
|
||||
<polygon fill="black" stroke="black" points="491.57,-351.489 485.012,-359.81 495.328,-357.394 491.57,-351.489"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 11 KiB |
@@ -2,9 +2,20 @@
|
||||
|
||||
digraph classes {
|
||||
graph [rankdir=BT];
|
||||
node [shape=rect, style=filled, color="#2980b9", fontname=Sans, fontcolor="#ffffff", fontsize=10];
|
||||
node [shape=rect, style=filled, fontname=Sans, fontsize=10];
|
||||
edge [];
|
||||
|
||||
/* Abstract classes */
|
||||
node [color="#9ec6e0", fontcolor="#000000"]
|
||||
Device;
|
||||
GPIODevice;
|
||||
WaitableInputDevice;
|
||||
SmoothedInputDevice;
|
||||
|
||||
/* Concrete classes */
|
||||
node [color="#2980b9", fontcolor="#ffffff"];
|
||||
|
||||
GPIODevice->Device;
|
||||
InputDevice->GPIODevice;
|
||||
WaitableInputDevice->InputDevice;
|
||||
DigitalInputDevice->WaitableInputDevice;
|
||||
|
||||
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 40 KiB |
@@ -4,145 +4,155 @@
|
||||
<!-- Generated by graphviz version 2.36.0 (20140111.2315)
|
||||
-->
|
||||
<!-- Title: classes Pages: 1 -->
|
||||
<svg width="563pt" height="332pt"
|
||||
viewBox="0.00 0.00 563.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="557pt" height="404pt"
|
||||
viewBox="0.00 0.00 557.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)">
|
||||
<title>classes</title>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-328 559,-328 559,4 -4,4"/>
|
||||
<!-- InputDevice -->
|
||||
<g id="node1" class="node"><title>InputDevice</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="346.5,-252 273.5,-252 273.5,-216 346.5,-216 346.5,-252"/>
|
||||
<text text-anchor="middle" x="310" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">InputDevice</text>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-400 553,-400 553,4 -4,4"/>
|
||||
<!-- Device -->
|
||||
<g id="node1" class="node"><title>Device</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="341,-396 287,-396 287,-360 341,-360 341,-396"/>
|
||||
<text text-anchor="middle" x="314" y="-375.5" font-family="Sans" font-size="10.00" fill="#000000">Device</text>
|
||||
</g>
|
||||
<!-- GPIODevice -->
|
||||
<g id="node2" class="node"><title>GPIODevice</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="290,-324 218,-324 218,-288 290,-288 290,-324"/>
|
||||
<text text-anchor="middle" x="254" y="-303.5" font-family="Sans" font-size="10.00" fill="#ffffff">GPIODevice</text>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="350,-324 278,-324 278,-288 350,-288 350,-324"/>
|
||||
<text text-anchor="middle" x="314" y="-303.5" font-family="Sans" font-size="10.00" fill="#000000">GPIODevice</text>
|
||||
</g>
|
||||
<!-- InputDevice->GPIODevice -->
|
||||
<g id="edge1" class="edge"><title>InputDevice->GPIODevice</title>
|
||||
<path fill="none" stroke="black" d="M296.157,-252.303C289.511,-260.611 281.422,-270.723 274.113,-279.859"/>
|
||||
<polygon fill="black" stroke="black" points="271.197,-277.901 267.683,-287.896 276.664,-282.273 271.197,-277.901"/>
|
||||
<!-- GPIODevice->Device -->
|
||||
<g id="edge1" class="edge"><title>GPIODevice->Device</title>
|
||||
<path fill="none" stroke="black" d="M314,-324.303C314,-332.017 314,-341.288 314,-349.888"/>
|
||||
<polygon fill="black" stroke="black" points="310.5,-349.896 314,-359.896 317.5,-349.896 310.5,-349.896"/>
|
||||
</g>
|
||||
<!-- WaitableInputDevice -->
|
||||
<g id="node3" class="node"><title>WaitableInputDevice</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="382.5,-180 269.5,-180 269.5,-144 382.5,-144 382.5,-180"/>
|
||||
<text text-anchor="middle" x="326" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">WaitableInputDevice</text>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="296.5,-180 183.5,-180 183.5,-144 296.5,-144 296.5,-180"/>
|
||||
<text text-anchor="middle" x="240" y="-159.5" font-family="Sans" font-size="10.00" fill="#000000">WaitableInputDevice</text>
|
||||
</g>
|
||||
<!-- InputDevice -->
|
||||
<g id="node5" class="node"><title>InputDevice</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="294.5,-252 221.5,-252 221.5,-216 294.5,-216 294.5,-252"/>
|
||||
<text text-anchor="middle" x="258" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">InputDevice</text>
|
||||
</g>
|
||||
<!-- WaitableInputDevice->InputDevice -->
|
||||
<g id="edge2" class="edge"><title>WaitableInputDevice->InputDevice</title>
|
||||
<path fill="none" stroke="black" d="M322.045,-180.303C320.282,-188.017 318.163,-197.288 316.197,-205.888"/>
|
||||
<polygon fill="black" stroke="black" points="312.726,-205.367 313.91,-215.896 319.55,-206.927 312.726,-205.367"/>
|
||||
</g>
|
||||
<!-- DigitalInputDevice -->
|
||||
<g id="node4" class="node"><title>DigitalInputDevice</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="363.5,-108 260.5,-108 260.5,-72 363.5,-72 363.5,-108"/>
|
||||
<text text-anchor="middle" x="312" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">DigitalInputDevice</text>
|
||||
</g>
|
||||
<!-- DigitalInputDevice->WaitableInputDevice -->
|
||||
<g id="edge3" class="edge"><title>DigitalInputDevice->WaitableInputDevice</title>
|
||||
<path fill="none" stroke="black" d="M315.461,-108.303C317.003,-116.017 318.858,-125.288 320.578,-133.888"/>
|
||||
<polygon fill="black" stroke="black" points="317.186,-134.776 322.579,-143.896 324.05,-133.403 317.186,-134.776"/>
|
||||
<g id="edge3" class="edge"><title>WaitableInputDevice->InputDevice</title>
|
||||
<path fill="none" stroke="black" d="M244.449,-180.303C246.455,-188.102 248.869,-197.491 251.101,-206.171"/>
|
||||
<polygon fill="black" stroke="black" points="247.722,-207.082 253.602,-215.896 254.501,-205.339 247.722,-207.082"/>
|
||||
</g>
|
||||
<!-- SmoothedInputDevice -->
|
||||
<g id="node5" class="node"><title>SmoothedInputDevice</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="504.5,-108 381.5,-108 381.5,-72 504.5,-72 504.5,-108"/>
|
||||
<text text-anchor="middle" x="443" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">SmoothedInputDevice</text>
|
||||
<g id="node4" class="node"><title>SmoothedInputDevice</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="174.5,-108 51.5,-108 51.5,-72 174.5,-72 174.5,-108"/>
|
||||
<text text-anchor="middle" x="113" y="-87.5" font-family="Sans" font-size="10.00" fill="#000000">SmoothedInputDevice</text>
|
||||
</g>
|
||||
<!-- SmoothedInputDevice->WaitableInputDevice -->
|
||||
<g id="edge4" class="edge"><title>SmoothedInputDevice->WaitableInputDevice</title>
|
||||
<path fill="none" stroke="black" d="M414.379,-108.124C399.081,-117.276 380.057,-128.658 363.582,-138.515"/>
|
||||
<polygon fill="black" stroke="black" points="361.516,-135.673 354.731,-143.81 365.11,-141.68 361.516,-135.673"/>
|
||||
<g id="edge5" class="edge"><title>SmoothedInputDevice->WaitableInputDevice</title>
|
||||
<path fill="none" stroke="black" d="M144.068,-108.124C160.827,-117.361 181.706,-128.869 199.702,-138.788"/>
|
||||
<polygon fill="black" stroke="black" points="198.366,-142.048 208.813,-143.81 201.745,-135.918 198.366,-142.048"/>
|
||||
</g>
|
||||
<!-- InputDevice->GPIODevice -->
|
||||
<g id="edge2" class="edge"><title>InputDevice->GPIODevice</title>
|
||||
<path fill="none" stroke="black" d="M271.843,-252.303C278.489,-260.611 286.578,-270.723 293.887,-279.859"/>
|
||||
<polygon fill="black" stroke="black" points="291.336,-282.273 300.317,-287.896 296.803,-277.901 291.336,-282.273"/>
|
||||
</g>
|
||||
<!-- DigitalInputDevice -->
|
||||
<g id="node6" class="node"><title>DigitalInputDevice</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="295.5,-108 192.5,-108 192.5,-72 295.5,-72 295.5,-108"/>
|
||||
<text text-anchor="middle" x="244" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">DigitalInputDevice</text>
|
||||
</g>
|
||||
<!-- DigitalInputDevice->WaitableInputDevice -->
|
||||
<g id="edge4" class="edge"><title>DigitalInputDevice->WaitableInputDevice</title>
|
||||
<path fill="none" stroke="black" d="M243.011,-108.303C242.57,-116.017 242.041,-125.288 241.549,-133.888"/>
|
||||
<polygon fill="black" stroke="black" points="238.054,-133.712 240.977,-143.896 245.042,-134.112 238.054,-133.712"/>
|
||||
</g>
|
||||
<!-- Button -->
|
||||
<g id="node6" class="node"><title>Button</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="339,-36 285,-36 285,-0 339,-0 339,-36"/>
|
||||
<text text-anchor="middle" x="312" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">Button</text>
|
||||
<g id="node7" class="node"><title>Button</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="271,-36 217,-36 217,-0 271,-0 271,-36"/>
|
||||
<text text-anchor="middle" x="244" 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="M312,-36.3034C312,-44.0173 312,-53.2875 312,-61.8876"/>
|
||||
<polygon fill="black" stroke="black" points="308.5,-61.8956 312,-71.8957 315.5,-61.8957 308.5,-61.8956"/>
|
||||
<g id="edge6" class="edge"><title>Button->DigitalInputDevice</title>
|
||||
<path fill="none" stroke="black" d="M244,-36.3034C244,-44.0173 244,-53.2875 244,-61.8876"/>
|
||||
<polygon fill="black" stroke="black" points="240.5,-61.8956 244,-71.8957 247.5,-61.8957 240.5,-61.8956"/>
|
||||
</g>
|
||||
<!-- MotionSensor -->
|
||||
<g id="node7" class="node"><title>MotionSensor</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="462.5,-36 379.5,-36 379.5,-0 462.5,-0 462.5,-36"/>
|
||||
<text text-anchor="middle" x="421" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">MotionSensor</text>
|
||||
<g id="node8" 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>
|
||||
</g>
|
||||
<!-- MotionSensor->SmoothedInputDevice -->
|
||||
<g id="edge6" class="edge"><title>MotionSensor->SmoothedInputDevice</title>
|
||||
<path fill="none" stroke="black" d="M426.438,-36.3034C428.889,-44.1021 431.84,-53.4915 434.568,-62.1708"/>
|
||||
<polygon fill="black" stroke="black" points="431.287,-63.4051 437.624,-71.8957 437.965,-61.3063 431.287,-63.4051"/>
|
||||
<g id="edge7" class="edge"><title>MotionSensor->SmoothedInputDevice</title>
|
||||
<path fill="none" stroke="black" d="M58.7978,-36.3034C67.604,-44.865 78.3821,-55.3438 88.0011,-64.6955"/>
|
||||
<polygon fill="black" stroke="black" points="85.7972,-67.4343 95.407,-71.8957 90.6768,-62.4154 85.7972,-67.4343"/>
|
||||
</g>
|
||||
<!-- LightSensor -->
|
||||
<g id="node8" class="node"><title>LightSensor</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="555,-36 481,-36 481,-0 555,-0 555,-36"/>
|
||||
<text text-anchor="middle" x="518" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">LightSensor</text>
|
||||
<g id="node9" 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>
|
||||
</g>
|
||||
<!-- LightSensor->SmoothedInputDevice -->
|
||||
<g id="edge7" class="edge"><title>LightSensor->SmoothedInputDevice</title>
|
||||
<path fill="none" stroke="black" d="M499.461,-36.3034C490.197,-44.9497 478.838,-55.5514 468.743,-64.973"/>
|
||||
<polygon fill="black" stroke="black" points="466.249,-62.5137 461.326,-71.8957 471.025,-67.6312 466.249,-62.5137"/>
|
||||
<g id="edge8" class="edge"><title>LightSensor->SmoothedInputDevice</title>
|
||||
<path fill="none" stroke="black" d="M131.82,-36.3034C129.005,-44.1868 125.609,-53.6958 122.481,-62.4536"/>
|
||||
<polygon fill="black" stroke="black" points="119.176,-61.301 119.109,-71.8957 125.768,-63.6554 119.176,-61.301"/>
|
||||
</g>
|
||||
<!-- OutputDevice -->
|
||||
<g id="node9" class="node"><title>OutputDevice</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="240,-252 158,-252 158,-216 240,-216 240,-252"/>
|
||||
<text text-anchor="middle" x="199" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">OutputDevice</text>
|
||||
<g id="node10" class="node"><title>OutputDevice</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="412,-252 330,-252 330,-216 412,-216 412,-252"/>
|
||||
<text text-anchor="middle" x="371" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">OutputDevice</text>
|
||||
</g>
|
||||
<!-- OutputDevice->GPIODevice -->
|
||||
<g id="edge8" class="edge"><title>OutputDevice->GPIODevice</title>
|
||||
<path fill="none" stroke="black" d="M212.596,-252.303C219.123,-260.611 227.068,-270.723 234.247,-279.859"/>
|
||||
<polygon fill="black" stroke="black" points="231.631,-282.195 240.561,-287.896 237.135,-277.87 231.631,-282.195"/>
|
||||
<g id="edge9" class="edge"><title>OutputDevice->GPIODevice</title>
|
||||
<path fill="none" stroke="black" d="M356.91,-252.303C350.077,-260.695 341.743,-270.93 334.244,-280.139"/>
|
||||
<polygon fill="black" stroke="black" points="331.528,-277.931 327.928,-287.896 336.956,-282.351 331.528,-277.931"/>
|
||||
</g>
|
||||
<!-- DigitalOutputDevice -->
|
||||
<g id="node10" class="node"><title>DigitalOutputDevice</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="129,-180 17,-180 17,-144 129,-144 129,-180"/>
|
||||
<text text-anchor="middle" x="73" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">DigitalOutputDevice</text>
|
||||
<g id="node11" class="node"><title>DigitalOutputDevice</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="427,-180 315,-180 315,-144 427,-144 427,-180"/>
|
||||
<text text-anchor="middle" x="371" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">DigitalOutputDevice</text>
|
||||
</g>
|
||||
<!-- DigitalOutputDevice->OutputDevice -->
|
||||
<g id="edge9" class="edge"><title>DigitalOutputDevice->OutputDevice</title>
|
||||
<path fill="none" stroke="black" d="M103.823,-180.124C120.45,-189.361 141.165,-200.869 159.019,-210.788"/>
|
||||
<polygon fill="black" stroke="black" points="157.617,-214.013 168.058,-215.81 161.017,-207.894 157.617,-214.013"/>
|
||||
<g id="edge10" class="edge"><title>DigitalOutputDevice->OutputDevice</title>
|
||||
<path fill="none" stroke="black" d="M371,-180.303C371,-188.017 371,-197.288 371,-205.888"/>
|
||||
<polygon fill="black" stroke="black" points="367.5,-205.896 371,-215.896 374.5,-205.896 367.5,-205.896"/>
|
||||
</g>
|
||||
<!-- LED -->
|
||||
<g id="node11" class="node"><title>LED</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">LED</text>
|
||||
<g id="node12" class="node"><title>LED</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="375,-108 321,-108 321,-72 375,-72 375,-108"/>
|
||||
<text text-anchor="middle" x="348" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">LED</text>
|
||||
</g>
|
||||
<!-- LED->DigitalOutputDevice -->
|
||||
<g id="edge10" class="edge"><title>LED->DigitalOutputDevice</title>
|
||||
<path fill="none" stroke="black" d="M38.3708,-108.303C43.7185,-116.441 50.2043,-126.311 56.1106,-135.299"/>
|
||||
<polygon fill="black" stroke="black" points="53.3432,-137.461 61.76,-143.896 59.1932,-133.616 53.3432,-137.461"/>
|
||||
<g id="edge11" class="edge"><title>LED->DigitalOutputDevice</title>
|
||||
<path fill="none" stroke="black" d="M353.685,-108.303C356.248,-116.102 359.333,-125.491 362.185,-134.171"/>
|
||||
<polygon fill="black" stroke="black" points="358.933,-135.488 365.38,-143.896 365.584,-133.303 358.933,-135.488"/>
|
||||
</g>
|
||||
<!-- Buzzer -->
|
||||
<g id="node12" class="node"><title>Buzzer</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="126,-108 72,-108 72,-72 126,-72 126,-108"/>
|
||||
<text text-anchor="middle" x="99" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">Buzzer</text>
|
||||
<g id="node13" class="node"><title>Buzzer</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="447,-108 393,-108 393,-72 447,-72 447,-108"/>
|
||||
<text text-anchor="middle" x="420" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">Buzzer</text>
|
||||
</g>
|
||||
<!-- Buzzer->DigitalOutputDevice -->
|
||||
<g id="edge11" class="edge"><title>Buzzer->DigitalOutputDevice</title>
|
||||
<path fill="none" stroke="black" d="M92.573,-108.303C89.6449,-116.187 86.113,-125.696 82.8601,-134.454"/>
|
||||
<polygon fill="black" stroke="black" points="79.554,-133.303 79.353,-143.896 86.116,-135.74 79.554,-133.303"/>
|
||||
<g id="edge12" class="edge"><title>Buzzer->DigitalOutputDevice</title>
|
||||
<path fill="none" stroke="black" d="M407.888,-108.303C402.132,-116.526 395.138,-126.517 388.794,-135.579"/>
|
||||
<polygon fill="black" stroke="black" points="385.84,-133.696 382.973,-143.896 391.575,-137.71 385.84,-133.696"/>
|
||||
</g>
|
||||
<!-- PWMOutputDevice -->
|
||||
<g id="node13" class="node"><title>PWMOutputDevice</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="251,-180 147,-180 147,-144 251,-144 251,-180"/>
|
||||
<text text-anchor="middle" x="199" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">PWMOutputDevice</text>
|
||||
<g id="node14" class="node"><title>PWMOutputDevice</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="549,-180 445,-180 445,-144 549,-144 549,-180"/>
|
||||
<text text-anchor="middle" x="497" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">PWMOutputDevice</text>
|
||||
</g>
|
||||
<!-- PWMOutputDevice->OutputDevice -->
|
||||
<g id="edge12" class="edge"><title>PWMOutputDevice->OutputDevice</title>
|
||||
<path fill="none" stroke="black" d="M199,-180.303C199,-188.017 199,-197.288 199,-205.888"/>
|
||||
<polygon fill="black" stroke="black" points="195.5,-205.896 199,-215.896 202.5,-205.896 195.5,-205.896"/>
|
||||
<g id="edge13" class="edge"><title>PWMOutputDevice->OutputDevice</title>
|
||||
<path fill="none" stroke="black" d="M466.177,-180.124C449.55,-189.361 428.835,-200.869 410.981,-210.788"/>
|
||||
<polygon fill="black" stroke="black" points="408.983,-207.894 401.942,-215.81 412.383,-214.013 408.983,-207.894"/>
|
||||
</g>
|
||||
<!-- PWMLED -->
|
||||
<g id="node14" class="node"><title>PWMLED</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="228,-108 170,-108 170,-72 228,-72 228,-108"/>
|
||||
<text text-anchor="middle" x="199" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">PWMLED</text>
|
||||
<g id="node15" class="node"><title>PWMLED</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="526,-108 468,-108 468,-72 526,-72 526,-108"/>
|
||||
<text text-anchor="middle" x="497" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">PWMLED</text>
|
||||
</g>
|
||||
<!-- PWMLED->PWMOutputDevice -->
|
||||
<g id="edge13" class="edge"><title>PWMLED->PWMOutputDevice</title>
|
||||
<path fill="none" stroke="black" d="M199,-108.303C199,-116.017 199,-125.288 199,-133.888"/>
|
||||
<polygon fill="black" stroke="black" points="195.5,-133.896 199,-143.896 202.5,-133.896 195.5,-133.896"/>
|
||||
<g id="edge14" class="edge"><title>PWMLED->PWMOutputDevice</title>
|
||||
<path fill="none" stroke="black" d="M497,-108.303C497,-116.017 497,-125.288 497,-133.888"/>
|
||||
<polygon fill="black" stroke="black" points="493.5,-133.896 497,-143.896 500.5,-133.896 493.5,-133.896"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 79 KiB |
|
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 100 KiB |
|
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 64 KiB |
27
docs/images/spi_device_hierarchy.dot
Normal file
@@ -0,0 +1,27 @@
|
||||
digraph classes {
|
||||
graph [rankdir=BT];
|
||||
node [shape=rect, style=filled, fontname=Sans, fontsize=10];
|
||||
edge [];
|
||||
|
||||
/* Abstract classes */
|
||||
node [color="#9ec6e0", fontcolor="#000000"]
|
||||
Device;
|
||||
SPIDevice;
|
||||
AnalogInputDevice;
|
||||
MCP3xxx;
|
||||
MCP33xx;
|
||||
|
||||
/* Concrete classes */
|
||||
node [color="#2980b9", fontcolor="#ffffff"];
|
||||
SPIDevice->Device;
|
||||
AnalogInputDevice->SPIDevice;
|
||||
MCP3xxx->AnalogInputDevice;
|
||||
MCP33xx->MCP3xxx;
|
||||
MCP3004->MCP3xxx;
|
||||
MCP3008->MCP3xxx;
|
||||
MCP3204->MCP3xxx;
|
||||
MCP3208->MCP3xxx;
|
||||
MCP3301->MCP33xx;
|
||||
MCP3302->MCP33xx;
|
||||
MCP3304->MCP33xx;
|
||||
}
|
||||
BIN
docs/images/spi_device_hierarchy.pdf
Normal file
BIN
docs/images/spi_device_hierarchy.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
128
docs/images/spi_device_hierarchy.svg
Normal file
@@ -0,0 +1,128 @@
|
||||
<?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)
|
||||
-->
|
||||
<!-- Title: classes Pages: 1 -->
|
||||
<svg width="469pt" height="404pt"
|
||||
viewBox="0.00 0.00 469.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)">
|
||||
<title>classes</title>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-400 465,-400 465,4 -4,4"/>
|
||||
<!-- Device -->
|
||||
<g id="node1" class="node"><title>Device</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="297,-396 243,-396 243,-360 297,-360 297,-396"/>
|
||||
<text text-anchor="middle" x="270" y="-375.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="302,-324 238,-324 238,-288 302,-288 302,-324"/>
|
||||
<text text-anchor="middle" x="270" y="-303.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="M270,-324.303C270,-332.017 270,-341.288 270,-349.888"/>
|
||||
<polygon fill="black" stroke="black" points="266.5,-349.896 270,-359.896 273.5,-349.896 266.5,-349.896"/>
|
||||
</g>
|
||||
<!-- AnalogInputDevice -->
|
||||
<g id="node3" class="node"><title>AnalogInputDevice</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="323,-252 217,-252 217,-216 323,-216 323,-252"/>
|
||||
<text text-anchor="middle" x="270" y="-231.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="M270,-252.303C270,-260.017 270,-269.288 270,-277.888"/>
|
||||
<polygon fill="black" stroke="black" points="266.5,-277.896 270,-287.896 273.5,-277.896 266.5,-277.896"/>
|
||||
</g>
|
||||
<!-- MCP3xxx -->
|
||||
<g id="node4" class="node"><title>MCP3xxx</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="299.5,-180 240.5,-180 240.5,-144 299.5,-144 299.5,-180"/>
|
||||
<text text-anchor="middle" x="270" y="-159.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="M270,-180.303C270,-188.017 270,-197.288 270,-205.888"/>
|
||||
<polygon fill="black" stroke="black" points="266.5,-205.896 270,-215.896 273.5,-205.896 266.5,-205.896"/>
|
||||
</g>
|
||||
<!-- MCP33xx -->
|
||||
<g id="node5" class="node"><title>MCP33xx</title>
|
||||
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="141,-108 81,-108 81,-72 141,-72 141,-108"/>
|
||||
<text text-anchor="middle" x="111" y="-87.5" font-family="Sans" font-size="10.00" fill="#000000">MCP33xx</text>
|
||||
</g>
|
||||
<!-- MCP33xx->MCP3xxx -->
|
||||
<g id="edge4" class="edge"><title>MCP33xx->MCP3xxx</title>
|
||||
<path fill="none" stroke="black" d="M140.534,-104.002C166.081,-115.249 203.204,-131.593 231.154,-143.898"/>
|
||||
<polygon fill="black" stroke="black" points="230.062,-147.241 240.624,-148.067 232.882,-140.835 230.062,-147.241"/>
|
||||
</g>
|
||||
<!-- MCP3004 -->
|
||||
<g id="node6" class="node"><title>MCP3004</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="221,-108 159,-108 159,-72 221,-72 221,-108"/>
|
||||
<text text-anchor="middle" x="190" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3004</text>
|
||||
</g>
|
||||
<!-- MCP3004->MCP3xxx -->
|
||||
<g id="edge5" class="edge"><title>MCP3004->MCP3xxx</title>
|
||||
<path fill="none" stroke="black" d="M209.775,-108.303C219.754,-117.035 232.011,-127.76 242.857,-137.25"/>
|
||||
<polygon fill="black" stroke="black" points="240.622,-139.945 250.452,-143.896 245.231,-134.677 240.622,-139.945"/>
|
||||
</g>
|
||||
<!-- MCP3008 -->
|
||||
<g id="node7" class="node"><title>MCP3008</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="301,-108 239,-108 239,-72 301,-72 301,-108"/>
|
||||
<text text-anchor="middle" x="270" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3008</text>
|
||||
</g>
|
||||
<!-- MCP3008->MCP3xxx -->
|
||||
<g id="edge6" class="edge"><title>MCP3008->MCP3xxx</title>
|
||||
<path fill="none" stroke="black" d="M270,-108.303C270,-116.017 270,-125.288 270,-133.888"/>
|
||||
<polygon fill="black" stroke="black" points="266.5,-133.896 270,-143.896 273.5,-133.896 266.5,-133.896"/>
|
||||
</g>
|
||||
<!-- MCP3204 -->
|
||||
<g id="node8" class="node"><title>MCP3204</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="381,-108 319,-108 319,-72 381,-72 381,-108"/>
|
||||
<text text-anchor="middle" x="350" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3204</text>
|
||||
</g>
|
||||
<!-- MCP3204->MCP3xxx -->
|
||||
<g id="edge7" class="edge"><title>MCP3204->MCP3xxx</title>
|
||||
<path fill="none" stroke="black" d="M330.225,-108.303C320.246,-117.035 307.989,-127.76 297.143,-137.25"/>
|
||||
<polygon fill="black" stroke="black" points="294.769,-134.677 289.548,-143.896 299.378,-139.945 294.769,-134.677"/>
|
||||
</g>
|
||||
<!-- MCP3208 -->
|
||||
<g id="node9" class="node"><title>MCP3208</title>
|
||||
<polygon fill="#2980b9" stroke="#2980b9" points="461,-108 399,-108 399,-72 461,-72 461,-108"/>
|
||||
<text text-anchor="middle" x="430" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">MCP3208</text>
|
||||
</g>
|
||||
<!-- MCP3208->MCP3xxx -->
|
||||
<g id="edge8" class="edge"><title>MCP3208->MCP3xxx</title>
|
||||
<path fill="none" stroke="black" d="M399.15,-104.497C373.4,-115.762 336.557,-131.881 308.808,-144.022"/>
|
||||
<polygon fill="black" stroke="black" points="307.163,-140.921 299.405,-148.135 309.969,-147.334 307.163,-140.921"/>
|
||||
</g>
|
||||
<!-- MCP3301 -->
|
||||
<g id="node10" class="node"><title>MCP3301</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">MCP3301</text>
|
||||
</g>
|
||||
<!-- MCP3301->MCP33xx -->
|
||||
<g id="edge9" class="edge"><title>MCP3301->MCP33xx</title>
|
||||
<path fill="none" stroke="black" d="M50.7753,-36.3034C60.7537,-45.0345 73.0109,-55.7595 83.8568,-65.2497"/>
|
||||
<polygon fill="black" stroke="black" points="81.6216,-67.9446 91.4522,-71.8957 86.2312,-62.6766 81.6216,-67.9446"/>
|
||||
</g>
|
||||
<!-- MCP3302 -->
|
||||
<g id="node11" class="node"><title>MCP3302</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">MCP3302</text>
|
||||
</g>
|
||||
<!-- MCP3302->MCP33xx -->
|
||||
<g id="edge10" class="edge"><title>MCP3302->MCP33xx</title>
|
||||
<path fill="none" stroke="black" d="M111,-36.3034C111,-44.0173 111,-53.2875 111,-61.8876"/>
|
||||
<polygon fill="black" stroke="black" points="107.5,-61.8956 111,-71.8957 114.5,-61.8957 107.5,-61.8956"/>
|
||||
</g>
|
||||
<!-- MCP3304 -->
|
||||
<g id="node12" class="node"><title>MCP3304</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">MCP3304</text>
|
||||
</g>
|
||||
<!-- MCP3304->MCP33xx -->
|
||||
<g id="edge11" class="edge"><title>MCP3304->MCP33xx</title>
|
||||
<path fill="none" stroke="black" d="M171.225,-36.3034C161.246,-45.0345 148.989,-55.7595 138.143,-65.2497"/>
|
||||
<polygon fill="black" stroke="black" points="135.769,-62.6766 130.548,-71.8957 140.378,-67.9446 135.769,-62.6766"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.3 KiB |