Skip to content
Snippets Groups Projects
Verified Commit 9203ed39 authored by rahix's avatar rahix
Browse files

doc: Add overview diagram


Signed-off-by: default avatarRahix <rahix@rahix.de>
parent d7897e85
No related branches found
No related tags found
No related merge requests found
......@@ -3,9 +3,16 @@ card10 firmware docs
This is the API documentation for card10's default firmware.
Overview
--------
The design roughly looks like this:
.. image:: static/overview.svg
.. toctree::
:maxdepth: 2
:caption: Contents:
:caption: Contents
epicardium
pycardium
<?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#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
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="193.0201mm"
height="112.18587mm"
viewBox="0 0 193.0201 112.18587"
version="1.1"
id="svg1036"
sodipodi:docname="overview.svg"
inkscape:version="0.92.4 5da689c313, 2019-01-14">
<defs
id="defs1030">
<marker
inkscape:stockid="TriangleOutS"
orient="auto"
refY="0"
refX="0"
id="TriangleOutS"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path6970"
d="M 5.77,0 -2.88,5 V -5 Z"
style="fill:#b7b7b7;fill-opacity:1;fill-rule:evenodd;stroke:#b7b7b7;stroke-width:1.00000003pt;stroke-opacity:1"
transform="scale(0.2)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="EmptyTriangleOutS"
orient="auto"
refY="0"
refX="0"
id="EmptyTriangleOutS"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path6988"
d="M 5.77,0 -2.88,5 V -5 Z"
style="fill:#ffffff;fill-rule:evenodd;stroke:#6f6f6f;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(0.2,0,0,0.2,-0.6,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="StopS"
orient="auto"
refY="0"
refX="0"
id="StopS"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path6997"
d="M 0,5.65 V -5.65"
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#6f6f6f;stroke-width:1.00000003pt;stroke-opacity:1"
transform="scale(0.2)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="TriangleOutM"
orient="auto"
refY="0"
refX="0"
id="TriangleOutM"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path6967"
d="M 5.77,0 -2.88,5 V -5 Z"
style="fill:#6f6f6f;fill-opacity:1;fill-rule:evenodd;stroke:#6f6f6f;stroke-width:1.00000003pt;stroke-opacity:1"
transform="scale(0.4)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Sstart"
orient="auto"
refY="0"
refX="0"
id="Arrow2Sstart"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path5075"
style="fill:#b7b7b7;fill-opacity:1;fill-rule:evenodd;stroke:#b7b7b7;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(0.3,0,0,0.3,-0.69,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0"
refX="0"
id="Arrow2Send"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path5078"
style="fill:#b7b7b7;fill-opacity:1;fill-rule:evenodd;stroke:#b7b7b7;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-0.3,0,0,-0.3,0.69,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Sstart"
orient="auto"
refY="0"
refX="0"
id="Arrow2Sstart-5"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path5075-3"
style="fill:#6f6f6f;fill-opacity:1;fill-rule:evenodd;stroke:#6f6f6f;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(0.3,0,0,0.3,-0.69,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0"
refX="0"
id="Arrow2Send-5"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path5078-6"
style="fill:#6f6f6f;fill-opacity:1;fill-rule:evenodd;stroke:#6f6f6f;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-0.3,0,0,-0.3,0.69,0)"
inkscape:connector-curvature="0" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#000000"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="374.3184"
inkscape:cy="190.35742"
inkscape:document-units="mm"
inkscape:current-layer="g6159"
showgrid="false"
inkscape:pagecheckerboard="true"
inkscape:window-width="1920"
inkscape:window-height="1020"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata1033">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
style="display:inline"
transform="translate(-2.3373782,-73.326953)">
<g
id="g8661">
<rect
y="73.453064"
x="2.4634895"
height="111.93365"
width="192.76787"
id="rect6184"
style="fill:#fbfbfb;fill-opacity:1;stroke:#000000;stroke-width:0.25222266;stroke-opacity:1" />
<g
transform="translate(10.849283,-15.686012)"
id="g6159">
<path
style="fill:none;stroke:#b7b7b7;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#Arrow2Sstart);marker-end:url(#Arrow2Send)"
d="m 77.890264,138.22847 h 13.726774 l 6.041104,19.27028 h 11.583228"
id="path5043"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
<g
id="g6071">
<rect
y="124.83184"
x="9.8597145"
height="45.194477"
width="60.977013"
id="rect1634"
style="fill:#f3f3f3;fill-opacity:1;stroke-width:0.26458332" />
<path
sodipodi:nodetypes="ccccccccccccccccccccc"
inkscape:connector-curvature="0"
d="m 39.240598,154.19854 v 7.49338 m 8.728558,-36.86008 v 29.3667 m -17.727077,-29.3667 v 29.3667 m -20.3823647,0 H 70.836722 v -2.40015 H 9.8597143 Z m 0,7.49338 H 70.836722 M 9.8597143,124.83184 v 45.19446 m 0,0 H 70.836722 m 0,0 v -45.19446 m 0,0 H 9.8597143"
style="fill:#000000;fill-opacity:0.98994978;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path1593" />
<text
id="text1598"
y="167.09712"
x="40.138931"
style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="stroke-width:0.26458332"
y="167.09712"
x="40.138931"
id="tspan1596"
sodipodi:role="line">HAL/SDK</tspan></text>
<text
id="text1602"
y="135.32553"
x="20.187912"
style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="stroke-width:0.26458332"
y="135.32553"
x="20.187912"
id="tspan1600"
sodipodi:role="line">Bluetooth</tspan><tspan
id="tspan1604"
style="stroke-width:0.26458332"
y="139.73526"
x="20.187912"
sodipodi:role="line">Low</tspan><tspan
id="tspan1606"
style="stroke-width:0.26458332"
y="144.14497"
x="20.187912"
sodipodi:role="line">Energy</tspan></text>
<text
id="text1610"
y="140.07718"
x="39.025993"
style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
id="tspan1612"
style="stroke-width:0.26458332"
y="140.07718"
x="39.025993"
sodipodi:role="line">Services</tspan></text>
<text
id="text1618"
y="137.47614"
x="59.535229"
style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="stroke-width:0.26458332"
y="137.47614"
x="59.535229"
id="tspan1616"
sodipodi:role="line">API</tspan><tspan
id="tspan1622"
style="stroke-width:0.26458332"
y="141.88586"
x="59.535229"
sodipodi:role="line">Dispatcher</tspan></text>
<text
id="text1628"
y="159.02721"
x="23.136122"
style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="stroke-width:0.26458332"
y="159.02721"
x="23.136122"
id="tspan1626"
sodipodi:role="line">Drivers</tspan></text>
<text
id="text1632"
y="158.99622"
x="56.511425"
style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="stroke-width:0.26458332"
y="158.99622"
x="56.511425"
id="tspan1630"
sodipodi:role="line">FreeRTOS</tspan></text>
<a
id="a973"
xlink:href="https://git.card10.badge.events.ccc.de/card10/firmware/tree/master/epicardium"
xlink:title="Epicardium">
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.3499999px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#0000ee;fill-opacity:1;stroke:none;stroke-width:0.26458332;"
x="40.307911"
y="111.83552"
id="text6791"><tspan
sodipodi:role="line"
x="40.307911"
y="111.83552"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.3499999px;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.26458332;fill:#0000ee;fill-opacity:1;"
id="tspan6793">epicardium</tspan><tspan
sodipodi:role="line"
x="40.307911"
y="119.77302"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.58611107px;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.26458332;fill:#0000ee;fill-opacity:1;"
id="tspan1028">(core0)</tspan></text>
</a>
</g>
<g
id="g6032"
transform="translate(-0.52916667)">
<rect
style="fill:#f3f3f3;fill-opacity:1;stroke-width:0.26458332"
id="rect1981"
width="60.977013"
height="45.194477"
x="116.83902"
y="124.72414" />
<path
id="path1940"
style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 116.83902,154.09084 h 20.98065 v 7.49338 m -20.98065,0 h 60.97701 m -60.97701,-9.89353 h 60.97701 m -60.97701,-26.96655 v 45.19446 h 60.97701 v -45.19446 z"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccccc" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="147.11824"
y="167.09712"
id="text1963"><tspan
sodipodi:role="line"
id="tspan1961"
x="147.11824"
y="167.09712"
style="stroke-width:0.26458332">HAL/SDK</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="158.16139"
y="158.99622"
id="text1967"><tspan
sodipodi:role="line"
id="tspan1965"
x="158.16139"
y="158.99622"
style="stroke-width:0.26458332">MicroPython</tspan></text>
<text
id="text1971"
y="158.99622"
x="127.47013"
style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="stroke-width:0.26458332"
y="158.99622"
x="127.47013"
id="tspan1969"
sodipodi:role="line">API Caller</tspan></text>
<text
id="text1975"
y="135.4599"
x="147.306"
style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="stroke-width:0.26458332"
y="135.4599"
x="147.306"
id="tspan1973"
sodipodi:role="line">Python</tspan><tspan
style="stroke-width:0.26458332"
y="139.86963"
x="147.306"
sodipodi:role="line"
id="tspan1977">Script</tspan><tspan
style="stroke-width:0.26458332"
y="144.27934"
x="147.306"
sodipodi:role="line"
id="tspan1979">(User)</tspan></text>
<a
id="a4682"
xlink:href="https://git.card10.badge.events.ccc.de/card10/firmware/tree/master/pycardium"
xlink:title="Pycardium">
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.3499999px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#0000ee;fill-opacity:1;stroke:none;stroke-width:0.26458332;"
x="147.18329"
y="111.80997"
id="text6799"><tspan
sodipodi:role="line"
id="tspan6797"
x="147.18329"
y="111.80997"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.3499999px;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.26458332;fill:#0000ee;fill-opacity:1;">pycardium</tspan><tspan
sodipodi:role="line"
x="147.18329"
y="119.74747"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.58611107px;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.26458332;fill:#0000ee;fill-opacity:1;"
id="tspan1032">(core1)</tspan></text>
</a>
</g>
</g>
<text
id="text6791-3"
y="84.910851"
x="104.47012"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.46666622px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
id="tspan1028-7"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.46666622px;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.26458332"
y="84.910851"
x="104.47012"
sodipodi:role="line">max32665</tspan></text>
<path
style="display:inline;fill:none;stroke:#b7b7b7;stroke-width:3.5999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutS)"
d="M 19.222455,122.34974 H 10.72299 v 46.42197 h 23.044261"
id="path5043-2"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
<g
id="g8371"
transform="translate(-11.900687,-20.587525)"
style="stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none">
<rect
transform="scale(-1,1)"
style="display:inline;fill:#f3f3f3;fill-opacity:1;stroke:#000000;stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect1634-9"
width="20.587021"
height="20.587021"
x="-73.88205"
y="179.16779" />
<text
id="text8363"
y="188.57161"
x="63.567005"
style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none"
xml:space="preserve"><tspan
style="stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none"
y="188.57161"
x="63.567005"
id="tspan8361"
sodipodi:role="line">Bluetooth</tspan><tspan
id="tspan8365"
style="stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none"
y="192.98134"
x="63.567005"
sodipodi:role="line">Core</tspan></text>
</g>
</g>
</g>
</svg>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment