mirror of
https://github.com/KevinMidboe/python-gpiozero.git
synced 2025-10-29 17:50:37 +00:00
Added SPI tests, simplified the shared SPI software bus implementation, and fixed several protocol errors in our MCP3xxx classes (the x2 and x1 protocols were wrong)
209 lines
12 KiB
XML
209 lines
12 KiB
XML
<?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.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)">
|
|
<title>classes</title>
|
|
<polygon fill="white" stroke="none" points="-4,4 -4,-400 866,-400 866,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>
|
|
</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>
|
|
</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"/>
|
|
</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>
|
|
</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"/>
|
|
</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>
|
|
</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"/>
|
|
</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>
|
|
</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"/>
|
|
</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>
|
|
</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"/>
|
|
</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>
|
|
</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"/>
|
|
</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>
|
|
</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"/>
|
|
</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>
|
|
</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"/>
|
|
</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>
|
|
</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"/>
|
|
</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"/>
|
|
</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>
|
|
</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"/>
|
|
</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>
|
|
</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"/>
|
|
</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>
|
|
</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"/>
|
|
</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>
|
|
</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"/>
|
|
</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"/>
|
|
</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>
|
|
</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"/>
|
|
</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>
|
|
</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"/>
|
|
</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>
|
|
</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"/>
|
|
</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>
|
|
</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"/>
|
|
</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>
|
|
</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"/>
|
|
</g>
|
|
</g>
|
|
</svg>
|