aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--frontpanel.svg1651
-rw-r--r--sw/picardy/src/main.rs54
-rw-r--r--sw/picardy/src/ui.rs88
-rw-r--r--sw/pio.txt8
4 files changed, 954 insertions, 847 deletions
diff --git a/frontpanel.svg b/frontpanel.svg
index 961e331..454d34d 100644
--- a/frontpanel.svg
+++ b/frontpanel.svg
@@ -1,6 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
@@ -10,59 +8,60 @@
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="297mm"
- height="210mm"
- viewBox="0 0 297 210"
- version="1.1"
+ sodipodi:docname="frontpanel.svg"
+ inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
id="svg8"
- inkscape:version="0.92.4 5da689c313, 2019-01-14"
- sodipodi:docname="frontpanel.svg">
+ version="1.1"
+ viewBox="0 0 297 210"
+ height="210mm"
+ width="297mm">
<defs
id="defs2" />
<sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="15.294164"
- inkscape:cx="250.11936"
- inkscape:cy="365.67548"
- inkscape:document-units="mm"
- inkscape:current-layer="layer3"
- showgrid="true"
- inkscape:window-width="1876"
- inkscape:window-height="1044"
- inkscape:window-x="1919"
- inkscape:window-y="0"
+ inkscape:document-rotation="0"
+ inkscape:snap-object-midpoints="true"
inkscape:window-maximized="1"
- inkscape:snap-object-midpoints="true">
+ inkscape:window-y="0"
+ inkscape:window-x="1919"
+ inkscape:window-height="1044"
+ inkscape:window-width="1876"
+ showgrid="true"
+ inkscape:current-layer="layer3"
+ inkscape:document-units="mm"
+ inkscape:cy="421.67161"
+ inkscape:cx="312.86424"
+ inkscape:zoom="3.823541"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base">
<inkscape:grid
- type="xygrid"
- id="grid3713"
- units="mm"
- spacingx="1"
- spacingy="1"
- color="#2a2aff"
- opacity="0.1254902"
- empcolor="#4242ff"
- empopacity="0.25098039"
+ originx="0"
visible="false"
- originx="0" />
+ empopacity="0.25098039"
+ empcolor="#4242ff"
+ opacity="0.1254902"
+ color="#2a2aff"
+ spacingy="1"
+ spacingx="1"
+ units="mm"
+ id="grid3713"
+ type="xygrid" />
<inkscape:grid
- type="xygrid"
- id="grid4530"
- units="in"
- spacingx="0.508"
- spacingy="0.508"
- color="#3d9d00"
- opacity="0.21176471"
- empcolor="#00950b"
- empopacity="0.59215686"
- originx="0.762"
+ visible="true"
originy="1.016"
- visible="true" />
+ originx="0.762"
+ empopacity="0.59215686"
+ empcolor="#00950b"
+ opacity="0.21176471"
+ color="#3d9d00"
+ spacingy="0.508"
+ spacingx="0.508"
+ units="in"
+ id="grid4530"
+ type="xygrid" />
</sodipodi:namedview>
<metadata
id="metadata5">
@@ -72,122 +71,76 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
+ <dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
- inkscape:label="Outline"
- inkscape:groupmode="layer"
- id="layer1"
+ sodipodi:insensitive="true"
transform="translate(0,-87)"
- sodipodi:insensitive="true">
+ id="layer1"
+ inkscape:groupmode="layer"
+ inkscape:label="Outline">
<path
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9476988"
- d="m 165.26435,166.444 v 64.7741 H 44.735638 V 131.78191 H 135.382"
- id="rect3715"
+ sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccc" />
+ id="rect3715"
+ d="m 165.26435,166.444 v 64.7741 H 44.735638 V 131.78191 H 135.382"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9476988" />
<text
- xml:space="preserve"
- style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:22.57777786px;line-height:6.61458302px;font-family:'Noto Sans Lao';-inkscape-font-specification:'Noto Sans Lao Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9476988"
- x="44.332863"
+ id="text4524"
y="126.3364"
- id="text4524"><tspan
- sodipodi:role="line"
- x="44.332863"
+ x="44.332863"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:22.5778px;line-height:6.61458px;font-family:'Noto Sans Lao';-inkscape-font-specification:'Noto Sans Lao Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.947699"
+ xml:space="preserve"><tspan
+ id="tspan4526"
+ style="font-size:4.93889px;line-height:4.61px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
y="126.3364"
- style="font-size:4.93888903px;line-height:4.61000013px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
- id="tspan4526">Outline 120x100 mm</tspan></text>
+ x="44.332863"
+ sodipodi:role="line">Outline 120x100 mm</tspan></text>
</g>
<g
- inkscape:groupmode="layer"
- id="layer2"
+ sodipodi:insensitive="true"
inkscape:label="noholes"
- sodipodi:insensitive="true">
+ id="layer2"
+ inkscape:groupmode="layer">
<rect
- style="opacity:1;fill:#a4a4a4;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9476988"
- id="rect4590"
- width="90.382004"
- height="5.2948303"
+ y="45.000008"
x="45"
- y="45.000008" />
+ height="5.2948303"
+ width="90.382004"
+ id="rect4590"
+ style="opacity:1;fill:#a4a4a4;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9476988" />
<rect
- y="79.444008"
- x="159.54544"
- height="64.555992"
- width="5.4545593"
+ style="opacity:1;fill:#a4a4a4;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9476988"
id="rect4592"
- style="opacity:1;fill:#a4a4a4;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9476988" />
+ width="5.4545593"
+ height="64.555992"
+ x="159.54544"
+ y="79.444008" />
<rect
- y="142"
- x="45"
- height="1.9999951"
- width="120"
+ style="opacity:1;fill:#a4a4a4;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9476988"
id="rect4594"
- style="opacity:1;fill:#a4a4a4;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9476988" />
+ width="120"
+ height="1.9999951"
+ x="45"
+ y="142" />
<path
- id="path4598"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9476988"
+ inkscape:connector-curvature="0"
d="m 165,79.444005 h -29.618 v -10.16 m 0,-24.284 v 24.284 0"
- inkscape:connector-curvature="0" />
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9476988"
+ id="path4598" />
</g>
<g
- inkscape:groupmode="layer"
- id="layer3"
+ style="opacity:0.99"
inkscape:label="Devices"
- style="opacity:0.99">
+ id="layer3"
+ inkscape:groupmode="layer">
<g
id="g4626">
<ellipse
- ry="1.0160071"
- rx="1.0160029"
- cy="132.78401"
- cx="69.342003"
- id="path4603"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
- <ellipse
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
- id="ellipse4605"
- cx="74.421997"
- cy="132.78401"
- rx="1.0160029"
- ry="1.0160071" />
- <ellipse
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
- id="ellipse4607"
- cx="69.342003"
- cy="125.164"
- rx="1.0160029"
- ry="1.0160071" />
- <ellipse
- ry="1.0160071"
- rx="1.0160029"
- cy="125.164"
- cx="74.421997"
- id="ellipse4609"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
- <rect
- y="126.18001"
- x="69.342003"
- height="5.587997"
- width="5.0799971"
- id="rect4616"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
- <ellipse
- ry="1.7856406"
- rx="1.7856332"
- cy="129"
- cx="71.882004"
- id="ellipse4618"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.87875402;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
- </g>
- <g
- id="g4640"
- transform="translate(15.239997,-7.0088705e-6)">
- <ellipse
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
- id="ellipse4628"
+ id="path4603"
cx="69.342003"
cy="132.78401"
rx="1.0160029"
@@ -197,57 +150,57 @@
rx="1.0160029"
cy="132.78401"
cx="74.421997"
- id="ellipse4630"
+ id="ellipse4605"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
<ellipse
ry="1.0160071"
rx="1.0160029"
cy="125.164"
cx="69.342003"
- id="ellipse4632"
+ id="ellipse4607"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
<ellipse
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
- id="ellipse4634"
+ id="ellipse4609"
cx="74.421997"
cy="125.164"
rx="1.0160029"
ry="1.0160071" />
<rect
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
- id="rect4636"
+ id="rect4616"
width="5.0799971"
height="5.587997"
x="69.342003"
y="126.18001" />
<ellipse
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.87875402;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
- id="ellipse4638"
+ id="ellipse4618"
cx="71.882004"
cy="129"
rx="1.7856332"
ry="1.7856406" />
</g>
<g
- transform="translate(30.479997,-7.0088705e-6)"
- id="g4654">
+ transform="translate(15.239997,-7.0088705e-6)"
+ id="g4640">
<ellipse
ry="1.0160071"
rx="1.0160029"
cy="132.78401"
cx="69.342003"
- id="ellipse4642"
+ id="ellipse4628"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
<ellipse
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
- id="ellipse4644"
+ id="ellipse4630"
cx="74.421997"
cy="132.78401"
rx="1.0160029"
ry="1.0160071" />
<ellipse
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
- id="ellipse4646"
+ id="ellipse4632"
cx="69.342003"
cy="125.164"
rx="1.0160029"
@@ -257,29 +210,29 @@
rx="1.0160029"
cy="125.164"
cx="74.421997"
- id="ellipse4648"
+ id="ellipse4634"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
<rect
y="126.18001"
x="69.342003"
height="5.587997"
width="5.0799971"
- id="rect4650"
+ id="rect4636"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
<ellipse
ry="1.7856406"
rx="1.7856332"
cy="129"
cx="71.882004"
- id="ellipse4652"
+ id="ellipse4638"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.87875402;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
</g>
<g
- id="g4668"
- transform="translate(-7.6200029,-12.700007)">
+ id="g4654"
+ transform="translate(30.479997,-7.0088705e-6)">
<ellipse
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
- id="ellipse4656"
+ id="ellipse4642"
cx="69.342003"
cy="132.78401"
rx="1.0160029"
@@ -289,57 +242,57 @@
rx="1.0160029"
cy="132.78401"
cx="74.421997"
- id="ellipse4658"
+ id="ellipse4644"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
<ellipse
ry="1.0160071"
rx="1.0160029"
cy="125.164"
cx="69.342003"
- id="ellipse4660"
+ id="ellipse4646"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
<ellipse
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
- id="ellipse4662"
+ id="ellipse4648"
cx="74.421997"
cy="125.164"
rx="1.0160029"
ry="1.0160071" />
<rect
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
- id="rect4664"
+ id="rect4650"
width="5.0799971"
height="5.587997"
x="69.342003"
y="126.18001" />
<ellipse
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.87875402;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
- id="ellipse4666"
+ id="ellipse4652"
cx="71.882004"
cy="129"
rx="1.7856332"
ry="1.7856406" />
</g>
<g
- transform="translate(7.6199941,-12.700014)"
- id="g4682">
+ transform="translate(-7.6200029,-12.700007)"
+ id="g4668">
<ellipse
ry="1.0160071"
rx="1.0160029"
cy="132.78401"
cx="69.342003"
- id="ellipse4670"
+ id="ellipse4656"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
<ellipse
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
- id="ellipse4672"
+ id="ellipse4658"
cx="74.421997"
cy="132.78401"
rx="1.0160029"
ry="1.0160071" />
<ellipse
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
- id="ellipse4674"
+ id="ellipse4660"
cx="69.342003"
cy="125.164"
rx="1.0160029"
@@ -349,29 +302,29 @@
rx="1.0160029"
cy="125.164"
cx="74.421997"
- id="ellipse4676"
+ id="ellipse4662"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
<rect
y="126.18001"
x="69.342003"
height="5.587997"
width="5.0799971"
- id="rect4678"
+ id="rect4664"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
<ellipse
ry="1.7856406"
rx="1.7856332"
cy="129"
cx="71.882004"
- id="ellipse4680"
+ id="ellipse4666"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.87875402;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
</g>
<g
- id="g4696"
- transform="translate(22.859994,-12.700014)">
+ id="g4682"
+ transform="translate(7.6199941,-12.700014)">
<ellipse
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
- id="ellipse4684"
+ id="ellipse4670"
cx="69.342003"
cy="132.78401"
rx="1.0160029"
@@ -381,57 +334,57 @@
rx="1.0160029"
cy="132.78401"
cx="74.421997"
- id="ellipse4686"
+ id="ellipse4672"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
<ellipse
ry="1.0160071"
rx="1.0160029"
cy="125.164"
cx="69.342003"
- id="ellipse4688"
+ id="ellipse4674"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
<ellipse
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
- id="ellipse4690"
+ id="ellipse4676"
cx="74.421997"
cy="125.164"
rx="1.0160029"
ry="1.0160071" />
<rect
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
- id="rect4692"
+ id="rect4678"
width="5.0799971"
height="5.587997"
x="69.342003"
y="126.18001" />
<ellipse
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.87875402;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
- id="ellipse4694"
+ id="ellipse4680"
cx="71.882004"
cy="129"
rx="1.7856332"
ry="1.7856406" />
</g>
<g
- transform="translate(38.099997,-12.700007)"
- id="g4710">
+ transform="translate(22.859994,-12.700014)"
+ id="g4696">
<ellipse
ry="1.0160071"
rx="1.0160029"
cy="132.78401"
cx="69.342003"
- id="ellipse4698"
+ id="ellipse4684"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
<ellipse
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
- id="ellipse4700"
+ id="ellipse4686"
cx="74.421997"
cy="132.78401"
rx="1.0160029"
ry="1.0160071" />
<ellipse
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
- id="ellipse4702"
+ id="ellipse4688"
cx="69.342003"
cy="125.164"
rx="1.0160029"
@@ -441,839 +394,935 @@
rx="1.0160029"
cy="125.164"
cx="74.421997"
- id="ellipse4704"
+ id="ellipse4690"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
<rect
y="126.18001"
x="69.342003"
height="5.587997"
width="5.0799971"
- id="rect4706"
+ id="rect4692"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
<ellipse
ry="1.7856406"
rx="1.7856332"
cy="129"
cx="71.882004"
- id="ellipse4708"
+ id="ellipse4694"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.87875402;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
</g>
<g
- id="g4996"
- transform="translate(-137.15999,12.7)">
+ id="g4710"
+ transform="translate(38.099997,-12.700007)">
+ <ellipse
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
+ id="ellipse4698"
+ cx="69.342003"
+ cy="132.78401"
+ rx="1.0160029"
+ ry="1.0160071" />
+ <ellipse
+ ry="1.0160071"
+ rx="1.0160029"
+ cy="132.78401"
+ cx="74.421997"
+ id="ellipse4700"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
+ <ellipse
+ ry="1.0160071"
+ rx="1.0160029"
+ cy="125.164"
+ cx="69.342003"
+ id="ellipse4702"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768" />
+ <ellipse
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
+ id="ellipse4704"
+ cx="74.421997"
+ cy="125.164"
+ rx="1.0160029"
+ ry="1.0160071" />
<rect
- y="59.664005"
- x="183.26199"
- height="36.139996"
- width="80.166016"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
+ id="rect4706"
+ width="5.0799971"
+ height="5.587997"
+ x="69.342003"
+ y="126.18001" />
+ <ellipse
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.87875402;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98744768"
+ id="ellipse4708"
+ cx="71.882004"
+ cy="129"
+ rx="1.7856332"
+ ry="1.7856406" />
+ </g>
+ <g
+ transform="translate(-137.15999,12.7)"
+ id="g4996">
+ <rect
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.97698741"
id="rect4712"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.97698741" />
+ width="80.166016"
+ height="36.139996"
+ x="183.26199"
+ y="59.664005" />
<rect
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98117155"
- id="rect4714"
- width="50"
- height="21.132002"
+ y="42.532005"
x="183.26199"
- y="42.532005" />
+ height="21.132002"
+ width="50"
+ id="rect4714"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98117155" />
<rect
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.97698741"
- id="rect4716"
- width="71"
- height="27.999998"
+ y="64.664009"
x="188.26199"
- y="64.664009" />
+ height="27.999998"
+ width="71"
+ id="rect4716"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.97698741" />
<text
- id="text4720"
- y="75.914955"
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.93889px;line-height:4.61px;font-family:'Noto Sans Lao';-inkscape-font-specification:'Noto Sans Lao Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.976987"
x="197.90331"
- style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.93888855px;line-height:4.61000013px;font-family:'Noto Sans Lao';-inkscape-font-specification:'Noto Sans Lao Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.97698741"
- xml:space="preserve"><tspan
- style="stroke-width:0.5"
- y="75.914955"
- x="197.90331"
+ y="75.914955"
+ id="text4720"><tspan
+ sodipodi:role="line"
id="tspan4718"
- sodipodi:role="line">LCD 2x16</tspan></text>
+ x="197.90331"
+ y="75.914955"
+ style="stroke-width:0.5">LCD 2x16</tspan></text>
<text
- id="text4724"
- y="57.971058"
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.93889px;line-height:4.61px;font-family:'Noto Sans Lao';-inkscape-font-specification:'Noto Sans Lao Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.976987"
x="193.43155"
- style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.93888855px;line-height:4.61000013px;font-family:'Noto Sans Lao';-inkscape-font-specification:'Noto Sans Lao Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.97698741"
- xml:space="preserve"><tspan
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777767px;font-family:'Noto Sans Lao';-inkscape-font-specification:'Noto Sans Lao';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
- y="57.971058"
- x="193.43155"
+ y="57.971058"
+ id="text4724"><tspan
+ sodipodi:role="line"
id="tspan4722"
- sodipodi:role="line">I2C backpack</tspan></text>
+ x="193.43155"
+ y="57.971058"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Noto Sans Lao';-inkscape-font-specification:'Noto Sans Lao';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none">I2C backpack</tspan></text>
<ellipse
- inkscape:tile-y0="60.398"
- inkscape:tile-x0="189.996"
- inkscape:tile-h="2.5320142"
- inkscape:tile-w="2.5320059"
- inkscape:tile-cy="61.664007"
- inkscape:tile-cx="191.262"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="ellipse4704-3"
- cx="191.26199"
- cy="61.664005"
+ ry="1.0160071"
rx="1.0160029"
- ry="1.0160071" />
+ cy="61.664005"
+ cx="191.26199"
+ id="ellipse4704-3"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ inkscape:tile-cx="191.262"
+ inkscape:tile-cy="61.664007"
+ inkscape:tile-w="2.5320059"
+ inkscape:tile-h="2.5320142"
+ inkscape:tile-x0="189.996"
+ inkscape:tile-y0="60.398" />
<use
- id="use4869"
- xlink:href="#ellipse4704-3"
- inkscape:tiled-clone-of="#ellipse4704-3"
- y="0"
- x="0"
+ height="100%"
width="100%"
- height="100%" />
- <use
- id="use4871"
- transform="translate(2.5396019)"
- xlink:href="#ellipse4704-3"
- inkscape:tiled-clone-of="#ellipse4704-3"
- y="0"
x="0"
- width="100%"
- height="100%" />
- <use
- id="use4873"
- transform="translate(5.0792038)"
- xlink:href="#ellipse4704-3"
- inkscape:tiled-clone-of="#ellipse4704-3"
y="0"
- x="0"
- width="100%"
- height="100%" />
- <use
- id="use4875"
- transform="translate(7.6188056)"
- xlink:href="#ellipse4704-3"
inkscape:tiled-clone-of="#ellipse4704-3"
- y="0"
- x="0"
- width="100%"
- height="100%" />
- <use
- id="use4877"
- transform="translate(10.158408)"
xlink:href="#ellipse4704-3"
- inkscape:tiled-clone-of="#ellipse4704-3"
- y="0"
- x="0"
- width="100%"
- height="100%" />
+ id="use4869" />
<use
- id="use4879"
- transform="translate(12.698009)"
- xlink:href="#ellipse4704-3"
- inkscape:tiled-clone-of="#ellipse4704-3"
- y="0"
- x="0"
+ height="100%"
width="100%"
- height="100%" />
- <use
- id="use4881"
- transform="translate(15.237611)"
- xlink:href="#ellipse4704-3"
- inkscape:tiled-clone-of="#ellipse4704-3"
- y="0"
x="0"
- width="100%"
- height="100%" />
- <use
- id="use4883"
- transform="translate(17.777213)"
- xlink:href="#ellipse4704-3"
- inkscape:tiled-clone-of="#ellipse4704-3"
y="0"
- x="0"
- width="100%"
- height="100%" />
- <use
- id="use4885"
- transform="translate(20.316815)"
- xlink:href="#ellipse4704-3"
inkscape:tiled-clone-of="#ellipse4704-3"
- y="0"
- x="0"
- width="100%"
- height="100%" />
- <use
- id="use4887"
- transform="translate(22.856417)"
xlink:href="#ellipse4704-3"
- inkscape:tiled-clone-of="#ellipse4704-3"
- y="0"
- x="0"
- width="100%"
- height="100%" />
+ transform="translate(2.5396019)"
+ id="use4871" />
<use
- id="use4889"
- transform="translate(25.396019)"
- xlink:href="#ellipse4704-3"
- inkscape:tiled-clone-of="#ellipse4704-3"
- y="0"
- x="0"
+ height="100%"
width="100%"
- height="100%" />
- <use
- id="use4891"
- transform="translate(27.935621)"
- xlink:href="#ellipse4704-3"
- inkscape:tiled-clone-of="#ellipse4704-3"
- y="0"
x="0"
- width="100%"
- height="100%" />
- <use
- id="use4893"
- transform="translate(30.475223)"
- xlink:href="#ellipse4704-3"
- inkscape:tiled-clone-of="#ellipse4704-3"
y="0"
- x="0"
- width="100%"
- height="100%" />
- <use
- id="use4895"
- transform="translate(33.014824)"
- xlink:href="#ellipse4704-3"
inkscape:tiled-clone-of="#ellipse4704-3"
- y="0"
+ xlink:href="#ellipse4704-3"
+ transform="translate(5.0792038)"
+ id="use4873" />
+ <use
+ height="100%"
+ width="100%"
x="0"
+ y="0"
+ inkscape:tiled-clone-of="#ellipse4704-3"
+ xlink:href="#ellipse4704-3"
+ transform="translate(7.6188056)"
+ id="use4875" />
+ <use
+ height="100%"
width="100%"
- height="100%" />
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#ellipse4704-3"
+ xlink:href="#ellipse4704-3"
+ transform="translate(10.158408)"
+ id="use4877" />
<use
- id="use4897"
- transform="translate(35.554426)"
+ height="100%"
+ width="100%"
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#ellipse4704-3"
xlink:href="#ellipse4704-3"
+ transform="translate(12.698009)"
+ id="use4879" />
+ <use
+ height="100%"
+ width="100%"
+ x="0"
+ y="0"
inkscape:tiled-clone-of="#ellipse4704-3"
+ xlink:href="#ellipse4704-3"
+ transform="translate(15.237611)"
+ id="use4881" />
+ <use
+ height="100%"
+ width="100%"
+ x="0"
y="0"
+ inkscape:tiled-clone-of="#ellipse4704-3"
+ xlink:href="#ellipse4704-3"
+ transform="translate(17.777213)"
+ id="use4883" />
+ <use
+ height="100%"
+ width="100%"
x="0"
+ y="0"
+ inkscape:tiled-clone-of="#ellipse4704-3"
+ xlink:href="#ellipse4704-3"
+ transform="translate(20.316815)"
+ id="use4885" />
+ <use
+ height="100%"
width="100%"
- height="100%" />
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#ellipse4704-3"
+ xlink:href="#ellipse4704-3"
+ transform="translate(22.856417)"
+ id="use4887" />
<use
- id="use4899"
- transform="translate(38.094028)"
+ height="100%"
+ width="100%"
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#ellipse4704-3"
xlink:href="#ellipse4704-3"
+ transform="translate(25.396019)"
+ id="use4889" />
+ <use
+ height="100%"
+ width="100%"
+ x="0"
+ y="0"
inkscape:tiled-clone-of="#ellipse4704-3"
+ xlink:href="#ellipse4704-3"
+ transform="translate(27.935621)"
+ id="use4891" />
+ <use
+ height="100%"
+ width="100%"
+ x="0"
y="0"
+ inkscape:tiled-clone-of="#ellipse4704-3"
+ xlink:href="#ellipse4704-3"
+ transform="translate(30.475223)"
+ id="use4893" />
+ <use
+ height="100%"
+ width="100%"
x="0"
+ y="0"
+ inkscape:tiled-clone-of="#ellipse4704-3"
+ xlink:href="#ellipse4704-3"
+ transform="translate(33.014824)"
+ id="use4895" />
+ <use
+ height="100%"
width="100%"
- height="100%" />
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#ellipse4704-3"
+ xlink:href="#ellipse4704-3"
+ transform="translate(35.554426)"
+ id="use4897" />
<use
- transform="translate(-5.0799934,-15.24)"
height="100%"
width="100%"
x="0"
y="0"
inkscape:tiled-clone-of="#ellipse4704-3"
xlink:href="#ellipse4704-3"
- id="use4951" />
+ transform="translate(38.094028)"
+ id="use4899" />
<use
- id="use4953"
+ id="use4951"
xlink:href="#ellipse4704-3"
inkscape:tiled-clone-of="#ellipse4704-3"
y="0"
x="0"
width="100%"
height="100%"
- transform="translate(-1.0159934,-15.24)" />
+ transform="translate(-5.0799934,-15.24)" />
<use
- transform="translate(3.0480066,-15.24)"
+ transform="translate(-1.0159934,-15.24)"
height="100%"
width="100%"
x="0"
y="0"
inkscape:tiled-clone-of="#ellipse4704-3"
xlink:href="#ellipse4704-3"
- id="use4955" />
+ id="use4953" />
<use
- id="use4957"
+ id="use4955"
xlink:href="#ellipse4704-3"
inkscape:tiled-clone-of="#ellipse4704-3"
y="0"
x="0"
width="100%"
height="100%"
- transform="translate(7.1120066,-15.24)" />
+ transform="translate(3.0480066,-15.24)" />
<use
- transform="translate(11.176007,-15.24)"
+ transform="translate(7.1120066,-15.24)"
height="100%"
width="100%"
x="0"
y="0"
inkscape:tiled-clone-of="#ellipse4704-3"
xlink:href="#ellipse4704-3"
- id="use4959" />
+ id="use4957" />
+ <use
+ id="use4959"
+ xlink:href="#ellipse4704-3"
+ inkscape:tiled-clone-of="#ellipse4704-3"
+ y="0"
+ x="0"
+ width="100%"
+ height="100%"
+ transform="translate(11.176007,-15.24)" />
<text
- id="text4963"
- y="49.836163"
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;line-height:4.61px;font-family:'Noto Sans Lao';-inkscape-font-specification:'Noto Sans Lao';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.987448"
x="183.58234"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777767px;line-height:4.61000013px;font-family:'Noto Sans Lao';-inkscape-font-specification:'Noto Sans Lao';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9874477"
- xml:space="preserve"><tspan
- style="font-size:2.11666656px;stroke:none;stroke-width:0.5"
- y="49.836163"
- x="183.58234"
+ y="49.836163"
+ id="text4963"><tspan
+ sodipodi:role="line"
id="tspan4961"
- sodipodi:role="line">GND 5V CLK DAT LAT</tspan></text>
+ x="183.58234"
+ y="49.836163"
+ style="font-size:2.11667px;stroke:none;stroke-width:0.5">GND 5V CLK DAT LAT</tspan></text>
</g>
<g
- id="g5038"
- transform="translate(27.94,-35.560001)">
- <ellipse
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9874477"
- id="ellipse4998"
- cx="125.222"
- cy="158.18401"
- rx="1.0160029"
- ry="1.0160071" />
+ transform="translate(27.94,-35.560001)"
+ id="g5038">
<ellipse
ry="1.0160071"
rx="1.0160029"
- cy="163.26401"
+ cy="158.18401"
cx="125.222"
- id="ellipse5000"
+ id="ellipse4998"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9874477" />
<ellipse
- ry="1.0160071"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9874477"
+ id="ellipse5000"
+ cx="125.222"
+ cy="163.26401"
rx="1.0160029"
- cy="158.18401"
- cx="110"
- id="ellipse5002"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9874477" />
+ ry="1.0160071" />
<ellipse
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9874477"
- id="ellipse5004"
- cx="109.982"
- cy="163.26401"
+ id="ellipse5002"
+ cx="110"
+ cy="158.18401"
rx="1.0160029"
ry="1.0160071" />
+ <ellipse
+ ry="1.0160071"
+ rx="1.0160029"
+ cy="163.26401"
+ cx="109.982"
+ id="ellipse5004"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9874477" />
<rect
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9874477"
- id="rect5006"
- width="12.191998"
- height="12.192002"
+ y="154.62801"
x="111.506"
- y="154.62801" />
+ height="12.192002"
+ width="12.191998"
+ id="rect5006"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9874477" />
<ellipse
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.87875402;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9874477"
- id="ellipse5008"
- cx="117.602"
- cy="160.724"
+ ry="4.0639944"
rx="4.0639973"
- ry="4.0639944" />
- <ellipse
- ry="1.0160071"
- rx="1.0160029"
cy="160.724"
- cx="109.982"
+ cx="117.602"
+ id="ellipse5008"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.87875402;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9874477" />
+ <ellipse
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9874477"
id="ellipse5018"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9874477" />
+ cx="109.982"
+ cy="160.724"
+ rx="1.0160029"
+ ry="1.0160071" />
<path
- id="ellipse5020"
- transform="scale(0.26458333)"
- d="m 444.48047,565.2207 a 3.8400109,3.8400267 0 0 0 -3.83985,3.83985 v 15.35937 h 7.67969 v -15.35937 a 3.8400109,3.8400267 0 0 0 -3.83984,-3.83985 z"
+ inkscape:connector-curvature="0"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.88976383;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9874477"
- inkscape:connector-curvature="0" />
+ d="m 444.48047,565.2207 a 3.8400109,3.8400267 0 0 0 -3.83985,3.83985 v 15.35937 h 7.67969 v -15.35937 a 3.8400109,3.8400267 0 0 0 -3.83984,-3.83985 z"
+ transform="scale(0.26458333)"
+ id="ellipse5020" />
<path
- inkscape:connector-curvature="0"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9874477"
+ id="path5027"
d="m 117.60204,171.8998 a 1.0160029,1.0160071 0 0 0 1.01596,-1.01597 V 166.82 h -2.03192 v 4.06383 a 1.0160029,1.0160071 0 0 0 1.01596,1.01597 z"
- id="path5027" />
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9874477"
+ inkscape:connector-curvature="0" />
</g>
<path
- style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9874477"
- d="m 145.542,125.164 v -30.479995 0"
+ inkscape:connector-curvature="0"
id="path5040"
- inkscape:connector-curvature="0" />
- <circle
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9874477"
- id="path5048"
- cx="145.54201"
- cy="94.684006"
- r="5.316" />
+ d="m 145.542,125.164 v -30.479995 0"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9874477" />
<circle
r="5.316"
- cy="68.183998"
+ cy="94.684006"
cx="145.54201"
- id="circle5050"
+ id="path5048"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9874477" />
+ <circle
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9874477"
+ id="circle5050"
+ cx="145.54201"
+ cy="68.183998"
+ r="5.316" />
<path
- style="opacity:1;fill:#37ae35;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="m 110.84071,55.206114 a 3.0480031,3.0479997 0 0 0 -1.36684,2.539897 3.0480031,3.0479997 0 0 0 3.04787,3.047875 3.0480031,3.0479997 0 0 0 3.04839,-3.047875 3.0480031,3.0479997 0 0 0 -1.36684,-2.539897 z"
+ inkscape:connector-curvature="0"
id="circle5054"
- inkscape:connector-curvature="0" />
- <ellipse
- style="opacity:1;fill:none;fill-opacity:1;stroke:#494949;stroke-width:0.32690144;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="ellipse4690-6"
- cx="112.522"
- cy="56.584003"
- rx="0.66426557"
- ry="0.66426831" />
+ d="m 110.84071,55.206114 a 3.0480031,3.0479997 0 0 0 -1.36684,2.539897 3.0480031,3.0479997 0 0 0 3.04787,3.047875 3.0480031,3.0479997 0 0 0 3.04839,-3.047875 3.0480031,3.0479997 0 0 0 -1.36684,-2.539897 z"
+ style="opacity:1;fill:#37ae35;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<ellipse
ry="0.66426831"
rx="0.66426557"
- cy="59.124004"
+ cy="56.584003"
cx="112.522"
- id="ellipse5078"
+ id="ellipse4690-6"
style="opacity:1;fill:none;fill-opacity:1;stroke:#494949;stroke-width:0.32690144;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- inkscape:connector-curvature="0"
- id="path5080"
- d="m 123.54071,55.206115 a 3.0480031,3.0479997 0 0 0 -1.36684,2.539897 3.0480031,3.0479997 0 0 0 3.04787,3.047875 3.0480031,3.0479997 0 0 0 3.04839,-3.047875 3.0480031,3.0479997 0 0 0 -1.36684,-2.539897 z"
- style="opacity:1;fill:#c22121;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<ellipse
- ry="0.66426831"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#494949;stroke-width:0.32690144;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="ellipse5078"
+ cx="112.522"
+ cy="59.124004"
rx="0.66426557"
- cy="56.584003"
- cx="125.222"
- id="ellipse5082"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#494949;stroke-width:0.32690144;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ ry="0.66426831" />
+ <path
+ style="opacity:1;fill:#c22121;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 123.54071,55.206115 a 3.0480031,3.0479997 0 0 0 -1.36684,2.539897 3.0480031,3.0479997 0 0 0 3.04787,3.047875 3.0480031,3.0479997 0 0 0 3.04839,-3.047875 3.0480031,3.0479997 0 0 0 -1.36684,-2.539897 z"
+ id="path5080"
+ inkscape:connector-curvature="0" />
<ellipse
style="opacity:1;fill:none;fill-opacity:1;stroke:#494949;stroke-width:0.32690144;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="ellipse5084"
+ id="ellipse5082"
cx="125.222"
- cy="59.124004"
+ cy="56.584003"
rx="0.66426557"
ry="0.66426831" />
+ <ellipse
+ ry="0.66426831"
+ rx="0.66426557"
+ cy="59.124004"
+ cx="125.222"
+ id="ellipse5084"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#494949;stroke-width:0.32690144;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<use
- transform="rotate(90,179.8318,52.774208)"
- style="opacity:0.98999999"
- id="use4869-7"
- xlink:href="#ellipse4704-3"
- inkscape:tiled-clone-of="#ellipse4704-3"
- y="0"
- x="0"
+ height="100%"
width="100%"
- height="100%" />
- <use
- style="opacity:0.98999999"
- id="use4871-5"
- transform="rotate(90,178.562,54.044008)"
- xlink:href="#ellipse4704-3"
- inkscape:tiled-clone-of="#ellipse4704-3"
- y="0"
x="0"
- width="100%"
- height="100%" />
- <use
- style="opacity:0.98999999"
- id="use4873-3"
- transform="rotate(90,177.2922,55.313808)"
- xlink:href="#ellipse4704-3"
- inkscape:tiled-clone-of="#ellipse4704-3"
y="0"
- x="0"
- width="100%"
- height="100%" />
- <use
- style="opacity:0.98999999"
- id="use4875-5"
- transform="rotate(90,176.0224,56.583608)"
- xlink:href="#ellipse4704-3"
inkscape:tiled-clone-of="#ellipse4704-3"
- y="0"
- x="0"
- width="100%"
- height="100%" />
- <use
- style="opacity:0.98999999"
- id="use4877-6"
- transform="rotate(90,174.75259,57.853413)"
xlink:href="#ellipse4704-3"
- inkscape:tiled-clone-of="#ellipse4704-3"
- y="0"
- x="0"
- width="100%"
- height="100%" />
- <use
+ id="use4869-7"
style="opacity:0.98999999"
- id="use4879-2"
- transform="rotate(90,173.48279,59.123213)"
- xlink:href="#ellipse4704-3"
- inkscape:tiled-clone-of="#ellipse4704-3"
- y="0"
- x="0"
- width="100%"
- height="100%" />
+ transform="rotate(90,179.8318,52.774208)" />
<use
- style="opacity:0.98999999"
- id="use4881-9"
- transform="rotate(90,172.21299,60.393013)"
- xlink:href="#ellipse4704-3"
- inkscape:tiled-clone-of="#ellipse4704-3"
- y="0"
- x="0"
+ height="100%"
width="100%"
- height="100%" />
- <use
- style="opacity:0.98999999"
- id="use4883-1"
- transform="rotate(90,170.94319,61.662813)"
- xlink:href="#ellipse4704-3"
- inkscape:tiled-clone-of="#ellipse4704-3"
- y="0"
x="0"
- width="100%"
- height="100%" />
- <use
- style="opacity:0.98999999"
- id="use4885-2"
- transform="rotate(90,169.67339,62.932618)"
- xlink:href="#ellipse4704-3"
- inkscape:tiled-clone-of="#ellipse4704-3"
y="0"
- x="0"
- width="100%"
- height="100%" />
- <use
- style="opacity:0.98999999"
- id="use4887-7"
- transform="rotate(90,168.40359,64.202418)"
- xlink:href="#ellipse4704-3"
inkscape:tiled-clone-of="#ellipse4704-3"
- y="0"
- x="0"
- width="100%"
- height="100%" />
+ xlink:href="#ellipse4704-3"
+ transform="rotate(90,178.562,54.044008)"
+ id="use4871-5"
+ style="opacity:0.98999999" />
<use
- style="opacity:0.98999999"
- id="use4889-0"
- transform="rotate(90,167.13379,65.472218)"
+ height="100%"
+ width="100%"
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#ellipse4704-3"
xlink:href="#ellipse4704-3"
+ transform="rotate(90,177.2922,55.313808)"
+ id="use4873-3"
+ style="opacity:0.98999999" />
+ <use
+ height="100%"
+ width="100%"
+ x="0"
+ y="0"
inkscape:tiled-clone-of="#ellipse4704-3"
+ xlink:href="#ellipse4704-3"
+ transform="rotate(90,176.0224,56.583608)"
+ id="use4875-5"
+ style="opacity:0.98999999" />
+ <use
+ height="100%"
+ width="100%"
+ x="0"
y="0"
+ inkscape:tiled-clone-of="#ellipse4704-3"
+ xlink:href="#ellipse4704-3"
+ transform="rotate(90,174.75259,57.853413)"
+ id="use4877-6"
+ style="opacity:0.98999999" />
+ <use
+ height="100%"
+ width="100%"
x="0"
+ y="0"
+ inkscape:tiled-clone-of="#ellipse4704-3"
+ xlink:href="#ellipse4704-3"
+ transform="rotate(90,173.48279,59.123213)"
+ id="use4879-2"
+ style="opacity:0.98999999" />
+ <use
+ height="100%"
width="100%"
- height="100%" />
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#ellipse4704-3"
+ xlink:href="#ellipse4704-3"
+ transform="rotate(90,172.21299,60.393013)"
+ id="use4881-9"
+ style="opacity:0.98999999" />
<use
- style="opacity:0.98999999"
- id="use4891-9"
- transform="rotate(90,165.86399,66.742018)"
+ height="100%"
+ width="100%"
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#ellipse4704-3"
xlink:href="#ellipse4704-3"
+ transform="rotate(90,170.94319,61.662813)"
+ id="use4883-1"
+ style="opacity:0.98999999" />
+ <use
+ height="100%"
+ width="100%"
+ x="0"
+ y="0"
inkscape:tiled-clone-of="#ellipse4704-3"
+ xlink:href="#ellipse4704-3"
+ transform="rotate(90,169.67339,62.932618)"
+ id="use4885-2"
+ style="opacity:0.98999999" />
+ <use
+ height="100%"
+ width="100%"
+ x="0"
y="0"
+ inkscape:tiled-clone-of="#ellipse4704-3"
+ xlink:href="#ellipse4704-3"
+ transform="rotate(90,168.40359,64.202418)"
+ id="use4887-7"
+ style="opacity:0.98999999" />
+ <use
+ height="100%"
+ width="100%"
x="0"
+ y="0"
+ inkscape:tiled-clone-of="#ellipse4704-3"
+ xlink:href="#ellipse4704-3"
+ transform="rotate(90,167.13379,65.472218)"
+ id="use4889-0"
+ style="opacity:0.98999999" />
+ <use
+ height="100%"
width="100%"
- height="100%" />
+ x="0"
+ y="0"
+ inkscape:tiled-clone-of="#ellipse4704-3"
+ xlink:href="#ellipse4704-3"
+ transform="rotate(90,165.86399,66.742018)"
+ id="use4891-9"
+ style="opacity:0.98999999" />
<text
- id="text4963-2"
- y="61.641453"
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;line-height:4.61px;font-family:'Noto Sans Lao';-inkscape-font-specification:'Noto Sans Lao';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.987448"
x="161.27582"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777767px;line-height:4.61000013px;font-family:'Noto Sans Lao';-inkscape-font-specification:'Noto Sans Lao';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9874477"
- xml:space="preserve"><tspan
- style="font-size:2.11666656px;stroke:none;stroke-width:0.5"
- y="61.641453"
- x="161.27582"
+ y="61.641453"
+ id="text4963-2"><tspan
+ sodipodi:role="line"
id="tspan4961-6"
- sodipodi:role="line">Base board UI connector</tspan><tspan
- style="font-size:2.11666656px;stroke:none;stroke-width:0.5"
- y="66.474731"
x="161.27582"
+ y="61.641453"
+ style="font-size:2.11667px;stroke:none;stroke-width:0.5">Base board UI connector</tspan><tspan
+ id="tspan5166"
sodipodi:role="line"
- id="tspan5166" /></text>
+ x="161.27582"
+ y="66.474731" /></text>
<text
- xml:space="preserve"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;line-height:2.45000005px;font-family:'Noto Sans Lao';-inkscape-font-specification:'Noto Sans Lao';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;opacity:1;fill:none;fill-opacity:1;stroke:#494949;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- x="173.09532"
+ id="text5170"
y="64.93985"
- id="text5170"><tspan
- sodipodi:role="line"
- id="tspan5168"
- x="173.09532"
+ x="173.09532"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11667px;line-height:2.45px;font-family:'Noto Sans Lao';-inkscape-font-specification:'Noto Sans Lao';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;opacity:1;fill:none;fill-opacity:1;stroke:#494949;stroke-width:0.3;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ xml:space="preserve"><tspan
+ style="font-size:2.11667px;line-height:2.45px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none"
y="64.93985"
- style="font-size:2.11666656px;line-height:2.45000005px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.30000001;stroke-miterlimit:4;stroke-dasharray:none">3V3</tspan><tspan
- sodipodi:role="line"
x="173.09532"
+ id="tspan5168"
+ sodipodi:role="line">3V3</tspan><tspan
+ id="tspan5172"
+ style="font-size:2.11667px;line-height:2.45px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none"
y="67.475822"
- style="font-size:2.11666656px;line-height:2.45000005px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.30000001;stroke-miterlimit:4;stroke-dasharray:none"
- id="tspan5172">BT0</tspan><tspan
- sodipodi:role="line"
x="173.09532"
+ sodipodi:role="line">BT0</tspan><tspan
+ id="tspan5174"
+ style="font-size:2.11667px;line-height:2.45px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none"
y="70.011795"
- style="font-size:2.11666656px;line-height:2.45000005px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.30000001;stroke-miterlimit:4;stroke-dasharray:none"
- id="tspan5174">BT1</tspan><tspan
- sodipodi:role="line"
x="173.09532"
+ sodipodi:role="line">BT1</tspan><tspan
+ id="tspan5176"
+ style="font-size:2.11667px;line-height:2.45px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none"
y="72.547768"
- style="font-size:2.11666656px;line-height:2.45000005px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.30000001;stroke-miterlimit:4;stroke-dasharray:none"
- id="tspan5176">BT2</tspan><tspan
- sodipodi:role="line"
x="173.09532"
+ sodipodi:role="line">BT2</tspan><tspan
+ id="tspan5178"
+ style="font-size:2.11667px;line-height:2.45px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none"
y="75.08374"
- style="font-size:2.11666656px;line-height:2.45000005px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.30000001;stroke-miterlimit:4;stroke-dasharray:none"
- id="tspan5178">BT3</tspan><tspan
- sodipodi:role="line"
x="173.09532"
+ sodipodi:role="line">BT3</tspan><tspan
+ id="tspan5180"
+ style="font-size:2.11667px;line-height:2.45px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none"
y="77.619713"
- style="font-size:2.11666656px;line-height:2.45000005px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.30000001;stroke-miterlimit:4;stroke-dasharray:none"
- id="tspan5180">5V</tspan><tspan
- sodipodi:role="line"
x="173.09532"
+ sodipodi:role="line">5V</tspan><tspan
+ id="tspan5182"
+ style="font-size:2.11667px;line-height:2.45px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none"
y="80.155678"
- style="font-size:2.11666656px;line-height:2.45000005px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.30000001;stroke-miterlimit:4;stroke-dasharray:none"
- id="tspan5182">SDA</tspan><tspan
- sodipodi:role="line"
x="173.09532"
+ sodipodi:role="line">SDA</tspan><tspan
+ id="tspan5184"
+ style="font-size:2.11667px;line-height:2.45px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none"
y="82.69165"
- style="font-size:2.11666656px;line-height:2.45000005px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.30000001;stroke-miterlimit:4;stroke-dasharray:none"
- id="tspan5184">SCL</tspan><tspan
- sodipodi:role="line"
x="173.09532"
+ sodipodi:role="line">SCL</tspan><tspan
+ id="tspan5186"
+ style="font-size:2.11667px;line-height:2.45px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none"
y="85.227623"
- style="font-size:2.11666656px;line-height:2.45000005px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.30000001;stroke-miterlimit:4;stroke-dasharray:none"
- id="tspan5186">ENa</tspan><tspan
- sodipodi:role="line"
x="173.09532"
+ sodipodi:role="line">ENa</tspan><tspan
+ id="tspan5212"
+ style="font-size:2.11667px;line-height:2.45px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none"
y="87.763596"
- style="font-size:2.11666656px;line-height:2.45000005px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.30000001;stroke-miterlimit:4;stroke-dasharray:none"
- id="tspan5212">ENb</tspan><tspan
- sodipodi:role="line"
x="173.09532"
+ sodipodi:role="line">ENb</tspan><tspan
+ id="tspan5188"
+ style="font-size:2.11667px;line-height:2.45px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none"
y="90.299568"
- style="font-size:2.11666656px;line-height:2.45000005px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.30000001;stroke-miterlimit:4;stroke-dasharray:none"
- id="tspan5188">BTN</tspan><tspan
- sodipodi:role="line"
x="173.09532"
+ sodipodi:role="line">BTN</tspan><tspan
+ id="tspan5190"
+ style="font-size:2.11667px;line-height:2.45px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none"
y="92.835541"
- style="font-size:2.11666656px;line-height:2.45000005px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.30000001;stroke-miterlimit:4;stroke-dasharray:none"
- id="tspan5190">GND</tspan></text>
+ x="173.09532"
+ sodipodi:role="line">GND</tspan></text>
<g
id="g5198">
<path
- inkscape:connector-curvature="0"
- id="path5192"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 136.906,125.164 h -1.524 v 1.524"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ id="path5192"
+ inkscape:connector-curvature="0" />
<path
- inkscape:connector-curvature="0"
- id="path5194"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 134.366,126.688 h 2.032"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ id="path5194"
+ inkscape:connector-curvature="0" />
</g>
<g
- id="g5204"
- transform="translate(20.65,2.5400048)">
+ transform="translate(20.65,2.5400048)"
+ id="g5204">
<path
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="m 133.35,125.164 h 2.032 v 1.524"
- id="path5200"
+ sodipodi:nodetypes="ccc"
inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccc" />
+ id="path5200"
+ d="m 133.35,125.164 h 2.032 v 1.524"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="m 134.366,126.688 h 2.032"
+ inkscape:connector-curvature="0"
id="path5202"
- inkscape:connector-curvature="0" />
+ d="m 134.366,126.688 h 2.032"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<path
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="m 170.942,92.144005 -7.942,5.08"
- id="path5206"
- inkscape:connector-curvature="0" />
- <path
- style="opacity:1;fill:none;fill-opacity:1;stroke:#991900;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="M 170.942,89.604005 C 155.2777,99.382483 153.48312,110.71284 153.162,122.624"
- id="path5208"
inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc" />
+ id="path5206"
+ d="m 170.942,92.144005 -7.942,5.08"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
- id="path5216"
- d="M 170.942,87.064005 C 155.2777,96.842483 138.32112,110.71284 138,122.624"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#995300;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ id="path5208"
+ d="M 170.942,89.604005 C 155.2777,99.382483 153.48312,110.71284 153.162,122.624"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#991900;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
- style="opacity:1;fill:none;fill-opacity:1;stroke:#996d00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="M 170.942,84.524005 C 154.05199,94.93562 124.22934,123.07191 138,127.704"
- id="path5218"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#995300;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 170.942,87.064005 C 155.2777,96.842483 138.32112,110.71284 138,122.624"
+ id="path5216"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
- id="path5220"
- d="m 171,81.984005 c -20.32,-4.524 -91,-30.48 -113.85,-22.984"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#998600;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ id="path5218"
+ d="M 170.942,84.524005 C 154.05199,94.93562 124.22934,123.07191 138,127.704"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#996d00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
- style="opacity:1;fill:none;fill-opacity:1;stroke:#6e9900;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="m 171,79.444005 c -20.32,-4.524 -99.626,-33.02 -109.786,-20.32"
- id="path5222"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#998600;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 171,81.984005 c -20.32,-4.524 -91,-30.48 -113.85,-22.984"
+ id="path5220"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
- id="path5224"
+ id="path5222"
+ d="m 171,79.444005 c -20.32,-4.524 -99.626,-33.02 -109.786,-20.32"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#6e9900;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#0e9900;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 170.942,76.904005 c -20.32,-4.524 -104.14,-33.02 -117.942,-17.78"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#0e9900;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <g
- transform="translate(-84.382,-73.659995)"
- id="g5230">
- <path
- sodipodi:nodetypes="cccc"
- inkscape:connector-curvature="0"
- id="path5226"
- d="m 133.404,132.66 -0.022,-7.496 2,0 v 1.524"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- inkscape:connector-curvature="0"
- id="path5228"
- d="m 134.366,126.688 h 2.032"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- </g>
+ id="path5224"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
<g
- id="g5242"
- transform="translate(-27.432,7.6200048)">
+ id="g5230"
+ transform="translate(-84.382,-73.659995)">
<path
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="m 133.35,125.164 h 2.032 v 1.524"
- id="path5238"
+ d="m 133.404,132.66 -0.022,-7.496 2,0 v 1.524"
+ id="path5226"
inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccc" />
+ sodipodi:nodetypes="cccc" />
<path
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 134.366,126.688 h 2.032"
- id="path5240"
+ id="path5228"
inkscape:connector-curvature="0" />
</g>
<g
- id="g5248"
- transform="translate(-19.812,-5.1639952)">
+ transform="translate(-27.432,7.6200048)"
+ id="g5242">
<path
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="m 133.35,125.164 h 2.032 v 1.524"
- id="path5244"
+ sodipodi:nodetypes="ccc"
inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccc" />
+ id="path5238"
+ d="m 133.35,125.164 h 2.032 v 1.524"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ inkscape:connector-curvature="0"
+ id="path5240"
d="m 134.366,126.688 h 2.032"
- id="path5246"
- inkscape:connector-curvature="0" />
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<g
- id="g5254"
- transform="translate(-35.052,-5.1639952)">
+ transform="translate(-19.812,-5.1639952)"
+ id="g5248">
<path
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="m 133.35,125.164 h 2.032 v 1.524"
- id="path5250"
+ sodipodi:nodetypes="ccc"
inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccc" />
+ id="path5244"
+ d="m 133.35,125.164 h 2.032 v 1.524"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ inkscape:connector-curvature="0"
+ id="path5246"
d="m 134.366,126.688 h 2.032"
- id="path5252"
- inkscape:connector-curvature="0" />
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<g
- id="g5260"
- transform="translate(-42.672,7.6200048)">
+ transform="translate(-35.052,-5.1639952)"
+ id="g5254">
<path
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="m 133.35,125.164 h 2.032 v 1.524"
- id="path5256"
+ sodipodi:nodetypes="ccc"
inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccc" />
+ id="path5250"
+ d="m 133.35,125.164 h 2.032 v 1.524"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ inkscape:connector-curvature="0"
+ id="path5252"
d="m 134.366,126.688 h 2.032"
- id="path5258"
- inkscape:connector-curvature="0" />
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<g
- id="g5266"
- transform="translate(-50.292,-5.0799952)">
+ transform="translate(-42.672,7.6200048)"
+ id="g5260">
<path
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="m 133.35,125.164 h 2.032 v 1.524"
- id="path5262"
+ sodipodi:nodetypes="ccc"
inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccc" />
+ id="path5256"
+ d="m 133.35,125.164 h 2.032 v 1.524"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ inkscape:connector-curvature="0"
+ id="path5258"
d="m 134.366,126.688 h 2.032"
- id="path5264"
- inkscape:connector-curvature="0" />
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<g
- id="g5272"
- transform="translate(-57.912,7.6200048)">
+ transform="translate(-50.292,-5.0799952)"
+ id="g5266">
<path
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="m 133.35,125.164 h 2.032 v 1.524"
- id="path5268"
+ sodipodi:nodetypes="ccc"
inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccc" />
+ id="path5262"
+ d="m 133.35,125.164 h 2.032 v 1.524"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ inkscape:connector-curvature="0"
+ id="path5264"
d="m 134.366,126.688 h 2.032"
- id="path5270"
- inkscape:connector-curvature="0" />
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<g
- transform="translate(-65.532,-5.0799952)"
- id="g5236">
+ transform="translate(-57.912,7.6200048)"
+ id="g5272">
<path
sodipodi:nodetypes="ccc"
inkscape:connector-curvature="0"
- id="path5232"
+ id="path5268"
d="m 133.35,125.164 h 2.032 v 1.524"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
- id="path5234"
+ id="path5270"
d="m 134.366,126.688 h 2.032"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
+ <g
+ id="g5236"
+ transform="translate(-65.532,-5.0799952)">
+ <path
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 133.35,125.164 h 2.032 v 1.524"
+ id="path5232"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 134.366,126.688 h 2.032"
+ id="path5234"
+ inkscape:connector-curvature="0" />
+ </g>
<path
- style="opacity:1;fill:none;fill-opacity:1;stroke:#009969;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="m 171,74.364005 c -10.16,-2.262 -36.70563,6.916507 -37.20287,24.549557 C 132.842,132.784 117.602,122.624 99.822,125"
+ sodipodi:nodetypes="csc"
+ inkscape:connector-curvature="0"
id="path5274"
+ d="m 171,74.364005 c -10.16,-2.262 -36.70563,6.916507 -37.20287,24.549557 C 132.842,132.784 117.602,122.624 99.822,125"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#009969;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#007c99;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 170.942,71.824005 c -10.16,-2.262 -38.89447,9.450961 -38.66724,27.089557 C 132.842,142.944 104.902,112.464 69.342,125"
+ id="path5276"
inkscape:connector-curvature="0"
sodipodi:nodetypes="csc" />
<path
sodipodi:nodetypes="csc"
inkscape:connector-curvature="0"
- id="path5276"
- d="m 170.942,71.824005 c -10.16,-2.262 -38.89447,9.450961 -38.66724,27.089557 C 132.842,142.944 104.902,112.464 69.342,125"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#007c99;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- style="opacity:1;fill:none;fill-opacity:1;stroke:#005d99;stroke-width:0.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="m 170.942,69.284005 c -10.16,-2.262 -39.33594,11.860535 -39.91281,29.49116 C 130.302,121 118,105 107.442,112.464"
id="path5278"
+ d="m 170.942,69.284005 c -10.16,-2.262 -39.33594,11.860535 -39.91281,29.49116 C 130.302,121 118,105 107.442,112.464"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#005d99;stroke-width:0.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <text
+ id="text5306"
+ y="115.86898"
+ x="100.68861"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11667px;line-height:2.45px;font-family:'Noto Sans Lao';-inkscape-font-specification:'Noto Sans Lao';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;opacity:1;fill:none;fill-opacity:1;stroke:#005d99;stroke-width:0.21;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ xml:space="preserve"><tspan
+ style="fill:#053254;fill-opacity:1;stroke:none;stroke-width:0.21"
+ y="115.86898"
+ x="100.68861"
+ id="tspan5304"
+ sodipodi:role="line">2.2k</tspan></text>
+ <path
+ sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
- sodipodi:nodetypes="csc" />
+ id="path5308"
+ d="m 107.442,112.464 c -1.016,0 -1.442,0 -2.54,0"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#005d99;stroke-width:0.40000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#005d99;stroke-width:0.40000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 102.27,112.464 c -3.27,-2.54 -7.068,-2.54 -10.068,0"
+ id="path5310"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <g
+ transform="translate(-12.7,-38.1)"
+ id="g5302">
+ <path
+ d="m 114.53814,150.564 c 0,0.28854 0.23563,0.52386 0.52386,0.52386 0.28854,0 0.52386,-0.23532 0.52386,-0.52386 0,-0.28823 -0.23655,-0.52386 -0.52386,-0.52386 -0.28823,0 -0.52386,0.23563 -0.52386,0.52386"
+ style="fill:#174568;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.1799174"
+ id="path7097-2"
+ inkscape:connector-curvature="0" />
+ <ellipse
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#00001c;stroke-width:0.15000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="ellipse7099-0"
+ cx="-150.56401"
+ cy="115.062"
+ rx="1.5300075"
+ ry="1.5300027"
+ transform="rotate(-90)" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path7101-2"
+ style="fill:#174568;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.1799174"
+ d="m 117.07814,150.564 c 0,0.28854 0.23563,0.52386 0.52386,0.52386 0.28854,0 0.52386,-0.23532 0.52386,-0.52386 0,-0.28823 -0.23655,-0.52386 -0.52386,-0.52386 -0.28823,0 -0.52386,0.23563 -0.52386,0.52386" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.20999999;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 117.602,150.564 c -0.79698,0.25945 -1.62517,0.27261 -2.54,0"
+ id="path7103-3"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ </g>
<text
xml:space="preserve"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;line-height:2.45000005px;font-family:'Noto Sans Lao';-inkscape-font-specification:'Noto Sans Lao';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;opacity:1;fill:none;fill-opacity:1;stroke:#005d99;stroke-width:0.21000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- x="100.68861"
- y="115.86898"
- id="text5306"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11667px;line-height:2.45px;font-family:'Noto Sans Lao';-inkscape-font-specification:'Noto Sans Lao';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;opacity:1;fill:none;fill-opacity:1;stroke:#005d99;stroke-width:0.21;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ x="85.448608"
+ y="115.86897"
+ id="text5314"><tspan
sodipodi:role="line"
- id="tspan5304"
- x="100.68861"
- y="115.86898"
- style="fill:#053254;fill-opacity:1;stroke:none;stroke-width:0.21000001">2.2k</tspan></text>
+ id="tspan5312"
+ x="85.448608"
+ y="115.86897"
+ style="fill:#053254;fill-opacity:1;stroke:none;stroke-width:0.21">2.2k</tspan></text>
<path
style="opacity:1;fill:none;fill-opacity:1;stroke:#005d99;stroke-width:0.40000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="m 107.442,112.464 c -1.016,0 -1.442,0 -2.54,0"
- id="path5308"
+ d="M 92.202,112.464 H 89.708"
+ id="path5326"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
- id="path5310"
- d="m 102.27,112.464 c -3.27,-2.54 -7.068,-2.54 -10.068,0"
+ id="path5328"
+ d="M 87.076,112.464 C 84,109.924 80,110 77,112.464"
style="opacity:1;fill:none;fill-opacity:1;stroke:#005d99;stroke-width:0.40000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<g
- id="g5302"
- transform="translate(-12.7,-38.1)">
+ id="g5324"
+ transform="translate(-27.939996,-38.100006)">
<path
inkscape:connector-curvature="0"
- id="path7097-2"
+ id="path5316"
style="fill:#174568;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.1799174"
d="m 114.53814,150.564 c 0,0.28854 0.23563,0.52386 0.52386,0.52386 0.28854,0 0.52386,-0.23532 0.52386,-0.52386 0,-0.28823 -0.23655,-0.52386 -0.52386,-0.52386 -0.28823,0 -0.52386,0.23563 -0.52386,0.52386" />
<ellipse
@@ -1282,54 +1331,60 @@
rx="1.5300075"
cy="115.062"
cx="-150.56401"
- id="ellipse7099-0"
+ id="ellipse5318"
style="opacity:1;fill:none;fill-opacity:1;stroke:#00001c;stroke-width:0.15000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
d="m 117.07814,150.564 c 0,0.28854 0.23563,0.52386 0.52386,0.52386 0.28854,0 0.52386,-0.23532 0.52386,-0.52386 0,-0.28823 -0.23655,-0.52386 -0.52386,-0.52386 -0.28823,0 -0.52386,0.23563 -0.52386,0.52386"
style="fill:#174568;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.1799174"
- id="path7101-2"
+ id="path5320"
inkscape:connector-curvature="0" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
- id="path7103-3"
+ id="path5322"
d="m 117.602,150.564 c -0.79698,0.25945 -1.62517,0.27261 -2.54,0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.20999999;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
+ <path
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#001499;stroke-width:0.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 170.942,66.744005 c -10.16,-2.262 -41.5943,14.670404 -41.29678,32.307954 C 130,120.084 76.962,102.108 61.722,112.268"
+ id="path5330"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csc" />
<text
- id="text5314"
- y="115.86897"
- x="85.448608"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;line-height:2.45000005px;font-family:'Noto Sans Lao';-inkscape-font-specification:'Noto Sans Lao';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;opacity:1;fill:none;fill-opacity:1;stroke:#005d99;stroke-width:0.21000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="text5344"
+ y="112.89344"
+ x="69.948143"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11667px;line-height:2.45px;font-family:'Noto Sans Lao';-inkscape-font-specification:'Noto Sans Lao';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;opacity:1;fill:none;fill-opacity:1;stroke:#005d99;stroke-width:0.21;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
xml:space="preserve"><tspan
- style="fill:#053254;fill-opacity:1;stroke:none;stroke-width:0.21000001"
- y="115.86897"
- x="85.448608"
- id="tspan5312"
+ style="fill:#053254;fill-opacity:1;stroke:none;stroke-width:0.21"
+ y="112.89344"
+ x="69.948143"
+ id="tspan5342"
sodipodi:role="line">2.2k</tspan></text>
<path
- sodipodi:nodetypes="cc"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#001499;stroke-width:0.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 71.882,115 c -2.969961,-6.12265 -6.607165,-3.8997 -10.16,-2.732"
+ id="path5346"
inkscape:connector-curvature="0"
- id="path5326"
- d="M 92.202,112.464 H 89.708"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#005d99;stroke-width:0.40000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ sodipodi:nodetypes="cc" />
<path
- style="opacity:1;fill:none;fill-opacity:1;stroke:#005d99;stroke-width:0.40000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="M 87.076,112.464 C 84,109.924 80,110 77,112.464"
- id="path5328"
+ sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc" />
+ id="path5348"
+ d="m 74.422,115.004 c -0.785686,5.91661 0.97246,10.29074 10.16,10.16"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#001499;stroke-width:0.40000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<g
- transform="translate(-27.939996,-38.100006)"
- id="g5324">
+ transform="translate(-43.061996,-35.560006)"
+ id="g5340">
<path
d="m 114.53814,150.564 c 0,0.28854 0.23563,0.52386 0.52386,0.52386 0.28854,0 0.52386,-0.23532 0.52386,-0.52386 0,-0.28823 -0.23655,-0.52386 -0.52386,-0.52386 -0.28823,0 -0.52386,0.23563 -0.52386,0.52386"
style="fill:#174568;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.1799174"
- id="path5316"
+ id="path5332"
inkscape:connector-curvature="0" />
<ellipse
style="opacity:1;fill:none;fill-opacity:1;stroke:#00001c;stroke-width:0.15000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="ellipse5318"
+ id="ellipse5334"
cx="-150.56401"
cy="115.062"
rx="1.5300075"
@@ -1337,72 +1392,92 @@
transform="rotate(-90)" />
<path
inkscape:connector-curvature="0"
- id="path5320"
+ id="path5336"
style="fill:#174568;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.1799174"
d="m 117.07814,150.564 c 0,0.28854 0.23563,0.52386 0.52386,0.52386 0.28854,0 0.52386,-0.23532 0.52386,-0.52386 0,-0.28823 -0.23655,-0.52386 -0.52386,-0.52386 -0.28823,0 -0.52386,0.23563 -0.52386,0.52386" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.20999999;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 117.602,150.564 c -0.79698,0.25945 -1.62517,0.27261 -2.54,0"
- id="path5322"
+ id="path5338"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
</g>
- <path
- sodipodi:nodetypes="csc"
- inkscape:connector-curvature="0"
- id="path5330"
- d="m 170.942,66.744005 c -10.16,-2.262 -41.5943,14.670404 -41.29678,32.307954 C 130,120.084 82.042,102.304 66.802,112.464"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#001499;stroke-width:0.40000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <text
+ id="text216"
+ y="117.24467"
+ x="59.583202"
+ style="font-size:2.11667px;line-height:6.61458px;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';fill:#000000;stroke-width:0.2;stroke-linecap:round"
+ xml:space="preserve"><tspan
+ style="stroke-width:0.2"
+ y="117.24467"
+ x="59.583202"
+ id="tspan214"
+ sodipodi:role="line">A</tspan></text>
<text
xml:space="preserve"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;line-height:2.45000005px;font-family:'Noto Sans Lao';-inkscape-font-specification:'Noto Sans Lao';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;opacity:1;fill:none;fill-opacity:1;stroke:#005d99;stroke-width:0.21000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- x="69.948143"
- y="112.89344"
- id="text5344"><tspan
+ style="font-size:2.11667px;line-height:6.61458px;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';fill:#000000;stroke-width:0.2;stroke-linecap:round"
+ x="75.349663"
+ y="117.24467"
+ id="text220"><tspan
sodipodi:role="line"
- id="tspan5342"
- x="69.948143"
- y="112.89344"
- style="fill:#053254;fill-opacity:1;stroke:none;stroke-width:0.21000001">2.2k</tspan></text>
- <path
- sodipodi:nodetypes="cc"
- inkscape:connector-curvature="0"
- id="path5346"
- d="m 71.882,115 -5.08,-2.536"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#001499;stroke-width:0.40000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- style="opacity:1;fill:none;fill-opacity:1;stroke:#001499;stroke-width:0.40000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="m 74.422,115.004 c -0.785686,5.91661 0.97246,10.29074 10.16,10.16"
- id="path5348"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc" />
- <g
- id="g5340"
- transform="translate(-43.061996,-35.560006)">
- <path
- inkscape:connector-curvature="0"
- id="path5332"
- style="fill:#174568;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.1799174"
- d="m 114.53814,150.564 c 0,0.28854 0.23563,0.52386 0.52386,0.52386 0.28854,0 0.52386,-0.23532 0.52386,-0.52386 0,-0.28823 -0.23655,-0.52386 -0.52386,-0.52386 -0.28823,0 -0.52386,0.23563 -0.52386,0.52386" />
- <ellipse
- transform="rotate(-90)"
- ry="1.5300027"
- rx="1.5300075"
- cy="115.062"
- cx="-150.56401"
- id="ellipse5334"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#00001c;stroke-width:0.15000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- d="m 117.07814,150.564 c 0,0.28854 0.23563,0.52386 0.52386,0.52386 0.28854,0 0.52386,-0.23532 0.52386,-0.52386 0,-0.28823 -0.23655,-0.52386 -0.52386,-0.52386 -0.28823,0 -0.52386,0.23563 -0.52386,0.52386"
- style="fill:#174568;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.1799174"
- id="path5336"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:nodetypes="cc"
- inkscape:connector-curvature="0"
- id="path5338"
- d="m 117.602,150.564 c -0.79698,0.25945 -1.62517,0.27261 -2.54,0"
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.20999999;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- </g>
+ id="tspan218"
+ x="75.349663"
+ y="117.24467"
+ style="stroke-width:0.2">B</tspan></text>
+ <text
+ id="text224"
+ y="117.24467"
+ x="90.358452"
+ style="font-size:2.11667px;line-height:6.61458px;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';fill:#000000;stroke-width:0.2;stroke-linecap:round"
+ xml:space="preserve"><tspan
+ style="stroke-width:0.2"
+ y="117.24467"
+ x="90.358452"
+ id="tspan222"
+ sodipodi:role="line">C</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:2.11667px;line-height:6.61458px;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';fill:#000000;stroke-width:0.2;stroke-linecap:round"
+ x="105.38995"
+ y="117.24467"
+ id="text228"><tspan
+ sodipodi:role="line"
+ id="tspan226"
+ x="105.38995"
+ y="117.24467"
+ style="stroke-width:0.2">D</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:2.11667px;line-height:6.61458px;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';fill:#000000;stroke-width:0.2;stroke-linecap:round"
+ x="67.240707"
+ y="130.07141"
+ id="text232"><tspan
+ sodipodi:role="line"
+ id="tspan230"
+ x="67.240707"
+ y="130.07141"
+ style="stroke-width:0.2">E</tspan></text>
+ <text
+ id="text236"
+ y="130.07141"
+ x="83.007164"
+ style="font-size:2.11667px;line-height:6.61458px;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';fill:#000000;stroke-width:0.2;stroke-linecap:round"
+ xml:space="preserve"><tspan
+ style="stroke-width:0.2"
+ y="130.07141"
+ x="83.007164"
+ id="tspan234"
+ sodipodi:role="line">F</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:2.11667px;line-height:6.61458px;font-family:'DejaVu Sans Mono';-inkscape-font-specification:'DejaVu Sans Mono';fill:#000000;stroke-width:0.2;stroke-linecap:round"
+ x="98.015953"
+ y="130.07141"
+ id="text240"><tspan
+ sodipodi:role="line"
+ id="tspan238"
+ x="98.015953"
+ y="130.07141"
+ style="stroke-width:0.2">G</tspan></text>
</g>
</svg>
diff --git a/sw/picardy/src/main.rs b/sw/picardy/src/main.rs
index 071f4e9..d6f2bf9 100644
--- a/sw/picardy/src/main.rs
+++ b/sw/picardy/src/main.rs
@@ -60,9 +60,18 @@ enum TuneSpeed {
Fast
}
+enum FilterShift {
+ LSB,
+ USB,
+ Custom(u32),
+}
+
+const BFO_LSB : u32 = 4_915_940;
+const BFO_USB : u32 = 4_914_910;
+
struct State {
mode : Mode,
- bfo : u32,
+ filter_shift : FilterShift,
bfo_tune_fail : bool,
qrg : u32,
tune_speed : TuneSpeed,
@@ -71,8 +80,16 @@ struct State {
}
impl State {
+ fn bfo(&self) -> u32 {
+ match self.filter_shift {
+ FilterShift::LSB => BFO_LSB,
+ FilterShift::USB => BFO_USB,
+ FilterShift::Custom(fs) => fs,
+ }
+ }
+
fn vfo(&self) -> u32 {
- self.qrg - self.bfo
+ self.qrg - self.bfo()
}
fn vfo_incr(&self) -> i32 {
@@ -101,7 +118,13 @@ fn update_disp<T: hd44780_driver::bus::DataBus>(lcd: &mut HD44780<T>, state: &St
(false, Mode::BFO) => write!(string, ">").unwrap(),
(false, Mode::VFO) => write!(string, " ").unwrap(),
}
- write!(string, "{:<10}", state.bfo).unwrap();
+ write!(string, "{:<10}", state.bfo()).unwrap();
+
+ match state.filter_shift {
+ FilterShift::USB => write!(string, "U").unwrap(),
+ FilterShift::LSB => write!(string, "L").unwrap(),
+ FilterShift::Custom(_) => write!(string, " ").unwrap(),
+ }
if state.transmit {
write!(string, " T").unwrap();
@@ -133,7 +156,7 @@ fn update_disp<T: hd44780_driver::bus::DataBus>(lcd: &mut HD44780<T>, state: &St
fn main() -> ! {
let mut state = State {
mode : Mode::VFO,
- bfo : 4_916_550,
+ filter_shift : FilterShift::USB,
bfo_tune_fail : false,
qrg : 28_000_000,
tune_speed : TuneSpeed::Mid,
@@ -246,7 +269,7 @@ fn main() -> ! {
);
let i2c_busmanager = shared_bus::BusManagerSimple::new(i2c);
- let mut siclock = si_clock::SiClock::new(i2c_busmanager.acquire_i2c(), state.bfo, state.vfo());
+ let mut siclock = si_clock::SiClock::new(i2c_busmanager.acquire_i2c(), state.bfo(), state.vfo());
update_disp(&mut lcd, &state, &mut delay);
@@ -271,8 +294,9 @@ fn main() -> ! {
state.qrg = (state.qrg as i32 + delta * state.vfo_incr()) as u32;
},
Mode::BFO => {
- state.bfo = (state.bfo as i32 + delta * state.bfo_incr()) as u32;
- state.bfo_tune_fail = !siclock.set_bfo(state.bfo).is_ok();
+ let new_bfo = (state.bfo() as i32 + delta * state.bfo_incr()) as u32;
+ state.filter_shift = FilterShift::Custom(new_bfo);
+ state.bfo_tune_fail = !siclock.set_bfo(state.bfo()).is_ok();
},
}
@@ -292,6 +316,17 @@ fn main() -> ! {
update_disp_required = true;
}
+ if button_state.f {
+ state.filter_shift = match state.filter_shift {
+ FilterShift::USB => FilterShift::LSB,
+ FilterShift::LSB => FilterShift::USB,
+ FilterShift::Custom(_) => FilterShift::USB,
+ };
+ state.bfo_tune_fail = !siclock.set_bfo(state.bfo()).is_ok();
+ update_disp_required = true;
+ }
+
+
if button_state.g {
state.tune_speed = match state.tune_speed {
TuneSpeed::Slow => TuneSpeed::Mid,
@@ -301,9 +336,8 @@ fn main() -> ! {
update_disp_required = true;
}
- let ptt = false; //ui.read_ptt();
- update_disp_required |= state.transmit != ptt;
- state.transmit = ptt;
+ update_disp_required |= state.transmit != button_state.ptt;
+ state.transmit = button_state.ptt;
if state.transmit {
mute_spkr.set_high().unwrap();
diff --git a/sw/picardy/src/ui.rs b/sw/picardy/src/ui.rs
index 114fe1e..2e93459 100644
--- a/sw/picardy/src/ui.rs
+++ b/sw/picardy/src/ui.rs
@@ -63,6 +63,22 @@ pub struct ButtonState {
pub ptt : bool,
}
+impl Default for ButtonState {
+ fn default() -> Self {
+ ButtonState {
+ a : false,
+ b : false,
+ c : false,
+ d : false,
+ e : false,
+ f : false,
+ g : false,
+ enc : false,
+ ptt : false,
+ }
+ }
+}
+
impl fmt::Display for ButtonState {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{}{}{}{}{}{}{}{}{}",
@@ -85,8 +101,8 @@ pub struct UI {
btn0_ch : PB1<Analog>,
btn1_ch : PB0<Analog>,
- _mic_sw1 : PA3<Analog>,
- mic_sw2 : PA4<Analog>,
+ mic_sw1 : PA3<Analog>,
+ _mic_sw2 : PA4<Analog>,
btn2 : PB12<Input<PullUp>>,
btn3 : PB13<Input<PullUp>>,
@@ -110,91 +126,74 @@ impl UI {
btn3 : pb13,
btn_enc : pc15,
adc : adc1,
- _mic_sw1 : mic_sw1,
- mic_sw2,
+ mic_sw1,
+ _mic_sw2 : mic_sw2,
}
}
- pub fn read_ptt(&mut self) -> bool {
- let _mic_sw1_value: u16 = self.adc.read(&mut self._mic_sw1).unwrap();
- let mic_sw2_value: u16 = self.adc.read(&mut self.mic_sw2).unwrap();
- mic_sw2_value < 500
- }
-
pub fn read_buttons(&mut self) -> ButtonState {
- let mut buttons = ButtonState {
- a : false,
- b : false,
- c : false,
- d : false,
- e : false,
- f : false,
- g : false,
- enc : false,
- ptt : false,
- };
+ let mut buttons = ButtonState::default();
- // Debounce BTN0
+ // Debounce BTN0 and BTN1
let btn0_value: u16 = self.adc.read(&mut self.btn0_ch).unwrap();
-
self.btn0_hist[2] = self.btn0_hist[1];
self.btn0_hist[1] = self.btn0_hist[0];
self.btn0_hist[0] = btn0_value;
+ let btn1_value: u16 = self.adc.read(&mut self.btn1_ch).unwrap();
+ self.btn1_hist[2] = self.btn1_hist[1];
+ self.btn1_hist[1] = self.btn1_hist[0];
+ self.btn1_hist[0] = btn1_value;
+
+ let mic_sw1_value: u16 = self.adc.read(&mut self.mic_sw1).unwrap();
+ //let mic_sw2_value: u16 = self.adc.read(&mut self.mic_sw2).unwrap();
+ buttons.ptt = mic_sw1_value < 500;
+
let mut btn0 = [None; 3];
for (i, &v) in self.btn0_hist.iter().enumerate() {
btn0[i] =
if v > 3050 {
None
}
- else if v > 1650 {
- Some(Btn0Buttons::B)
- }
else if v > 675 {
- Some(Btn0Buttons::C)
+ Some(Btn1Buttons::F)
}
else {
- Some(Btn0Buttons::D)
+ Some(Btn1Buttons::A)
};
}
if btn0.iter().all(|&v| v != None && v == btn0[0]) {
match btn0[0] {
None => {},
- Some(Btn0Buttons::B) => buttons.b = true,
- Some(Btn0Buttons::C) => buttons.c = true,
- Some(Btn0Buttons::D) => buttons.d = true,
+ Some(Btn1Buttons::A) => buttons.a = true,
+ Some(Btn1Buttons::F) => buttons.f = true,
}
}
-
- // Debounce BTN1
- let btn1_value: u16 = self.adc.read(&mut self.btn1_ch).unwrap();
-
- self.btn1_hist[2] = self.btn1_hist[1];
- self.btn1_hist[1] = self.btn1_hist[0];
- self.btn1_hist[0] = btn1_value;
-
-
let mut btn1 = [None; 3];
for (i, &v) in self.btn1_hist.iter().enumerate() {
btn1[i] =
if v > 3050 {
None
}
+ else if v > 1650 {
+ Some(Btn0Buttons::B)
+ }
else if v > 675 {
- Some(Btn1Buttons::F)
+ Some(Btn0Buttons::C)
}
else {
- Some(Btn1Buttons::A)
+ Some(Btn0Buttons::D)
};
}
if btn1.iter().all(|&v| v != None && v == btn1[0]) {
match btn1[0] {
None => {},
- Some(Btn1Buttons::A) => buttons.a = true,
- Some(Btn1Buttons::F) => buttons.f = true,
+ Some(Btn0Buttons::B) => buttons.b = true,
+ Some(Btn0Buttons::C) => buttons.c = true,
+ Some(Btn0Buttons::D) => buttons.d = true,
}
}
@@ -210,7 +209,6 @@ impl UI {
buttons.enc = true;
}
- cortex_m_semihosting::hprintln!("btn {} {}: {}", btn0_value, btn1_value, buttons).unwrap();
buttons
}
}
diff --git a/sw/pio.txt b/sw/pio.txt
index c932d08..917ed7a 100644
--- a/sw/pio.txt
+++ b/sw/pio.txt
@@ -5,8 +5,8 @@ Pin mapping: see datasheet Table 5
## GPIO inputs
Analog multi-level button inputs
- * BTN0 PB1
- * BTN1 PB0
+ * BTN0 PB1 ADC12_IN9
+ * BTN1 PB0 ADC12_IN8
Digital buttons
* BTN2 PB12
@@ -22,8 +22,8 @@ CW paddle
* CW_RING PB9
Microphone switches
- * SW1 PA3
- * SW2 PA4
+ * SW1 PA3 ADC12_IN3
+ * SW2 PA4 ADC12_IN4
## GPIO outputs