path = rpp/lib
url = git@rtime.felk.cvut.cz:pes-rpp/rpp-lib
update = merge
- branch = master
+ branch = rm48/master
fetchRecurseSubmodules = true
[submodule "doc/test-sw"]
path = doc/test-sw
url = git@rtime.felk.cvut.cz:rpp-test-sw
+ update = merge
+ branch = rm48/master
+++ /dev/null
-../../rpp/lib/rpp/doc/blocks.pdf
\ No newline at end of file
+++ /dev/null
-<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="478.35718"
- height="280.76486"
- id="svg2"
- inkscape:label="Pozadí"
- version="1.1"
- inkscape:version="0.48.5 r10040"
- sodipodi:docname="demo_board-connection_scheme.svg"
- inkscape:export-filename="/home/cynerd/rpp/rpp-simulink/doc/images/demo_board-connection_scheme.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <defs
- id="defs3">
- <marker
- inkscape:stockid="DotM"
- orient="auto"
- refY="0"
- refX="0"
- id="DotM"
- style="overflow:visible">
- <path
- id="path4358"
- d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
- transform="matrix(0.4,0,0,0.4,2.96,0.4)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="DotS"
- orient="auto"
- refY="0"
- refX="0"
- id="DotS"
- style="overflow:visible">
- <path
- id="path4361"
- d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
- transform="matrix(0.2,0,0,0.2,1.48,0.2)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="Arrow1Sstart"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Sstart"
- style="overflow:visible">
- <path
- id="path4306"
- d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
- transform="matrix(0.2,0,0,0.2,1.2,0)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="DotL"
- orient="auto"
- refY="0"
- refX="0"
- id="DotL"
- style="overflow:visible">
- <path
- id="path4355"
- d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
- transform="matrix(0.8,0,0,0.8,5.92,0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="Arrow1Mstart"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Mstart"
- style="overflow:visible">
- <path
- id="path4300"
- d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
- transform="matrix(0.4,0,0,0.4,4,0)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="Arrow1Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Mend"
- style="overflow:visible">
- <path
- id="path4303"
- d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
- transform="matrix(-0.4,0,0,-0.4,-4,0)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="Arrow1Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Mend-3"
- style="overflow:visible">
- <path
- inkscape:connector-curvature="0"
- id="path4303-5"
- d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
- transform="matrix(-0.4,0,0,-0.4,-4,0)" />
- </marker>
- <marker
- inkscape:stockid="Arrow1Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Mend-9"
- style="overflow:visible">
- <path
- inkscape:connector-curvature="0"
- id="path4303-9"
- d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
- transform="matrix(-0.4,0,0,-0.4,-4,0)" />
- </marker>
- <marker
- inkscape:stockid="Arrow1Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Mend-5"
- style="overflow:visible">
- <path
- inkscape:connector-curvature="0"
- id="path4303-8"
- d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
- transform="matrix(-0.4,0,0,-0.4,-4,0)" />
- </marker>
- <marker
- inkscape:stockid="Arrow1Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Mend-4"
- style="overflow:visible">
- <path
- inkscape:connector-curvature="0"
- id="path4303-4"
- d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
- transform="matrix(-0.4,0,0,-0.4,-4,0)" />
- </marker>
- <marker
- inkscape:stockid="Arrow1Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Mend-56"
- style="overflow:visible">
- <path
- inkscape:connector-curvature="0"
- id="path4303-0"
- d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
- transform="matrix(-0.4,0,0,-0.4,-4,0)" />
- </marker>
- <marker
- inkscape:stockid="Arrow1Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Mend-1"
- style="overflow:visible">
- <path
- inkscape:connector-curvature="0"
- id="path4303-99"
- d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
- transform="matrix(-0.4,0,0,-0.4,-4,0)" />
- </marker>
- <marker
- inkscape:stockid="Arrow1Mstart"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Mstart-2"
- style="overflow:visible">
- <path
- inkscape:connector-curvature="0"
- id="path4300-1"
- d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
- transform="matrix(0.4,0,0,0.4,4,0)" />
- </marker>
- <marker
- inkscape:stockid="Arrow1Mstart"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Mstart-4"
- style="overflow:visible">
- <path
- inkscape:connector-curvature="0"
- id="path4300-3"
- d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
- transform="matrix(0.4,0,0,0.4,4,0)" />
- </marker>
- <marker
- inkscape:stockid="Arrow1Mstart"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Mstart-7"
- style="overflow:visible">
- <path
- inkscape:connector-curvature="0"
- id="path4300-5"
- d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
- transform="matrix(0.4,0,0,0.4,4,0)" />
- </marker>
- <marker
- inkscape:stockid="Arrow1Mstart"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Mstart-78"
- style="overflow:visible">
- <path
- inkscape:connector-curvature="0"
- id="path4300-56"
- d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
- transform="matrix(0.4,0,0,0.4,4,0)" />
- </marker>
- <marker
- inkscape:stockid="Arrow1Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Mend-42"
- style="overflow:visible">
- <path
- inkscape:connector-curvature="0"
- id="path4303-6"
- d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
- transform="matrix(-0.4,0,0,-0.4,-4,0)" />
- </marker>
- <marker
- inkscape:stockid="Arrow1Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Mend-2"
- style="overflow:visible">
- <path
- inkscape:connector-curvature="0"
- id="path4303-2"
- d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
- transform="matrix(-0.4,0,0,-0.4,-4,0)" />
- </marker>
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="22.4"
- inkscape:cx="258.15083"
- inkscape:cy="7.4169141"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:snap-bbox="true"
- inkscape:bbox-nodes="false"
- inkscape:bbox-paths="false"
- inkscape:snap-bbox-edge-midpoints="false"
- inkscape:snap-bbox-midpoints="false"
- inkscape:object-paths="false"
- inkscape:snap-intersection-paths="false"
- inkscape:object-nodes="false"
- inkscape:snap-smooth-nodes="false"
- inkscape:snap-midpoints="false"
- inkscape:snap-object-midpoints="false"
- inkscape:snap-center="false"
- inkscape:snap-page="true"
- inkscape:snap-nodes="true"
- inkscape:window-width="1920"
- inkscape:window-height="1014"
- inkscape:window-x="0"
- inkscape:window-y="27"
- inkscape:window-maximized="1"
- inkscape:snap-grids="true"
- inkscape:snap-to-guides="true"
- fit-margin-top="0"
- fit-margin-left="0"
- fit-margin-right="0"
- fit-margin-bottom="0"
- showguides="false">
- <inkscape:grid
- type="xygrid"
- id="grid3008"
- empspacing="5"
- visible="true"
- enabled="true"
- snapvisiblegridlinesonly="true"
- originx="-112.35713px"
- originy="-721.87796px" />
- </sodipodi:namedview>
- <metadata
- id="metadata6">
- <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="Vrstva 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(-112.35713,-49.719323)">
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr"
- x="507.20422"
- y="68.430275"
- id="text3004"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3006"
- x="507.20422"
- y="68.430275"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;fill:#000000;fill-opacity:1;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">Demo board</tspan></text>
- <rect
- style="fill:none;stroke:#000000;stroke-width:1.18484294000000001;stroke-opacity:1"
- id="rect3010"
- width="316.34134"
- height="279.58002"
- x="112.94955"
- y="50.311745" />
- <rect
- style="fill:none;stroke:#000000;stroke-width:0.66765295999999996;stroke-opacity:1"
- id="rect3010-6"
- width="100.42607"
- height="279.6377"
- x="489.95441"
- y="50.512672" />
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
- x="250.50624"
- y="65.821075"
- id="text3798"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3800"
- x="250.50624"
- y="65.821075"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">RPP</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr"
- x="500.78357"
- y="92.325157"
- id="text3802"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804"
- x="500.78357"
- y="92.325157"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">Potentiometer 1</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr"
- x="500.78357"
- y="109.5714"
- id="text3802-7"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-4"
- x="500.78357"
- y="109.5714"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">Potentiometer 2</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr"
- x="500.82663"
- y="126.89484"
- id="text3802-7-2"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-4-7"
- x="500.82663"
- y="126.89484"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">Button 1 (black)</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr"
- x="500.82663"
- y="146.43509"
- id="text3802-7-2-3"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-4-7-5"
- x="500.82663"
- y="146.43509"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">Button 2 (green)</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr"
- x="500.82663"
- y="164.81577"
- id="text3802-7-2-9"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-4-7-1"
- x="500.82663"
- y="164.81577"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">Button 3 (red)</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr"
- x="500.82663"
- y="183.19644"
- id="text3802-7-2-2"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- x="500.82663"
- y="183.19644"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
- id="tspan3917">Button 4 (blue)</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr"
- x="500.82663"
- y="206.06998"
- id="text3802-7-2-2-3"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- x="500.82663"
- y="206.06998"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
- id="tspan3917-5">Bargraphs 1-3</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr"
- x="501.10666"
- y="224.45065"
- id="text3802-7-2-2-3-8"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- x="501.10666"
- y="224.45065"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
- id="tspan3917-5-8">Motor 1</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr"
- x="501.10666"
- y="242.83133"
- id="text3802-7-2-2-3-2"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- x="501.10666"
- y="242.83133"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
- id="tspan3917-5-1">Motor IRC 1</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr"
- x="500.82663"
- y="261.21201"
- id="text3802-7-2-2-3-5"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- x="500.82663"
- y="261.21201"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
- id="tspan3917-5-3">Motor 2</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr"
- x="500.82663"
- y="279.59268"
- id="text3802-7-2-2-3-3"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- x="500.82663"
- y="279.59268"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
- id="tspan3917-5-5">Motor IRC 2</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr"
- x="501.10666"
- y="297.97336"
- id="text3802-7-2-2-3-4"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- x="501.10666"
- y="297.97336"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
- id="tspan3917-5-18">Leds 1-4</tspan></text>
- <rect
- style="fill:none;stroke:#000000;stroke-width:1.23245965999999996;stroke-opacity:1"
- id="rect3999"
- width="206.51584"
- height="27.446758"
- x="121.65756"
- y="86.448219" />
- <rect
- style="fill:none;stroke:#000000;stroke-width:1.23314524000000003;stroke-opacity:1"
- id="rect3999-6"
- width="206.75078"
- height="27.446072"
- x="121.42227"
- y="123.20993" />
- <rect
- style="fill:none;stroke:#000000;stroke-width:1.23314524000000003;stroke-opacity:1"
- id="rect3999-4"
- width="206.75078"
- height="27.446072"
- x="121.42227"
- y="159.97128" />
- <rect
- style="fill:none;stroke:#000000;stroke-width:1.23314524000000003;stroke-opacity:1"
- id="rect3999-8"
- width="206.75078"
- height="27.446072"
- x="121.42227"
- y="196.73264" />
- <rect
- style="fill:none;stroke:#000000;stroke-width:1.23314524000000003;stroke-opacity:1"
- id="rect3999-0"
- width="206.75078"
- height="27.446072"
- x="121.42227"
- y="233.494" />
- <rect
- style="fill:none;stroke:#000000;stroke-width:1.23314524000000003;stroke-opacity:1"
- id="rect3999-86"
- width="206.75078"
- height="27.446072"
- x="121.42227"
- y="270.25534" />
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
- x="423.5242"
- y="92.874008"
- id="text3802-8"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-5"
- x="423.5242"
- y="92.874008"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">ADC 1</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
- x="423.60233"
- y="112.41605"
- id="text3802-8-1"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-5-3"
- x="423.60233"
- y="112.41605"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">ADC 2</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
- x="423.26541"
- y="129.53307"
- id="text3802-8-1-7"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-5-3-8"
- x="423.26541"
- y="129.53307"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">DIN 0</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
- x="423.5242"
- y="147.91373"
- id="text3802-8-1-7-7"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-5-3-8-4"
- x="423.5242"
- y="147.91373"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">DIN 1</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
- x="423.60233"
- y="166.29442"
- id="text3802-8-1-7-70"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-5-3-8-6"
- x="423.60233"
- y="166.29442"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">DIN 2</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
- x="423.40213"
- y="184.67509"
- id="text3802-8-1-7-4"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-5-3-8-43"
- x="423.40213"
- y="184.67509"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">DIN 3</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
- x="423.40213"
- y="207.75325"
- id="text3802-8-1-7-5"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-5-3-8-46"
- x="423.40213"
- y="207.75325"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">DAC 1-3</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
- x="422.88943"
- y="225.99931"
- id="text3802-8-1-7-6"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-5-3-8-1"
- x="422.88943"
- y="225.99931"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">HBR</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
- x="423.60233"
- y="262.90067"
- id="text3802-8-1-7-1"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-5-3-8-2"
- x="423.60233"
- y="262.90067"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">MOUT 1,2</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
- x="423.5242"
- y="244.41229"
- id="text3802-8-1-7-8"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-5-3-8-5"
- x="423.5242"
- y="244.41229"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">DIN 10,11</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
- x="423.47537"
- y="281.17365"
- id="text3802-8-1-7-57"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-5-3-8-3"
- x="423.47537"
- y="281.17365"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">DIN 14,15</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
- x="423.16287"
- y="299.66202"
- id="text3802-8-1-7-17"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-5-3-8-62"
- x="423.16287"
- y="299.66202"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">LOUT 1-4</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
- x="180.75684"
- y="104.9598"
- id="text3802-8-1-7-54"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-5-3-8-7"
- x="180.75684"
- y="104.9598"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">Motor speed control</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr"
- x="201.69908"
- y="140.92088"
- id="text3802-8-1-7-69"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-5-3-8-64"
- x="201.69908"
- y="140.92088"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">Color music</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr"
- x="187.28174"
- y="177.54761"
- id="text3802-8-1-7-80"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-5-3-8-49"
- x="187.28174"
- y="177.54761"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">Buttons and leds</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr"
- x="198.55786"
- y="214.44359"
- id="text3802-8-1-7-805"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-5-3-8-35"
- x="198.55786"
- y="214.44359"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">IRC to CAN</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr"
- x="135.74583"
- y="250.17462"
- id="text3802-8-1-7-19"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-5-3-8-42"
- x="135.74583"
- y="250.17462"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">CAN receive - Button press emulation</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr"
- x="143.64378"
- y="287.96631"
- id="text3802-8-1-7-805-2"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-5-3-8-35-8"
- x="143.64378"
- y="287.96631"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">Configuration and error handling</tspan></text>
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
- d="m 490.1129,88.827498 -60.47572,0"
- id="path4288"
- inkscape:connector-curvature="0" />
- <text
- xml:space="preserve"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
- x="423.60233"
- y="322.63248"
- id="text3802-8-1-7-17-1"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3804-5-3-8-62-9"
- x="423.60233"
- y="322.63248"
- style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">CAN 2</tspan></text>
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
- d="m 490.08007,105.55063 -60.47572,0"
- id="path4288-9"
- inkscape:connector-curvature="0" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
- d="m 490.08007,123.01227 -60.47572,0"
- id="path4288-9-4"
- inkscape:connector-curvature="0" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
- d="m 490.08007,141.85247 -60.47572,0"
- id="path4288-9-0"
- inkscape:connector-curvature="0" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
- d="m 490.08007,160.23315 -60.47572,0"
- id="path4288-9-6"
- inkscape:connector-curvature="0" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
- d="m 490.08007,178.61382 -60.47572,0"
- id="path4288-9-46"
- inkscape:connector-curvature="0" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart);marker-end:none"
- d="m 490.08007,202.04919 -60.47572,0"
- id="path4288-9-8"
- inkscape:connector-curvature="0" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart);marker-end:none"
- d="m 489.3908,219.97035 -60.47572,0"
- id="path4288-9-8-4"
- inkscape:connector-curvature="0" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart);marker-end:none"
- d="m 489.89956,256.73171 -60.47573,0"
- id="path4288-9-8-2"
- inkscape:connector-curvature="0" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart);marker-end:none"
- d="m 490.30983,293.95258 -60.47572,0"
- id="path4288-9-8-8"
- inkscape:connector-curvature="0" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
- d="m 490.08007,237.89151 -60.47572,0"
- id="path4288-9-46-2"
- inkscape:connector-curvature="0" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
- d="m 490.08007,275.5719 -60.47572,0"
- id="path4288-9-46-8"
- inkscape:connector-curvature="0" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.83806779999999992, 0.91903389999999996, 0.45951694999999998, 0.91903389999999996;stroke-dashoffset:0;marker-start:url(#Arrow1Mstart-78)"
- d="m 429.4391,321.7252 46.65031,0 0,-46.41822 0,-187.053877"
- id="path8024"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:type="arc"
- style="fill:#000000;fill-opacity:1;stroke:none"
- id="path8234"
- sodipodi:cx="475.29019"
- sodipodi:cy="302.60773"
- sodipodi:rx="1.2276785"
- sodipodi:ry="1.1830357"
- d="m 476.51787,302.60773 c 0,0.65337 -0.54965,1.18303 -1.22768,1.18303 -0.67803,0 -1.22768,-0.52966 -1.22768,-1.18303 0,-0.65338 0.54965,-1.18304 1.22768,-1.18304 0.67803,0 1.22768,0.52966 1.22768,1.18304 z"
- transform="matrix(1.2993608,0,0,1.2993608,-141.49794,-117.7881)" />
- <path
- sodipodi:type="arc"
- style="fill:#000000;fill-opacity:1;stroke:none"
- id="path8234-6"
- sodipodi:cx="475.29019"
- sodipodi:cy="302.60773"
- sodipodi:rx="1.2276785"
- sodipodi:ry="1.1830357"
- d="m 476.51787,302.60773 c 0,0.65337 -0.54965,1.18303 -1.22768,1.18303 -0.67803,0 -1.22768,-0.52966 -1.22768,-1.18303 0,-0.65338 0.54965,-1.18304 1.22768,-1.18304 0.67803,0 1.22768,0.52966 1.22768,1.18304 z"
- transform="matrix(1.2993608,0,0,1.2993608,-141.48405,-287.66429)" />
- <path
- sodipodi:type="arc"
- style="fill:#000000;fill-opacity:1;stroke:none"
- id="path8234-1"
- sodipodi:cx="475.29019"
- sodipodi:cy="302.60773"
- sodipodi:rx="1.2276785"
- sodipodi:ry="1.1830357"
- d="m 476.51787,302.60773 c 0,0.65337 -0.54965,1.18303 -1.22768,1.18303 -0.67803,0 -1.22768,-0.52966 -1.22768,-1.18303 0,-0.65338 0.54965,-1.18304 1.22768,-1.18304 0.67803,0 1.22768,0.52966 1.22768,1.18304 z"
- transform="matrix(1.2993608,0,0,1.2993608,-141.42602,-304.43287)" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.83806779999999992, 0.91903389999999996, 0.45951694999999998, 0.91903389999999996;stroke-dashoffset:0"
- d="m 429.22689,312.43172 28.5557,0 0,-189.71485"
- id="path8297"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:type="arc"
- style="fill:#000000;fill-opacity:1;stroke:none"
- id="path8234-6-3"
- sodipodi:cx="475.29019"
- sodipodi:cy="302.60773"
- sodipodi:rx="1.2276785"
- sodipodi:ry="1.1830357"
- d="m 476.51787,302.60773 c 0,0.65337 -0.54965,1.18303 -1.22768,1.18303 -0.67803,0 -1.22768,-0.52966 -1.22768,-1.18303 0,-0.65338 0.54965,-1.18304 1.22768,-1.18304 0.67803,0 1.22768,0.52966 1.22768,1.18304 z"
- transform="matrix(1.2993608,0,0,1.2993608,-159.95498,-270.31564)" />
- <path
- sodipodi:type="arc"
- style="fill:#000000;fill-opacity:1;stroke:none"
- id="path8234-6-2"
- sodipodi:cx="475.29019"
- sodipodi:cy="302.60773"
- sodipodi:rx="1.2276785"
- sodipodi:ry="1.1830357"
- d="m 476.51787,302.60773 c 0,0.65337 -0.54965,1.18303 -1.22768,1.18303 -0.67803,0 -1.22768,-0.52966 -1.22768,-1.18303 0,-0.65338 0.54965,-1.18304 1.22768,-1.18304 0.67803,0 1.22768,0.52966 1.22768,1.18304 z"
- transform="matrix(1.2993608,0,0,1.2993608,-159.79086,-251.27851)" />
- <path
- sodipodi:type="arc"
- style="fill:#000000;fill-opacity:1;stroke:none"
- id="path8234-6-24"
- sodipodi:cx="475.29019"
- sodipodi:cy="302.60773"
- sodipodi:rx="1.2276785"
- sodipodi:ry="1.1830357"
- d="m 476.51787,302.60773 c 0,0.65337 -0.54965,1.18303 -1.22768,1.18303 -0.67803,0 -1.22768,-0.52966 -1.22768,-1.18303 0,-0.65338 0.54965,-1.18304 1.22768,-1.18304 0.67803,0 1.22768,0.52966 1.22768,1.18304 z"
- transform="matrix(1.2993608,0,0,1.2993608,-159.79085,-233.06195)" />
- <path
- sodipodi:type="arc"
- style="fill:#000000;fill-opacity:1;stroke:none"
- id="path8234-6-1"
- sodipodi:cx="475.29019"
- sodipodi:cy="302.60773"
- sodipodi:rx="1.2276785"
- sodipodi:ry="1.1830357"
- d="m 476.51787,302.60773 c 0,0.65337 -0.54965,1.18303 -1.22768,1.18303 -0.67803,0 -1.22768,-0.52966 -1.22768,-1.18303 0,-0.65338 0.54965,-1.18304 1.22768,-1.18304 0.67803,0 1.22768,0.52966 1.22768,1.18304 z"
- transform="matrix(1.2993608,0,0,1.2993608,-159.62674,-214.68127)" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#DotM)"
- d="m 361.4364,101.00656 0,119.759 28.7793,0"
- id="path8762"
- inkscape:connector-curvature="0" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91713780000000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#DotS)"
- d="m 361.33974,100.7257 -32.79724,0"
- id="path9404"
- inkscape:connector-curvature="0" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#DotM)"
- d="m 381.22379,87.022253 -19.8577,0 0,13.949617"
- id="path9620"
- inkscape:connector-curvature="0" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#DotS);marker-end:url(#DotM)"
- d="m 342.2967,123.63543 46.06227,0"
- id="path10486"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#DotM)"
- d="m 328.78962,137.48706 13.45729,0 0,-30.85328 42.3412,0"
- id="path13308"
- inkscape:connector-curvature="0" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#DotS);marker-end:url(#DotM)"
- d="m 342.17284,137.48066 0,134.60686 25.53003,0"
- id="path13526"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccc" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#DotS);marker-end:url(#DotM)"
- d="m 342.0828,201.98354 32.74058,0"
- id="path13960"
- inkscape:connector-curvature="0" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#DotM)"
- d="m 328,284.36215 5,0 0,37 50,0"
- id="path14394"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccc" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#DotM)"
- d="m 328.01528,248.15231 8.18029,0 -0.12308,68.17678 47.02091,-0.11605"
- id="path14614"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccc" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#DotM)"
- d="m 328.13317,211.50211 19.36535,0 0,99.94835 35.61257,0"
- id="path14834"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccc" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#DotS);marker-end:url(#DotM)"
- d="m 347.51094,276.46744 20.19192,0"
- id="path15052"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#DotS)"
- d="m 327.47672,174.24841 51.53154,0"
- id="path15486"
- inkscape:connector-curvature="0" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#DotS);marker-end:url(#DotM)"
- d="m 354.39128,174.24841 0,119.80263 14.90444,0"
- id="path15704"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccc" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#DotM)"
- d="m 379.13335,174.2313 0,4.08321 9.92531,0"
- id="path16138"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccc" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#DotM)"
- d="m 379.01731,174.17327 0,-14.56372 10.09596,0"
- id="path16356"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccc" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.91903389000000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#DotS);marker-end:url(#DotM)"
- d="m 379.01731,159.60955 0,-17.75496 10.21201,0"
- id="path16574"
- inkscape:connector-curvature="0" />
- </g>
-</svg>
+++ /dev/null
-<?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="763.31927"
- height="709.83832"
- id="svg2"
- version="1.1"
- inkscape:version="0.48.3.1 r9886"
- sodipodi:docname="dev_wiring.svg"
- inkscape:export-filename="dev_wiring.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <title
- id="title4706">RPP Wiring for Development</title>
- <defs
- id="defs4">
- <marker
- inkscape:stockid="Arrow1Send"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Send"
- style="overflow:visible">
- <path
- id="path3789"
- d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
- transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="Arrow1Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Mend"
- style="overflow:visible">
- <path
- id="path3783"
- d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
- transform="matrix(-0.4,0,0,-0.4,-4,0)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- inkscape:stockid="Arrow1Mend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Mend-4"
- style="overflow:visible">
- <path
- inkscape:connector-curvature="0"
- id="path3783-6"
- d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
- transform="matrix(-0.4,0,0,-0.4,-4,0)" />
- </marker>
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="0.7367875"
- inkscape:cx="381.65964"
- inkscape:cy="354.91916"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- borderlayer="true"
- inkscape:showpageshadow="false"
- fit-margin-top="0"
- fit-margin-left="0"
- fit-margin-right="0"
- fit-margin-bottom="0"
- inkscape:window-width="1366"
- inkscape:window-height="712"
- inkscape:window-x="0"
- inkscape:window-y="27"
- inkscape:window-maximized="1" />
- <metadata
- id="metadata7">
- <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>RPP Wiring for Development</dc:title>
- <dc:creator>
- <cc:Agent>
- <dc:title>Carlos Jenkins</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:rights>
- <cc:Agent>
- <dc:title>2013 Czech Technical University in Prague</dc:title>
- </cc:Agent>
- </dc:rights>
- <dc:date>Jun 24 2012</dc:date>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(-44.499989,-136.21933)">
- <image
- y="136.21933"
- x="44.499989"
- id="image4682"
- xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
-HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
-MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAG2AdcDASIA
-AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
-AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
-ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
-p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
-AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
-BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
-U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
-uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDqfsUI
-7D8qQ2sWMj16EVYJ70zO1G561wo62kV2tYs/d5rB8TatZaDp5kcBrhziKIfxGrHiLxLbaBYebKd0
-78RRA8ufevItT1S4u7w3V45kvJPuRjpGPQCmoKT1JsR317M0klxcPuuZOpz90dgK6rwL4S3SrqF7
-Edzcxq3b3qPwz4QbdHqGqKWkI3Rwnt7n3r07TbcRRbsc+lVLayC92TJYwquGXt6VBcafbyoyMuQw
-wfpWh2qNxt5rPlKaPKtU04+HZLqzlVn0+4U+UwHKn0q/4EuVudKns3ILRMQFPUA12mp2UN7btHPG
-HjPUEV5hFO3hHxbICrNbt98dyhPUfStIpPclo5m7i8nVbyNeiSMB7c1b8OSrHrRglAMVyhQg0mrL
-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
-g5zRRW8/gMI/GdLoRzYReyCiiisEaM//2Q==
-"
- height="709.83832"
- width="763.31927" />
- <g
- id="g4713">
- <text
- sodipodi:linespacing="125%"
- id="text2996"
- y="222.3622"
- x="191.42859"
- style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:#000000;font-family:Sans"
- xml:space="preserve"><tspan
- style="font-size:30px;font-weight:bold;fill:#ff0000;stroke:#000000;-inkscape-font-specification:Sans Bold"
- y="222.3622"
- x="191.42859"
- id="tspan2998"
- sodipodi:role="line">Power input</tspan></text>
- <path
- inkscape:connector-curvature="0"
- id="path3000"
- d="m 473.84375,206.09375 4,4 -72.125,0 0,8 72.125,0 -4,4 14,-4 3.59375,0 0,-1.03125 10.40625,-2.96875 -10.40625,-2.96875 0,-1.03125 -3.59375,0 -14,-4 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
- </g>
- <g
- id="g4718">
- <text
- sodipodi:linespacing="125%"
- id="text2996-6"
- y="540.63855"
- x="303.08734"
- style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#00ff00;fill-opacity:1;stroke:#000000;font-family:Sans"
- xml:space="preserve"><tspan
- style="font-size:30px;font-weight:bold;fill:#00ff00;stroke:#000000;-inkscape-font-specification:Sans Bold"
- y="540.63855"
- x="303.08734"
- id="tspan2998-2"
- sodipodi:role="line">JTAG</tspan></text>
- <path
- inkscape:connector-curvature="0"
- id="path3000-9"
- d="m 459.78125,524.5 4,4 -72.125,0 0,8 72.125,0 -4,4 14,-4 3.59375,0 0,-1.03125 10.40625,-2.96875 -10.40625,-2.96875 0,-1.03125 -3.59375,0 -14,-4 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#00ff00;fill-opacity:1;stroke:#000000;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
- </g>
- <g
- id="g4723">
- <text
- xml:space="preserve"
- style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:#000000;font-family:Sans"
- x="278.80164"
- y="577.78143"
- id="text4618"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan4620"
- x="278.80164"
- y="577.78143"
- style="font-size:30px;font-weight:bold;fill:#0000ff;stroke:#000000;-inkscape-font-specification:Sans Bold">RS232</tspan></text>
- <path
- inkscape:connector-curvature="0"
- id="path4622"
- d="m 459.78125,558.875 4,4 -72.125,0 0,8 72.125,0 -4,4 14,-4 3.59375,0 0,-1.03125 10.40625,-2.96875 -10.40625,-2.96875 0,-1.03125 -3.59375,0 -14,-4 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000080;fill-opacity:1;stroke:#000000;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
- </g>
- <g
- id="g4708">
- <text
- sodipodi:linespacing="125%"
- id="text4624"
- y="323.79074"
- x="317.14288"
- style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:#000000;font-family:Sans"
- xml:space="preserve"><tspan
- style="font-size:22px;font-weight:bold;fill:#ffffff;stroke:#000000;-inkscape-font-specification:Sans Bold"
- y="323.79074"
- x="317.14288"
- id="tspan4626"
- sodipodi:role="line">XDS100v2 JTAG Emulator</tspan></text>
- <path
- inkscape:connector-curvature="0"
- id="path4628"
- d="m 704.0625,309.625 4,4 -72.125,0 0,8 72.125,0 -4,4 14,-4 3.59375,0 0,-1.03125 10.40625,-2.96875 -10.40625,-2.96875 0,-1.03125 -3.59375,0 -14,-4 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
- </g>
- </g>
-</svg>
+++ /dev/null
-<?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="724.28577"
- height="357"
- id="svg2"
- version="1.1"
- inkscape:version="0.48.3.1 r9886"
- sodipodi:docname="logos.svg"
- inkscape:export-filename="logos.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <defs
- id="defs4" />
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="1"
- inkscape:pageshadow="2"
- inkscape:zoom="1.745098"
- inkscape:cx="362.14288"
- inkscape:cy="178.5"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:window-width="1600"
- inkscape:window-height="844"
- inkscape:window-x="0"
- inkscape:window-y="27"
- inkscape:window-maximized="1"
- showguides="true"
- inkscape:guide-bbox="true"
- borderlayer="true"
- inkscape:showpageshadow="false"
- fit-margin-left="5"
- fit-margin-top="5"
- fit-margin-bottom="5"
- fit-margin-right="5" />
- <metadata
- id="metadata7">
- <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"
- transform="translate(-9.6428223,-428.14789)">
- <image
- y="433.14789"
- x="373.92856"
- id="image3023"
- xlink:href="file:///home/carlos/rpp-simulink/doc/reports/report/images/itcr.png"
- height="347"
- width="355" />
- <g
- id="g3089"
- transform="translate(0,12)">
- <image
- width="326"
- height="247.66556"
- xlink:href="file:///home/carlos/rpp-simulink/doc/reports/report/images/cvut.png"
- id="image3034"
- x="14.642822"
- y="433.36218" />
- <text
- sodipodi:linespacing="125%"
- id="text3048"
- y="724.11914"
- x="177.5217"
- style="font-size:10.63101578000000025px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#1576c3;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans;text-anchor:middle;text-align:center"
- xml:space="preserve"><tspan
- style="font-size:24.80570412000000147px;font-weight:bold;fill:#1576c3;fill-opacity:1;-inkscape-font-specification:DejaVu Sans Bold;text-anchor:middle;text-align:center"
- y="724.11914"
- x="25.501986"
- id="tspan3050"
- sodipodi:role="line">ČESKÉ VYSOKÉ UČENÍ </tspan><tspan
- style="font-size:24.80570412000000147px;font-weight:bold;fill:#1576c3;fill-opacity:1;-inkscape-font-specification:DejaVu Sans Bold;text-anchor:middle;text-align:center"
- id="tspan3052"
- y="755.12628"
- x="25.501986"
- sodipodi:role="line">TECHNICKÉ V PRAZE</tspan></text>
- </g>
- <flowRoot
- xml:space="preserve"
- id="flowRoot3054"
- style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"><flowRegion
- id="flowRegion3056"><rect
- id="rect3058"
- width="98"
- height="27"
- x="66"
- y="746.36218" /></flowRegion><flowPara
- id="flowPara3060" /></flowRoot> </g>
-</svg>
+++ /dev/null
-../../rpp/lib/rpp/doc/board.pdf
\ No newline at end of file
\begin{center}
% Upper part of the page
-\includegraphics[width=0.70\textwidth]{images/logos.png}\\[1cm]
-\textsc{\LARGE Costa Rica Institute of Technology}\\[0.5cm]
+\includegraphics[width=0.40\textwidth]{images/logo_ctu.pdf}\\[1cm]
\textsc{\LARGE Czech Technical University in Prague}\\[1.5cm]
% Document title
-\HRule \\[0.4cm]
-{ \huge \bfseries Code generation for automotive rapid prototyping platform using Matlab/Simulink}\\[0.4cm]
+\HRule
+\vspace{0.4cm}
+{\huge \bfseries Simulink code generation target for Texas~Instruments
+ RM48 platform\par}
+\vspace{0.4cm}
\HRule \\[1.5cm]
\chapter{Introduction}
\label{chap-introduction}
-This text is a documentation for a Rapid Prototyping Platform (RPP) project. It
-may serve as a guideline for development tools installation, Simulink Coder
-configuration, creation of new models as well as downloading the resulting
-firmware to the hardware. It can also be used as a reference for a testing tool,
-Matlab Simulink blocks and RPP Matlab Simulink Code generator. The document also
-provides an overall description of the hardware design and architecture of its
-control software.
+This text serves as a documentation for the Rapid Prototyping Platform
+(RPP) project based on Texas Instruments RM48 safety microcontroller.
+Originally, the RPP project was created for TMS570 microcontroller and
+the port to RM48 was derived from it under a contract with Eaton
+Corporation. As this document is still in beta version, some
+references to the original TMS570-based RPP remain in it.
+
+
+The document contains step-by-step instructions for installation of
+development tools, information about Simulink Coder configuration,
+describes how to create new models as well as how to download the
+resulting firmware to the hardware. It can also be used as a reference
+for a testing tool, Matlab Simulink blocks and RPP Matlab Simulink
+Code generator. The document also provides an overall description of
+the hardware design and architecture of its control software.
\section{Background}
\label{sec-background}
\begin{compactitem}
\item Top-down dependency only. No lower layer depends on anything from
upper layers.
- \item 1-1 layer dependency only. The top layer depends
-exclusively on the bottom layer, not on any lower level layer (except for a
-couple of exceptions).
+% \item 1-1 layer dependency only. The top layer depends
+% exclusively on the bottom layer, not on any lower level layer (except for a
+% couple of exceptions).
\item Each layer should provide a unified layer interface
(\textsc{rpp.h}, \textsc{drv.h}, \textsc {hal.h}, \textsc{sys.h} and
\textsc{os.h}), so top layers depends on that layer interface and not on
\item Modules capabilities and features.
\end{compactitem}
-\subsection{Layout description}
-\label{sec-layout-description}
-The RPP board has been designed with strict Automotive standards and safety in
-mind. The components and pins are placed in sections and wires are routed in a
-way to avoid any significant electromagnetic interference.
-
-As can be seen on Figure \ref{board_photo}, the high power output logic is
-placed in the top left corner, the low power output logic is placed on the
-bottom left corner, while the communication logic is placed on the top right
-corner. In the middle there is the only one button available, the reset button
-and below it is placed the TMS570 MCU itself. In the bottom right corner there
-are components of analog inputs.
-
-\begin{figure}[H]\begin{center}
-\noindent
-\includegraphics[width=300px]{images/board-photo.png}
-\caption{The RPP board (signal connector missing).}
-\label{board_photo}
-\end{center}\end{figure}
-
-
-\subsection{Connectors pinout}
-\label{sec-connector-pinout}
-The pinout of the board, described by the Figure \ref{pinout}, follows the
-layout described in the previous section. The side connectors for communication
-(24 pins), signals (56 pins) and power (24 pins) are automotive approved
-humidity resistant connectors.
-
-\begin{figure}[H]
-\advance\leftskip-1cm
-\noindent
-\includegraphics[width=530px]{images/pinout.pdf}
-\caption{The RPP connectors pinout.}
-\label{pinout}
-\end{figure}
-
-\subsection{Modules description}
-\label{sec-modules-description}
-This section enumerates the capabilities of the hardware modules from Software
-perspective. The block diagram of the modules can be seen in Figure
-\ref{blocks}.
-
-\begin{figure}[H]
-\advance
-\leftskip-1cm
-\noindent
-\includegraphics[width=500px]{images/blocks.pdf}
-\caption{The RPP layer modules.}
-\label{blocks}
-\end{figure}
-
-\subsubsection{Logic IO}
-\label{sec-logic-io}
+TODO
+
+% \subsection{Layout description}
+% \label{sec-layout-description}
+% The RPP board has been designed with strict Automotive standards and safety in
+% mind. The components and pins are placed in sections and wires are routed in a
+% way to avoid any significant electromagnetic interference.
+
+% As can be seen on Figure \ref{board_photo}, the high power output logic is
+% placed in the top left corner, the low power output logic is placed on the
+% bottom left corner, while the communication logic is placed on the top right
+% corner. In the middle there is the only one button available, the reset button
+% and below it is placed the TMS570 MCU itself. In the bottom right corner there
+% are components of analog inputs.
+
+% \begin{figure}[H]\begin{center}
+% \noindent
+% \includegraphics[width=300px]{images/board-photo.png}
+% \caption{The RPP board (signal connector missing).}
+% \label{board_photo}
+% \end{center}\end{figure}
+
+
+% \subsection{Connectors pinout}
+% \label{sec-connector-pinout}
+% The pinout of the board, described by the Figure \ref{pinout}, follows the
+% layout described in the previous section. The side connectors for communication
+% (24 pins), signals (56 pins) and power (24 pins) are automotive approved
+% humidity resistant connectors.
+
+% \begin{figure}[H]
+% \advance\leftskip-1cm
+% \noindent
+% \includegraphics[width=530px]{images/pinout.pdf}
+% \caption{The RPP connectors pinout.}
+% \label{pinout}
+% \end{figure}
+
+% \subsection{Modules description}
+% \label{sec-modules-description}
+% This section enumerates the capabilities of the hardware modules from Software
+% perspective. The block diagram of the modules can be seen in Figure
+% \ref{blocks}.
+
+% \begin{figure}[H]
+% \advance
+% \leftskip-1cm
+% \noindent
+% \includegraphics[width=500px]{images/blocks.pdf}
+% \caption{The RPP layer modules.}
+% \label{blocks}
+% \end{figure}
+
+% \subsubsection{Logic IO}
+% \label{sec-logic-io}
\paragraph{Digital Inputs (DIN)}
\label{par-digital-inputs}
-\begin{compactitem}
- \item 16 pins available on Signal Connector.
- \item Pins 8-15 status can be read via GPIO using configurable
-threshold. \newline{} Pins 8-11 use variable threshold B and pins 12-15 use
-variable threshold A.
- \item Variable threshold is a DAC chip MCP4922.
- \item All pins are read at once via SPI (fixed threshold) using chip
-MC33972.
- \item 0-7 are programmable pins and can be set to pull-up or
-pull-down. 8-15 are pull-down only.
- \item All pins can be set to be active or tri-stated.
- \item All pins can be set to trigger interrupt.
- \item On-line diagnostic of broken wire.
-\end{compactitem}
-
-\paragraph{Digital Outputs (LOUT)}
-\label{par-digital-outputs}
-\begin{compactitem}
- \item 8 pins available on Signal Connector.
- \item Pins for logic output only, up to 100mA.
- \item All pins are set at once using a chip through SPI.
-\end{compactitem}
+% \begin{compactitem}
+% \item 16 pins available on Signal Connector.
+% \item Pins 8-15 status can be read via GPIO using configurable
+% threshold. \newline{} Pins 8-11 use variable threshold B and pins 12-15 use
+% variable threshold A.
+% \item Variable threshold is a DAC chip MCP4922.
+% \item All pins are read at once via SPI (fixed threshold) using chip
+% MC33972.
+% \item 0-7 are programmable pins and can be set to pull-up or
+% pull-down. 8-15 are pull-down only.
+% \item All pins can be set to be active or tri-stated.
+% \item All pins can be set to trigger interrupt.
+% \item On-line diagnostic of broken wire.
+% \end{compactitem}
+
+% \paragraph{Digital Outputs (LOUT)}
+% \label{par-digital-outputs}
+% \begin{compactitem}
+% \item 8 pins available on Signal Connector.
+% \item Pins for logic output only, up to 100mA.
+% \item All pins are set at once using a chip through SPI.
+% \end{compactitem}
\paragraph{Analog Input (ADC)}
\label{par-analog-input}
-\begin{compactitem}
- \item 12 channels available.
- \item Differential inputs, thus 24 pins available on Signal Connector.
- \item Range for 0-20 volts.
- \item 12 bits resolution.
- \item Using CPU ADC.
-\end{compactitem}
-
-\paragraph{Analog Output (DAC)}
-\label{par-analog-output}
-\begin{compactitem}
- \item 4 pins available on Signal Connector.
- \item Output range is 0-12 volts.
- \item Using 2 x MCP4922 DACs controlled using SPI.
- \item Resolution is 12 bits. But because of amplification and voltage
-reference not all range is used.
-\end{compactitem}
-
-\subsubsection{Power Output}
-\label{sec-power-output}
-\paragraph{H-Bridge (HBR)}
-\label{par-hbr}
-\begin{compactitem}
- \item 1 port (2 pins) available on Power Connector.
- \item Communication is done through SPI.
- \item H-Bridge can be enabled or disabled.
- \item Current direction can be set.
- \item PWM control with 1\% resolution change of the duty cycle.
- \item Port can drive load up to 10A.
-\end{compactitem}
-
-\paragraph{Power Output (MOUT)}
-\label{par-power-output}
-\begin{compactitem}
- \item 6 pins available on Power Connector.
- \item Pins can drive a load up to 2A. Push/Pull.
- \item Pins are set using 6 CPU output GPIOs. Diagnostic are read using 6
-externally pulled-up open-drain input GPIOs.
- \item On-line diagnostics. Driver chip will pull-down the corresponding
-diagnostic pin on the CPU.
-\end{compactitem}
-
-\paragraph{High-Power Output (HOUT)}
-\label{par-high-power-output}
-\begin{compactitem}
- \item 6 pins available on Power Connector.
- \item Pins can be set ON/OFF.
- \item Pins can drive a load up to 10A with PWM.
- \item System can read analog values of current flowing (IFBK).
- \item System can read diagnostics values (DIAG). Detection of a fault
-condition.
-\end{compactitem}
+% \begin{compactitem}
+% \item 12 channels available.
+% \item Differential inputs, thus 24 pins available on Signal Connector.
+% \item Range for 0-20 volts.
+% \item 12 bits resolution.
+% \item Using CPU ADC.
+% \end{compactitem}
+
+% \paragraph{Analog Output (DAC)}
+% \label{par-analog-output}
+% \begin{compactitem}
+% \item 4 pins available on Signal Connector.
+% \item Output range is 0-12 volts.
+% \item Using 2 x MCP4922 DACs controlled using SPI.
+% \item Resolution is 12 bits. But because of amplification and voltage
+% reference not all range is used.
+% \end{compactitem}
+
+% \subsubsection{Power Output}
+% \label{sec-power-output}
+% \paragraph{H-Bridge (HBR)}
+% \label{par-hbr}
+% \begin{compactitem}
+% \item 1 port (2 pins) available on Power Connector.
+% \item Communication is done through SPI.
+% \item H-Bridge can be enabled or disabled.
+% \item Current direction can be set.
+% \item PWM control with 1\% resolution change of the duty cycle.
+% \item Port can drive load up to 10A.
+% \end{compactitem}
+
+% \paragraph{Power Output (MOUT)}
+% \label{par-power-output}
+% \begin{compactitem}
+% \item 6 pins available on Power Connector.
+% \item Pins can drive a load up to 2A. Push/Pull.
+% \item Pins are set using 6 CPU output GPIOs. Diagnostic are read using 6
+% externally pulled-up open-drain input GPIOs.
+% \item On-line diagnostics. Driver chip will pull-down the corresponding
+% diagnostic pin on the CPU.
+% \end{compactitem}
+
+% \paragraph{High-Power Output (HOUT)}
+% \label{par-high-power-output}
+% \begin{compactitem}
+% \item 6 pins available on Power Connector.
+% \item Pins can be set ON/OFF.
+% \item Pins can drive a load up to 10A with PWM.
+% \item System can read analog values of current flowing (IFBK).
+% \item System can read diagnostics values (DIAG). Detection of a fault
+% condition.
+% \end{compactitem}
\subsubsection{Communication}
\label{sec-communication}
\item Detection of network errors.
\end{compactitem}
-\paragraph{Local Interconnect Network (LIN)}
-\label{par-lin}
-\begin{compactitem}
- \item 2 ports/pins available on Communication Connector.
- \item Only first port can be used when using the SCI. Second port is
-shared with SCI.
-\end{compactitem}
-
-\paragraph{FlexRay (FR)}
-\label{par-flexray}
-\begin{compactitem}
- \item 2 ports available. FlexRay uses differential signaling thus 4 pins are available on
- Communication Connector.
-\end{compactitem}
+% \paragraph{Local Interconnect Network (LIN)}
+% \label{par-lin}
+% \begin{compactitem}
+% \item 2 ports/pins available on Communication Connector.
+% \item Only first port can be used when using the SCI. Second port is
+% shared with SCI.
+% \end{compactitem}
+
+% \paragraph{FlexRay (FR)}
+% \label{par-flexray}
+% \begin{compactitem}
+% \item 2 ports available. FlexRay uses differential signaling thus 4 pins are available on
+% Communication Connector.
+% \end{compactitem}
\paragraph{Serial Comm. Interface (SCI)}
\label{par-sci}
\item RS232 standard compatible.
\end{compactitem}
-\paragraph{Ethernet (ETH)}
-\label{par-eth}
-\begin{compactitem}
- \item 1 port available. Standard Ethernet connector available inside box.
-\end{compactitem}
-
-\subsubsection{Data storage/logging}
-\label{sec-data-storage}
-\paragraph{External Memory SD-RAM (SDR)}
-\label{par-external-memory}
-\begin{compactitem}
- \item 64MB (currently installed) external RAM used for logging. Maximal
-supported capacity is 256MB.
- \item Memory test routine available with test
-Software.
-\end{compactitem}
-
-\paragraph{SD Card (SDC)}
-\label{par-sd-card}
-\begin{compactitem}
- \item Standard SD-Card connector or microSD connector available inside box.
- \item Communication done using SPI.
-\end{compactitem}
+% \paragraph{Ethernet (ETH)}
+% \label{par-eth}
+% \begin{compactitem}
+% \item 1 port available. Standard Ethernet connector available inside box.
+% \end{compactitem}
+
+% \subsubsection{Data storage/logging}
+% \label{sec-data-storage}
+% \paragraph{External Memory SD-RAM (SDR)}
+% \label{par-external-memory}
+% \begin{compactitem}
+% \item 64MB (currently installed) external RAM used for logging. Maximal
+% supported capacity is 256MB.
+% \item Memory test routine available with test
+% Software.
+% \end{compactitem}
+
+% \paragraph{SD Card (SDC)}
+% \label{par-sd-card}
+% \begin{compactitem}
+% \item Standard SD-Card connector or microSD connector available inside box.
+% \item Communication done using SPI.
+% \end{compactitem}
\section{Document structure}
\label{sec-document-structure}
\item Configure linker to retain \textsc{.intvecs} from RPP static
library.\newline{} \noindent\includegraphics[width=350px]{images/base_4.png}
\item Configure compiler to include local includes, OS includes for
-TMS570 and RPP includes, in that order\todo{Add lwip include paths as
-well}.\newline{}
+TMS570 and RPP includes, in that order.\newline{}
\noindent\includegraphics[width=350px]{images/base_5.png}
\newpage
\item Configure compiler to allow GCC extensions.\newline{}
\begin{enumerate}
\item Connect the Texas Instruments XDS100v2 USB emulator to the JTAG
-port (see Figure \ref{pinout}, port 1).
+port.
\item Connect a USB cable to the XDS100v2 USB emulator and the
development computer.
\item Plug in the power supply.
\section{Bug reporting}
\label{sec-bug-reporting}
-% TODO: implement
+Please report any problems at CTU's bug tracking system at
+\url{https://redmine.felk.cvut.cz/projects/eaton-rm48}. New users have
+to register in the system and notify Michal Sojka about their
+registration via $\langle{}sojkam1@fel.cvut.cz\rangle{}$ email
+address.
\chapter{C Support Library}
\label{chap-c-support-library}
This section describes each one of the Simulink blocks present in the Simulink
RPP block library, shown in Figure \ref{fig-block-library}.
-\begin{figure}
-\includegraphics[width=\textwidth]{images/block_library.png}
+\begin{figure}[h]
+ \begin{center}
+ \includegraphics[width=\textwidth]{images/block_library.png}
+ \end{center}
\caption{Simulink RPP Block Library.}
\label{fig-block-library}
\end{figure}
In the reference below you can find a complete description for each of the demos.
-\subsection{Analog pass-through}
+\subsection{ADC demo}
\begin{figure}[H]\begin{center}
\noindent
-\includegraphics[width=450px]{images/demo_analog_passthrough.png}
-\caption{Analog Passthrough Simulink demo for RPP.}
+\includegraphics[width=450px]{images/demo_adc.png}
+\caption{Example of the usage of the Analog Input blocks for RPP.}
\end{center}\end{figure}
\textbf{Description:}
-This demo will read analog input 1 and write it to analog output 1.
-In laboratory the minimum read value for analog input a 0 volts is 107. The maximum read at 12
-volts is 2478. The map subsystem will map the input domain (ADC)\textsc{[110, 2400]} to the output domain
-(DAC)\textsc{[0, 4095]}.
+Demostrates how to use Analog Input blocks in order to measure voltage. This demo
+measures voltage on every available Analog Input and prints the values on the
+Serial Interface.
-
-\subsection{Analog sinewave}
+\subsection{Simple CAN demo}
\begin{figure}[H]\begin{center}
\noindent
-\includegraphics[width=450px]{images/demo_analog_sinewave.png}
-\caption{Analog Sinewave Simulink demo for RPP.}
+\includegraphics[width=450px]{images/demo_simple_can.png}
+\caption{The simplest CAN demonstration.}
\end{center}\end{figure}
\textbf{Description:}
-This demo will generate a sinewave on analog output 1. The frequency
-of the sine wave is 10Hz and sampling rate is set to
-1000Hz (driven from Simulink step of 1ms, same as operating system). Amplitude is set to use DAC
-full range [0-4095] which means output amplitude will be [0-12] volts.
-
-The Software oscilloscope shown should match an external one connected to DAC 1.
-
-Note that the driver configuration of the MCP4922 is set to unbuffered (which should eventually
-be changed to buffered) and thus the last resolution millivolts are lost.
+The simplest possible usage of the CAN bus. This demo is above all designed for
+testing the CAN configuration and transmission.
\subsection{CAN transmit}
\begin{figure}[H]\begin{center}
\item Use function-call mechanism to process received messages
\end{compactenum}
-\subsection{CAN demo}
-
+\subsection{Simulink Demo model}
\begin{figure}[H]\begin{center}
\noindent
-\includegraphics[width=450px]{images/demo_can_demo.png}
-\caption{CAN bus demo for RPP.}
+\includegraphics[width=450px]{images/demo_board.png}
+\caption{Model of the complex demonstration of the boards peripherals.}
\end{center}\end{figure}
\textbf{Description:}
-This demo demonstrates simple processing of received messages.
+This model demonstrates the usage of RPP Simulink blocks in a complex and interactive
+application. The Ti HDK kit has eight LEDs placed around the MCU. The application
+rotates the light around the MCU in one direction. Every time the user presses the button
+on the HDK, the direction is switched.
-\subsection{Digital pass-through}
-\begin{figure}[H]\begin{center}
-\noindent
-\includegraphics[width=400px]{images/demo_digital_passthrough.png}
-\caption{Digital Pass-through Simulink demo for RPP.}
-\end{center}\end{figure}
-
-\textbf{Description:}
+The state of the LEDs is sent on the CAN bus as a message with ID 0x1. The button can
+be emulated by CAN messages with ID 0x0. The message 0x00000000 simulates button release
+and the message 0xFFFFFFFF simulates the button press.
-This demo will directly pass the digital values read on DIN [1-8] to LOUT [1-8], and thus acting
-as a digital pass-through or gateway.
-
-Also note that all the ErrFlag are aggregated on a global ErrFlag.
+Information about the state of the application are printed on the Serial Interface.
\subsection{Echo char}
\begin{figure}[H]\begin{center}
\textbf{Description:}
-This demo will echo twice (print back) any character received through the Serial Communication
-Interface (9600-8-N-1).
+This demo will echo (print back) any character received through the Serial Communication
+Interface (115200-8-N-1).
Note that the send subsystem is implemented a as \textit{triggered} subsystem and will execute only
if data is received, that is, Serial Receive output is non-negative. Negative values are errors.
-
-\subsection{H-bridge analog control}
+\subsection{GIO demo}
\begin{figure}[H]\begin{center}
\noindent
-\includegraphics[width=450px]{images/demo_hbridge_analog_control.png}
-\caption{H-Bridge Analog Control Simulink demo for RPP.}
+\includegraphics[width=450px]{images/demo_gio.png}
+\caption{Demonstration of DIN and DOUT blocks}
\end{center}\end{figure}
\textbf{Description:}
-This demo will read values from the analog input, map them, and control the H-Bridge. This allows
-a motor connected to the H-Bridge to be controlled with a potentiometer connected to Analog Input 1.
-
-Setting the potentiometer to output around 6 volts will stop the motor. Less (or greater) than 6
-volts will trigger the motor in one sense (or in the other sense) and speed proportional with 1\%
-resolution.
-
-In laboratory the minimum read value for analog input is 107 at 0 volts. The maximum read at 12 volts
-is 2478. The map subsystem will map the input domain (ADC)\textsc{[110, 2400]} to the output domain
-(HBR)\textsc{[-1.0, 1.0]}.
-
-
-\subsection{H-bridge digital control}
-\begin{figure}[H]\begin{center}
-\noindent
-\includegraphics[width=450px]{images/demo_hbridge_digital_control.png}
-\caption{H-Bridge Digital Control Simulink demo for RPP.}
-\end{center}\end{figure}
-
-\textbf{Description:}
-
-This demo toggle the H-Bridge from stop to full speed in one direction using digital input 1.
-So basically is a ON/OFF switch on DIN 1 for a motor connected on the HBR. Note the data type
-conversion because the output of the DIN is a boolean and the input to the HBR is a double.
-
-\subsection{H-bridge sine wave control}
-\begin{figure}[H]\begin{center}
-\noindent
-\includegraphics[width=300px]{images/demo_hbridge_sinewave_control.png}
-\caption{H-Bridge Sinewave Control Simulink demo for RPP.}
-\end{center}\end{figure}
-
-\textbf{Description:}
-
-This demo will generate a sine wave to control the H-Bridge. Sine wave is one period per 20
-seconds or 0.05Hz. Sampling rate is 20Hz or 100 samples per 1/4 of period (for 1\% speed
-resolution change).
-
-Note that the Software oscilloscope should is not the output of the H-Bridge, the H-Bridge will
-change current sense and the duty cycle of the pulse that drive it (PWM), it does not output
-analog values. The Software oscilloscope just shows what the input to the HBR block is.
+The model demonstrates how to use the DIN blocks and DOUT blocks, configured in every mode. The DOUTs
+are pusched high and low with period 1 second. The DINs are reading inputs and printing the values
+on the Serial Interface with the same period.
\subsection{Hello world}
\begin{figure}[H]\begin{center}
\textbf{Description:}
-This demo will print \textsc{"Hello Simulink"} to the Serial Communication Interface (9600-8-N-1) one
+This demo will print \textsc{"Hello Simulink"} to the Serial Communication Interface (115200-8-N-1) one
character per second. The output speed is driven by the Simulink model step which is set to one
second.
-\subsection{IRC input}
-\begin{figure}[H]\begin{center}
-
-\noindent
-\includegraphics[width=450px]{images/demo_irc_input.png}
-\caption{LED Blink Simulink demo for RPP.}
-\end{center}\end{figure}
-
-\textbf{Description:}
-
-This demo is printing IRC sensor (connected to DIN10 and DIN11) value to the Serial Communication
-Interface (115200-8-N-1) with six values to one line.
-
-\subsection{LED blink}
-\begin{figure}[H]\begin{center}
-\noindent
-\includegraphics[width=450px]{images/demo_led_blink.png}
-\caption{LED Blink Simulink demo for RPP.}
-\end{center}\end{figure}
-
-\textbf{Description:}
-
-This the simplest demo of all that shows the basics of using the RPP target and blocks. The
-goal of this demo is to show the configuration of the model (not shown on the picture above),
-that is, how the RPP Simulink Coder Target is setup, general model setup and step setup.
-
-This demo will toggle each second a LED connected on LOUT 1. The timing is set by the Simulink
-model step which is set to 1 second.
-
-\subsection{LED blink all}
-\begin{figure}[H]\begin{center}
-\noindent
-\includegraphics[width=350px]{images/demo_led_blink_all.png}
-\caption{LED Blink All Simulink demo for RPP.}
-\end{center}\end{figure}
-
-\textbf{Description:}
-
-This demo will toggle all LEDs connected to the LOUT port. Even outputs pins will be negated.
-Toggle will happen each second. The timing is driven by Simulink model step configuration that
-is set to 1 second. All blocks ErrFlags are aggregated into one global ErrFlag.
-
-\subsection{Log analog input}
-\begin{figure}[H]\begin{center}
-\noindent
-\includegraphics[width=450px]{images/demo_log_analog_input.png}
-\caption{Log Analog Input Simulink demo for RPP.}
-\end{center}\end{figure}
-
-\textbf{Description:}
-
-This demo will log once per second the value read on the analog input 1. User can read the log
-using the SCI logging integrated command processor (9600-8-N-1). Logging block ID set to 1. The
-timing is driven by Simulink model step configuration that is set to 1 second.
-
-\subsection{Power toggle}
-\begin{figure}[H]\begin{center}
-\noindent
-\includegraphics[width=300px]{images/demo_power_toggle.png}
-\caption{Power Toggle Simulink demo for RPP.}
-\end{center}\end{figure}
-
-\textbf{Description:}
-
-This demo will toggle the power output once per second. If an error is detected on at least one of
-the outputs a generic error message is printed to the serial line. The timing is driven by Simulink
-model step configuration that is set to 1 second. Power outputs can drive a load up to 2A, so please
-take into account required safety considerations.
-
-\subsection{Simulink Demo board}
-Model for demo board has 6 subsystems. Every subsystem will be described separately.
-\begin{figure}[H]\begin{center}
-\noindent
-\includegraphics[width=0.8\textwidth]{images/demo_board-connection_scheme.pdf}
-\caption{Demo board connection and usage scheme.}
-\end{center}\end{figure}
-
-\subsubsection{Potentiometer regulation of motor speed}
-This is example of driving motor with input signal. Motor can be rotated in
-various speed in both directions and stopping motor means setting potentiometer
-to half of its range. Potentiometer value is also transmitted through CAN.
-
-\subsubsection{Color music}
-This is showing abilities of RPP board to generate analog signals. Bargraphs on
-demo board are showing value of analog outputs. Speed of change can be changed
-with potentiometer and in one case is used motor 2 IRC. There are five different
-modes. Three of them are derived from sinus and rest of them are counter value
-and direct control. Modes can be changed with black button. First mod selected
-after board start is fifth.
-\begin{enumerate}
-\item Sinus signal is sequential delayed by 10 steps for second and third bargraph.
-\item Sinus signal on second bargraph is shifted by 120° and on third one is shifted by 240°.
-\item Sinus signal for second and third bargraphs are shifted same as in
-previous mode, but as counter value is used IRC value with appropriate divider
-no potentiometer value.
-\item Visualizing counter value which speed is changed
-with potentiometer.
-\item Potentiometer value is passed to all bargraphs with appropriate multiplier.
-\end{enumerate}
-
-\subsubsection{Buttons and LEDs}
-This is example of digital input/output. LEDs on demo board can be driven with
-four different subprograms. These subprograms can be changed with red button and
-are influenced with green and blue buttons.
-\begin{enumerate}
-\item One LED is always ON and others are OFF. Every 0.1 sec is neighborhood LED
-switched on and previous one is switched off. With buttons you can change
-direction.
-\item Same as previous mode, but change is not done after 0.1 sec
-but only when button is pressed.
-\item In this mode you can record message in Morse code (max 64 chars including
-spaces) and after delay it is repetitively replayed. To record message use green
-button as dash and blue button as dot.
-\item Simple game in which you must determine if light is moving left or right
-and press green or blue button according to it. Speed of movement is increasing
-and in case of wrong answer or long delay is game ends with lights flashing.
-\end{enumerate}
-
-\subsubsection{IRC to CAN}
-IRC value from Motor 2 is sent every tenth step via CAN2 with message ID 0x4.
-
-\subsubsection{CAN receive -- Button press emulation}
-You can simulate press of all four buttons by sending message through CAN2 to
-board with message ID 0x0 and value according to button number.
-
-\subsubsection{Configuration and error handling}
-RPP supports some basic runtime error handling. Every block can set its error
-flag, all these error flags are joined in this demo together and when some
-problem is detected CAN2 message of ID 0x10 is transmitted. Also in case of
-board overrun (exhaustion of time quanta) is transmitted message through CAN2
-with ID 0x11.\\ When model is build without external mode, errors are also
-printed to SCI.
-
-\subsubsection{Full list of CAN communication}
-The board produces CAN frames with the following IDs:
-\begin{itemize}
-\item 0x05: Potentiometer 1 value.
-\item 0x06: Potentiometer 2 value.
-\item 0x08: Selected mod of color music.
-\item 0x09: Active subprogram of buttons and LEDs.
-\item 0x10: Transmitted only in case of error flag of some block, error code.
-\item 0x11: Transmitted only in case of board overrun, no data.
-\end{itemize}
-The board reacts to CAN frames with following IDs:
-\begin{itemize}
-\item 0x00: Simulate button press, accepts value 1--4.
-\end{itemize}
-
\chapter{Command line testing tool}
\label{chap-rpp-test-software}
The \textsc{rpp-test-suite} is a RPP application developed testing and direct
-Subproject commit 380e2cc5b23006b993d3d4a35561f1dd8a06e0e8
+Subproject commit bc441c9ebe319c98fba3d75c8b0b47b3f6d1670c
+# Copyright (C) 2013 Czech Technical University in Prague
+#
+# Authors:
+# - Michal Sojka <sojkam1@fel.cvut.cz>
+#
+# This document contains proprietary information belonging to Czech
+# Technical University in Prague. Passing on and copying of this
+# document, and communication of its contents is not permitted
+# without prior written authorization.
+#
+# File : Makefile
+# Abstract:
+# Build documentation
+
SF=$(wildcard sfunction_*.c)
HTML = $(SF:%.c=%.html)
- { name: "ErrFlag", type: "bool" }
Parameters:
- - { name: "Pin number", type: "uint8", range: "[1–12]" }
+ - { name: "Pin number", type: "uint8", range: "[1–16]" }
# Description and Help is in Markdown mark-up
Description: |
{
/*
* Configure parameters: 1
- * - Pin number: [1-12]
+ * - Pin number: [1-16]
*/
if (!rppSetNumParams(S, 1)) {
return;
static void mdlCheckParameters(SimStruct *S)
{
/* Check the parameter 1 */
- if (!rppValidParamRange(S, 0, 1, 12)) {
+ if (!rppValidParamRange(S, 0, 1, 16)) {
return;
}
}
+++ /dev/null
-/* Copyright (C) 2013, 2014 Czech Technical University in Prague
- *
- * Authors:
- * - Carlos Jenkins <carlos@jenkins.co.cr>
- *
- * This document contains proprietary information belonging to Czech
- * Technical University in Prague. Passing on and copying of this
- * document, and communication of its contents is not permitted
- * without prior written authorization.
- *
- * File : sfunction_aout.c
- * Abstract:
- * C-MEX S-function block for RPP analog output.
- *
- * References:
- * header.c
- * trailer.c
- *
- * Compile with:
- * <matlabroot>/bin/mex sfunction_aout.c
- */
-
-/*
-%YAML 1.2
----
-Name: Analog Output
-Category: IO blocks
-Header: rpp/adc.h
-Mnemonic: DAC
-
-Inputs:
- - { name: "Analog Output", type: "uint16" }
-
-Outputs:
- - { name: "ErrFlag", type: "bool" }
-
-Parameters:
- - { name: "Pin number [1-4]", type: "uint8" }
- - { name: "Input in millivolts", type: "bool" }
-
-# Description and Help is in Markdown mark-up
-Description: |
-
- Sets the analog value of the specified analog output pin on the RPP
- board.
-
- If 'input is voltage' is set the value must be an unsigned 16 bit
- integer between 0-12000 (millivolts to set the analog output). If
- 'input is voltage' is NOT set the value must be and unsigned 16 bit
- integer between 0-4095 (DAC is 12 bit).
-
- If an error is detected while setting the value, the ErrFlag is set
- high.
-
-Help: |
-
- Sets the analog value of the specified analog output pin on the RPP board. If an error is detected
- while setting the value, the ErrFlag is set high.
-
- This block allows to write to the analog outputs on the RPP board. The UseVoltage flag allows the
- user to configure if block inputs should be interpreted as raw DAC value or millivolts. The ErrFlag
- should raise it `rpp_dac_update()` or `rpp_dac_set()` (or `rpp_dac_set_voltage()`
- depending on block configuration) returns error. Because the ErrFlag should never set, once set the
- following steps will never clear it back.
-
- `rpp_dac_update()` is called on each block but the implementation provides this to be efficient.
-
- There is a know bug on the RPP Library, check `rpp_dac_update()` on the RPP API for details.
- Because of this, the outputs of the DACs are initialized on the first step of the model and not on
- the model initialization.
-
-Status: Stable
-
-RPP API functions used:
- - rpp_dac_setup()
- - rpp_dac_set()
- - rpp_dac_set_voltage()
- - rpp_dac_update()
-
-Relevant demos:
- - analog_passthrough
- - analog_sinewave
-...
-*/
-
-
-#define S_FUNCTION_NAME sfunction_aout
-#include "header.c"
-
-
-static void mdlInitializeSizes(SimStruct *S)
-{
- /*
- * Configure parameters: 1
- * - Pin number: [1-4]
- * - Use voltage.
- */
- if (!rppSetNumParams(S, 2)) {
- return;
- }
-
- /*
- * Configure input ports: 1
- * - Analog output.
- */
- if (!ssSetNumInputPorts(S, 1)) {
- return;
- }
- rppAddInputPort(S, 0, SS_UINT16);
-
- /*
- * Configure output ports: 1
- * - Error flag.
- */
- if (!ssSetNumOutputPorts(S, 1)) {
- return;
- }
- rppAddOutputPort(S, 0, SS_BOOLEAN);
-
- /* Set standard options for this block */
- rppSetStandardOptions(S);
-}
-
-
-#ifdef MATLAB_MEX_FILE
-#define MDL_CHECK_PARAMETERS
-static void mdlCheckParameters(SimStruct *S)
-{
- /* Check the parameter 1 */
- if (!rppValidParamRange(S, 0, 1, 4)) {
- return;
- }
-
- /* Check the parameter 2 */
- if (!rppValidParamBoolean(S, 1)) {
- return;
- }
-}
-#endif
-
-
-#ifdef MATLAB_MEX_FILE
-#define MDL_SET_WORK_WIDTHS
-static void mdlSetWorkWidths(SimStruct *S)
-{
- /* Set number of run-time parameters */
- if (!ssSetNumRunTimeParams(S, 2)) {
- return;
- }
-
- /* Register the run-time parameter 1 */
- ssRegDlgParamAsRunTimeParam(S, 0, 0, "p1", SS_UINT8);
-
- /* Register the run-time parameter 2 */
- ssRegDlgParamAsRunTimeParam(S, 1, 1, "p2", SS_BOOLEAN);
-}
-#endif
-
-
-#define COMMON_MDLINITIALIZESAMPLETIMES_INHERIT
-#define UNUSED_MDLOUTPUTS
-#define UNUSED_MDLTERMINATE
-#include "trailer.c"
* document, and communication of its contents is not permitted
* without prior written authorization.
*
- * File : sfunction_din.c
+ * File : sfunction_ain.c
* Abstract:
- * C-MEX S-function block for RPP digital input.
+ * C-MEX S-function block for reading from RPP GPIO ports.
*
* References:
* header.c
---
Name: Digital Input
Category: IO blocks
-Header: rpp/din.h
+Header: rpp/gio.h
Mnemonic: DIN
Inputs:
Outputs:
- - { name: "Digital Input", type: "bool" }
- - { name: "ErrFlag", type: "bool" }
-
+ - { name: "Digital Input value", type: "bool" }
Parameters:
- - { name: "Pin number", type: "uint8", range: "[0-15]" }
- - { name: "Use variable threshold", type: "bool" }
- - { name: "Pull", type: "Choice from Pull-down or Pull-up" }
- - { name: "Active", type: "Choice from Active or Tri-stated" }
-
-# Description and Help is in Markdown mark-up
-Description: |
-
- Gets the digital value of the specified digital input pin on the RPP board.
-
- If pin is high the output is 1, 0 if the pin is low.
-
- If an error is detected while getting the pin, the ErrFlag is set high.
+ - { name: "Port type", type: "Choice", range: "GIOA, GIOB, NHET1" }
+ - { name: "Pin number", type: "int8", range: "[0–7]", note: "(depends on selected port)" }
+ - { name: "Input Type", type: "Choice", range: "Tri-state, Pull Up, Pull Down" }
-Help: |
+# Description is in Markdown mark-up
+Description: &desc |
+ Reads a value from a GPIO pin. The block supports GIOA, GIOB and NHET1 ports.
+ Any pin can be configured as tri-state, pull up or pull down.
- This block allows to read the digital inputs on the RPP board. For pins number 0-7 is not
- relevant and not visible parameter 'Use variable threshold' and only one block for each pin
- can be in model. And oppositely for other pins (8-15) are not relevant and visible parameters
- of names 'Pull' and 'Active'. The variable threshold check change the read mode of the pin. For
- setting it see Digital Input Configure block.
+ It is not allowed to read from one pin by using more then one DIN blocks.
+ It is not allowed to use DIN and DOUT blocks together configured for one GPIO pin.
- The ErrFlag should raise if `rpp_din_update()` or `rpp_din_get()` returns error. `rpp_din_update()`
- is called just by the first DIN block in the model and thus only the first block could raise the
- flag because of this. In case an errors occurs the return value will always be LOW (0). Because the
- ErrFlag should never set, once set the following steps will never clear it back.
+Help: *desc
Status: Stable
RPP API functions used:
- - rpp_din_setup()
- - rpp_din_update()
- - rpp_din_get()
+ - hal_gpio_pin_get_dsc
+ - hal_gpio_pin_get_value
+ - hal_gpio_pin_conf_set
Relevant demos:
- - digital_passthrough
- - hbridge_digital_control
+ - gio_demo
...
*/
+
#define S_FUNCTION_NAME sfunction_din
#include "header.c"
+#define PARAM_NAME_PORT_TYPE "port_type"
+#define PARAM_NAME_PIN_NUMBER "pin_number"
+#define PARAM_NAME_INPUT_TYPE "input_type"
+
+/** Identifiers of the block parameters */
+enum params{
+ PARAM_PORT_TYPE,
+ PARAM_PIN_NUMBER,
+ PARAM_INPUT_TYPE,
+ PARAMS_COUNT
+};
+
+enum port_types{
+ PORT_UNKNOWN,
+ PORT_GIOA,
+ PORT_GIOB,
+ PORT_NHET1
+};
+
+enum outputs{
+ OUT_PIN_VALUE,
+ OUTPUTS_COUNT
+};
static void mdlInitializeSizes(SimStruct *S)
{
- /*
- * Configure parameters: 1
- * - Pin number: [1-16]
- * - Use variable threshold: [true|false]
- * - Pull: [Pull-up|Pull-down]
- * - Active: [Active|Tristate]
- */
- if (!rppSetNumParams(S, 4)) {
- return;
- }
-
- /*
- * Configure input ports: 0
- */
- if (!ssSetNumInputPorts(S, 0)) {
- return;
- }
-
- /*
- * Configure output ports: 2
- * - Digital input.
- * - Error flag.
- */
- if (!ssSetNumOutputPorts(S, 2)) {
- return;
- }
- rppAddOutputPort(S, 0, SS_BOOLEAN);
- rppAddOutputPort(S, 1, SS_BOOLEAN);
-
- /* Set standard options for this block */
- rppSetStandardOptions(S);
+ /*
+ * Configure parameters: 3
+ * - Port type
+ * - Pin number
+ * - Input type
+ */
+ if (!rppSetNumParams(S, PARAMS_COUNT)) {
+ return;
+ }
+
+ /*
+ * Configure input ports: 0
+ */
+ if (!ssSetNumInputPorts(S, 0)) {
+ return;
+ }
+
+ /*
+ * Configure output ports: 1
+ */
+ if (!ssSetNumOutputPorts(S, OUTPUTS_COUNT)) {
+ return;
+ }
+ rppAddOutputPort(S, OUT_PIN_VALUE, SS_BOOLEAN);
+
+ /* Set standard options for this block */
+ rppSetStandardOptions(S);
}
#define MDL_CHECK_PARAMETERS
static void mdlCheckParameters(SimStruct *S)
{
- /* Check the parameter 1 */
- if (!rppValidParamRange(S, 0, 0, 15)) {
- return;
- }
-
- /* Check the parameter 2 */
- if (!rppValidParamBoolean(S, 1)) {
- return;
- }
-
- /* Check the parameter 3 */
- if (!rppValidParamRange(S, 2, 0, 2)) {
- return;
- }
-
- /* Check the parameter 4 */
- if (!rppValidParamRange(S, 3, 0, 2)) {
- return;
- }
+ if ((int_T)mxGetPr(ssGetSFcnParam(S, PARAM_PORT_TYPE))[0] == PORT_GIOA) {
+ if (!rppValidParamRange(S, PARAM_PIN_NUMBER, 0, 7)) {
+ return;
+ }
+ }
+ else if ((int_T)mxGetPr(ssGetSFcnParam(S, PARAM_PORT_TYPE))[0] == PORT_GIOB) {
+ if (!rppValidParamRange(S, PARAM_PIN_NUMBER, 0, 7)) {
+ return;
+ }
+ }
+ else if ((int_T)mxGetPr(ssGetSFcnParam(S, PARAM_PORT_TYPE))[0] == PORT_NHET1) {
+ if (!rppValidParamRange(S, PARAM_PIN_NUMBER, 0, 31)) {
+ return;
+ }
+ }
+ else {
+ return;
+ }
}
#endif
#define MDL_SET_WORK_WIDTHS
static void mdlSetWorkWidths(SimStruct *S)
{
- /* Set number of run-time parameters */
- if (!ssSetNumRunTimeParams(S, 4)) {
- return;
- }
-
- /* Register the run-time parameter 1 */
- ssRegDlgParamAsRunTimeParam(S, 0, 0, "p1", SS_INT8);
-
- /* Register the run-time parameter 2 */
- ssRegDlgParamAsRunTimeParam(S, 1, 1, "p2", SS_BOOLEAN);
-
- /* Register the run-time parameter 3 */
- ssRegDlgParamAsRunTimeParam(S, 2, 2, "p3", SS_UINT8);
-
- /* Register the run-time parameter 4 */
- ssRegDlgParamAsRunTimeParam(S, 3, 3, "p4", SS_UINT8);
+ /* Set number of run-time parameters */
+ if (!ssSetNumRunTimeParams(S, PARAMS_COUNT)) {
+ return;
+ }
+ /* Register the run-time parameter 1 */
+ ssRegDlgParamAsRunTimeParam(S, PARAM_PORT_TYPE, PARAM_PORT_TYPE, PARAM_NAME_PORT_TYPE, SS_INT8);
+ ssRegDlgParamAsRunTimeParam(S, PARAM_PIN_NUMBER, PARAM_PIN_NUMBER, PARAM_NAME_PIN_NUMBER, SS_INT8);
+ ssRegDlgParamAsRunTimeParam(S, PARAM_INPUT_TYPE, PARAM_INPUT_TYPE, PARAM_NAME_INPUT_TYPE, SS_INT8);
}
#endif
+++ /dev/null
-/* Copyright (C) 2013-2014 Czech Technical University in Prague
- *
- * Authors:
- * - Karel Kočí
- *
- * This document contains proprietary information belonging to Czech
- * Technical University in Prague. Passing on and copying of this
- * document, and communication of its contents is not permitted
- * without prior written authorization.
- *
- * File : sfunction_dinc.c
- * Abstract:
- * C-MEX S-function block for RPP digital input configuration.
- *
- * References:
- * header.c
- * trailer.c
- *
- * Compile with:
- * <matlabroot>/bin/mex sfunction_dinc.c
- */
-
-/*
-%YAML 1.2
----
-Name: Digital Input Configure
-Category: IO blocks
-Header: rpp/din.h
-Mnemonic: DINC
-
-Inputs:
-
-Outputs:
-
-Parameters:
- - { name: "Reference voltage for pins 8-11", type: "uint16", range: "[0-4095]" }
- - { name: "Reference voltage for pins 12-15", type: "uint16", range: "[0-4095]" }
-
-# Description and Help is in Markdown mark-up
-Description: &desc |
-
- This block allows one to set reference voltage (threshold) for DIN pins. The block have two parameters,
- one for pins 8 - 11 and the other for pins 12 - 15.
-
-Help: *desc
-
-Status: Stable
-
-RPP API functions used:
- - rpp_din_ref()
-
-Relevant demos:
-...
-*/
-
-#define S_FUNCTION_NAME sfunction_dinc
-#include "header.c"
-
-
-static void mdlInitializeSizes(SimStruct *S)
-{
- /*
- * Configure parameters: 2
- * - Reference voltage for pins 8-11: [0-4095]
- * - Reference voltage for pins 12-15: [0-4095]
- */
- if (!rppSetNumParams(S, 2)) {
- return;
- }
-
- /*
- * Configure input ports: 0
- */
- if (!ssSetNumInputPorts(S, 0)) {
- return;
- }
-
- /*
- * Configure output ports: 0
- */
- if (!ssSetNumOutputPorts(S, 0)) {
- return;
- }
-
- /* Set standard options for this block */
- rppSetStandardOptions(S);
-}
-
-
-#ifdef MATLAB_MEX_FILE
-#define MDL_CHECK_PARAMETERS
-static void mdlCheckParameters(SimStruct *S)
-{
- /* Check the parameter 1 */
- if (!rppValidParamRange(S, 0, 0, 4095)) {
- return;
- }
-
- /* Check the parameter 2 */
- if (!rppValidParamRange(S, 1, 0, 4095)) {
- return;
- }
-}
-#endif
-
-
-#ifdef MATLAB_MEX_FILE
-#define MDL_SET_WORK_WIDTHS
-static void mdlSetWorkWidths(SimStruct *S)
-{
- /* Set number of run-time parameters */
- if (!ssSetNumRunTimeParams(S, 2)) {
- return;
- }
-
- /* Register the run-time parameter 1 */
- ssRegDlgParamAsRunTimeParam(S, 0, 0, "p1", SS_UINT16);
- ssRegDlgParamAsRunTimeParam(S, 1, 1, "p2", SS_UINT16);
-}
-#endif
-
-
-#define COMMON_MDLINITIALIZESAMPLETIMES_INHERIT
-#define UNUSED_MDLOUTPUTS
-#define UNUSED_MDLTERMINATE
-#include "trailer.c"
--- /dev/null
+/* Copyright (C) 2013, 2014 Czech Technical University in Prague
+ *
+ * Authors:
+ * - Carlos Jenkins <carlos@jenkins.co.cr>
+ *
+ * This document contains proprietary information belonging to Czech
+ * Technical University in Prague. Passing on and copying of this
+ * document, and communication of its contents is not permitted
+ * without prior written authorization.
+ *
+ * File : sfunction_ain.c
+ * Abstract:
+ * C-MEX S-function block for writting to RPP GPIO ports.
+ *
+ * References:
+ * header.c
+ * trailer.c
+ *
+ * Compile with:
+ * <matlabroot>/bin/mex sfunction_dout.c
+ */
+
+/*
+%YAML 1.2
+---
+Name: Digital Output
+Category: IO blocks
+Header: rpp/gio.h
+Mnemonic: DOUT
+
+Inputs:
+ - { name: "Digital Output value", type: "bool" }
+Outputs:
+
+Parameters:
+ - { name: "Port type", type: "Choice", range: "GIOA, GIOB, NHET1" }
+ - { name: "Pin number", type: "int8", range: "[0–7]", note: "(depends on selected port)" }
+ - { name: "Initial output value", type: "uint8", range: "[0,1]" }
+ - { name: "Output Type", type: "Choice", range: "Open Drain, Push/Pull" }
+
+# Description is in Markdown mark-up
+Description: &desc |
+
+ Writes a value to a GPIO pin. The block supports GIOA, GIOB and NHET1 ports.
+ Any pin can be configured as open drain or push/pull and initial output value
+ can be specified. The initial value is a value, which will appear on the pin
+ when the GPIO module is initialized and stays there until the first
+ block execution.
+
+ It is not allowed to write to one pin by using more then one DOUT blocks.
+ It is not allowed to use DOUT and DIN blocks on one GPIO pin.
+
+Help: *desc
+
+Status: Stable
+
+RPP API functions used:
+ - hal_gpio_pin_get_dsc
+ - hal_gpio_pin_set_value
+ - hal_gpio_pin_conf_set
+
+Relevant demos:
+ - gio_demo
+...
+*/
+
+
+#define S_FUNCTION_NAME sfunction_dout
+#include "header.c"
+
+#define PARAM_NAME_PORT_TYPE "port_type"
+#define PARAM_NAME_PIN_NUMBER "pin_number"
+#define PARAM_NAME_DEFAULT_OUTPUT "default_output"
+#define PARAM_NAME_OUTPUT_TYPE "output_type"
+
+/** Identifiers of the block parameters */
+enum params{
+ PARAM_PORT_TYPE,
+ PARAM_PIN_NUMBER,
+ PARAM_DEFAULT_OUTPUT,
+ PARAM_OUTPUT_TYPE,
+ PARAMS_COUNT
+};
+
+enum port_types{
+ PORT_UNKNOWN,
+ PORT_GIOA,
+ PORT_GIOB,
+ PORT_NHET1
+};
+
+enum inputs{
+ IN_PIN_VALUE,
+ INPUTS_COUNT
+};
+
+static void mdlInitializeSizes(SimStruct *S)
+{
+ /*
+ * Configure parameters: 4
+ * - Port type
+ * - Pin number
+ * - Default output value
+ * - Output type
+ */
+ if (!rppSetNumParams(S, PARAMS_COUNT)) {
+ return;
+ }
+
+ /*
+ * Configure output ports: 0
+ */
+ if (!ssSetNumOutputPorts(S, 0)) {
+ return;
+ }
+
+ /*
+ * Configure input ports: 1
+ */
+ if (!ssSetNumInputPorts(S, INPUTS_COUNT)) {
+ return;
+ }
+
+ rppAddInputPort(S, IN_PIN_VALUE, SS_BOOLEAN);
+
+ /* Set standard options for this block */
+ rppSetStandardOptions(S);
+}
+
+
+#ifdef MATLAB_MEX_FILE
+#define MDL_CHECK_PARAMETERS
+static void mdlCheckParameters(SimStruct *S)
+{
+ if ((int_T)mxGetPr(ssGetSFcnParam(S, PARAM_PORT_TYPE))[0] == PORT_GIOA) {
+ if (!rppValidParamRange(S, PARAM_PIN_NUMBER, 0, 7)) {
+ return;
+ }
+ }
+ else if ((int_T)mxGetPr(ssGetSFcnParam(S, PARAM_PORT_TYPE))[0] == PORT_GIOB) {
+ if (!rppValidParamRange(S, PARAM_PIN_NUMBER, 0, 7)) {
+ return;
+ }
+ }
+ else if ((int_T)mxGetPr(ssGetSFcnParam(S, PARAM_PORT_TYPE))[0] == PORT_NHET1) {
+ if (!rppValidParamRange(S, PARAM_PIN_NUMBER, 0, 31)) {
+ return;
+ }
+ }
+ else {
+ return;
+ }
+
+ if (!rppValidParamRange(S, PARAM_DEFAULT_OUTPUT, 0, 1)) {
+ return;
+ }
+}
+#endif
+
+
+#ifdef MATLAB_MEX_FILE
+#define MDL_SET_WORK_WIDTHS
+static void mdlSetWorkWidths(SimStruct *S)
+{
+ /* Set number of run-time parameters */
+ if (!ssSetNumRunTimeParams(S, PARAMS_COUNT)) {
+ return;
+ }
+ /* Register the run-time parameter 1 */
+ ssRegDlgParamAsRunTimeParam(S, PARAM_PORT_TYPE, PARAM_PORT_TYPE, PARAM_NAME_PORT_TYPE, SS_INT8);
+ ssRegDlgParamAsRunTimeParam(S, PARAM_PIN_NUMBER, PARAM_PIN_NUMBER, PARAM_NAME_PIN_NUMBER, SS_INT8);
+ ssRegDlgParamAsRunTimeParam(S, PARAM_DEFAULT_OUTPUT, PARAM_DEFAULT_OUTPUT, PARAM_NAME_DEFAULT_OUTPUT, SS_BOOLEAN);
+ ssRegDlgParamAsRunTimeParam(S, PARAM_OUTPUT_TYPE, PARAM_OUTPUT_TYPE, PARAM_NAME_OUTPUT_TYPE, SS_INT8);
+}
+#endif
+
+
+#define COMMON_MDLINITIALIZESAMPLETIMES_INHERIT
+#define UNUSED_MDLOUTPUTS
+#define UNUSED_MDLTERMINATE
+#include "trailer.c"
+++ /dev/null
-/* Copyright (C) 2013, 2014 Czech Technical University in Prague
- *
- * Authors:
- * - Michal Horn <hornimch@fel.cvut.cz>
- *
- * This document contains proprietary information belonging to Czech
- * Technical University in Prague. Passing on and copying of this
- * document, and communication of its contents is not permitted
- * without prior written authorization.
- *
- * File : sfunction_frayc.c
- * Abstract:
- * C-MEX S-function block for RPP FlexRay cluster configuration.
- *
- * References:
- * header.c
- * trailer.c
- *
- * Compile with:
- * <matlabroot>/bin/mex sfunction_frayconfig.c
- */
-
-/*
-%YAML 1.2
----
-Name: Configure FlexRay node
-Category: FlexRay
-Header: rpp/fr.h
-Mnemonic: FRC
-
-Inputs:
-
-Outputs:
- - { name: "ErrFlag", type: "bool" }
-
-Parameters:
- - { name: "gColdStartAttempts", type: "uint8" }
- - { name: "gListenNoise", type: "uint8" }
- - { name: "gMacroPerCycle", type: "uint16" }
- - { name: "gMaxWithoutClockCorrectionFatal", type: "uint8" }
- - { name: "gMaxWithoutClockCorrectionPassive", type: "uint8" }
- - { name: "gNetworkManagementVectorLength", type: "uint8" }
- - { name: "gNumberOfMinislots", type: "uint16" }
- - { name: "gNumberOfStaticSlots", type: "uint16" }
- - { name: "gOffsetCorrectionStart", type: "uint16" }
- - { name: "gPayloadLengthStatic", type: "uint8" }
- - { name: "gSyncNodeMax", type: "uint8" }
- - { name: "gdActionPointOffset", type: "uint8" }
- - { name: "gdCASRxLowMax", type: "uint8" }
- - { name: "gdDynamicSlotIdlePhase", type: "uint8" }
- - { name: "gdMinislot", type: "uint8" }
- - { name: "gdMinislotActionPointOffset", type: "uint8" }
- - { name: "gdNIT", type: "uint16" }
- - { name: "gdSampleClockPeriod", type: "uint8" }
- - { name: "gdStaticSlot", type: "uint16" }
- - { name: "gdTSSTransmitter", type: "uint8" }
- - { name: "gdWakeupSymbolRxIdle", type: "uint8" }
- - { name: "gdWakeupSymbolRxLow", type: "uint8" }
- - { name: "gdWakeupSymbolRxWindow", type: "uint16" }
- - { name: "gdWakeupSymbolTxIdle", type: "uint8" }
- - { name: "gdWakeupSymbolTxLow", type: "uint8" }
- - { name: "pAllowHaltDueToClock", type: "bool" }
- - { name: "pAllowPassiveToActive", type: "uint8" }
- - { name: "pChannels", type: "uint8" }
- - { name: "pClusterDriftDamping", type: "uint8" }
- - { name: "pDelayCompensationA", type: "uint16" }
- - { name: "pDelayCompensationB", type: "uint16" }
- - { name: "pExternOffsetCorrection", type: "uint8" }
- - { name: "pExternRateCorrection", type: "uint8" }
- - { name: "pKeySlotUsedForStartup", type: "bool" }
- - { name: "pKeySlotUsedForSync", type: "bool" }
- - { name: "pLatestTx", type: "uint16" }
- - { name: "pMacroInitialOffsetA", type: "uint8" }
- - { name: "pMacroInitialOffsetB", type: "uint8" }
- - { name: "pMicroInitialOffsetA", type: "uint8" }
- - { name: "pMicroInitialOffsetB", type: "uint8" }
- - { name: "pMicroPerCycle", type: "uint32" }
- - { name: "pRateCorrectionOut", type: "uint16" }
- - { name: "pOffsetCorrectionOut", type: "uint16" }
- - { name: "pSamplesPerMicrotick", type: "uint8" }
- - { name: "pSingleSlotEnabled", type: "uint8" }
- - { name: "pWakeupChannel", type: "uint8" }
- - { name: "pWakeupPattern", type: "uint8" }
- - { name: "pdAcceptedStartupRange", type: "uint16" }
- - { name: "pdListenTimeout", type: "uint32" }
- - { name: "pdMaxDrift", type: "uint16" }
- - { name: "pDecodingCorrection", type: "uint8" }
- - { name: "syncFramePayloadMultiplexEnabled", type: "bool" }
- - { name: "secureBuffers", type: "uint8" }
-
-# Description and Help is in Markdown mark-up
-Description: &desc |
-
- This block ...
-
-Help: *desc
-
-Status: Beta
-
-RPP API functions used:
-
-Relevant demos:
-...
-*/
-
-#define S_FUNCTION_NAME sfunction_frayconfig
-#include "header.c"
-#include <stdio.h>
-
-enum params {
- gColdStartAttempts_IDX = 0,
- gListenNoise_IDX = 1,
- gMacroPerCycle_IDX = 2,
- gMaxWithoutClockCorrectionFatal_IDX = 3,
- gMaxWithoutClockCorrectionPassive_IDX = 4,
- gNetworkManagementVectorLength_IDX = 5,
- gNumberOfMinislots_IDX = 6,
- gNumberOfStaticSlots_IDX = 7,
- gOffsetCorrectionStart_IDX = 8,
- gPayloadLengthStatic_IDX = 9,
- gSyncNodeMax_IDX = 10,
- gdActionPointOffset_IDX = 11,
- gdCASRxLowMax_IDX = 12,
- gdDynamicSlotIdlePhase_IDX = 13,
- gdMinislot_IDX = 14,
- gdMinislotActionPointOffset_IDX = 15,
- gdNIT_IDX = 16,
- gdSampleClockPeriod_IDX = 17,
- gdStaticSlot_IDX = 18,
- gdTSSTransmitter_IDX = 19,
- gdWakeupSymbolRxIdle_IDX = 20,
- gdWakeupSymbolRxLow_IDX = 21,
- gdWakeupSymbolRxWindow_IDX = 22,
- gdWakeupSymbolTxIdle_IDX = 23,
- gdWakeupSymbolTxLow_IDX = 24,
-
- pAllowHaltDueToClock_IDX = 25,
- pAllowPassiveToActive_IDX = 26,
- pChannels_IDX = 27,
- pClusterDriftDamping_IDX = 28,
- pDelayCompensationA_IDX = 29,
- pDelayCompensationB_IDX = 30,
- pExternOffsetCorrection_IDX = 31,
- pExternRateCorrection_IDX = 32,
- pKeySlotUsedForStartup_IDX = 33,
- pKeySlotUsedForSync_IDX = 34,
- pLatestTx_IDX = 35,
- pMacroInitialOffsetA_IDX = 36,
- pMacroInitialOffsetB_IDX = 37,
- pMicroInitialOffsetA_IDX = 38,
- pMicroInitialOffsetB_IDX = 39,
- pMicroPerCycle_IDX = 40,
- pRateCorrectionOut_IDX = 41,
- pOffsetCorrectionOut_IDX = 42,
- pSamplesPerMicrotick_IDX = 43,
- pSingleSlotEnabled_IDX = 44,
- pWakeupChannel_IDX = 45,
- pWakeupPattern_IDX = 46,
- pdAcceptedStartupRange_IDX = 47,
- pdListenTimeout_IDX = 48,
- pdMaxDrift_IDX = 49,
- pDecodingCorrection_IDX = 50,
- syncFramePayloadMultiplexEnabled_IDX = 51,
- secureBuffers_IDX = 52,
- PARAM_COUNT
-};
-
-
-static void mdlInitializeSizes(SimStruct *S)
-{
-
- if (!rppSetNumParams(S, PARAM_COUNT)) {
- return;
- }
-
- /*
- * Configure input ports: 0
- */
- if (!ssSetNumInputPorts(S, 0)) {
- return;
- }
-
- /*
- * Configure output ports: 1
- * - Error flag.
- */
- if (!ssSetNumOutputPorts(S, 1)) {
- return;
- }
- rppAddOutputPort(S, 0, SS_BOOLEAN);
-
- /* Set standard options for this block */
- rppSetStandardOptions(S);
-}
-
-
-#ifdef MATLAB_MEX_FILE
-#define MDL_CHECK_PARAMETERS
-static void mdlCheckParameters(SimStruct *S)
-{
-
-}
-#endif
-
-
-#ifdef MATLAB_MEX_FILE
-#define MDL_SET_WORK_WIDTHS
-static void mdlSetWorkWidths(SimStruct *S)
-{
- /* Set number of run-time parameters */
- if (!ssSetNumRunTimeParams(S, PARAM_COUNT)) {
- return;
- }
-
- /* Register the run-time parameter 1 */
- ssRegDlgParamAsRunTimeParam(S, gColdStartAttempts_IDX, gColdStartAttempts_IDX, "gColdStartAttempts", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, gListenNoise_IDX, gListenNoise_IDX, "gListenNoise", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, gMacroPerCycle_IDX, gMacroPerCycle_IDX, "gMacroPerCycle", SS_UINT16);
- ssRegDlgParamAsRunTimeParam(S, gMaxWithoutClockCorrectionFatal_IDX, gMaxWithoutClockCorrectionFatal_IDX, "gMaxWithoutClockCorrectionFatal", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, gMaxWithoutClockCorrectionPassive_IDX, gMaxWithoutClockCorrectionPassive_IDX, "gMaxWithoutClockCorrectionPassive", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, gNetworkManagementVectorLength_IDX, gNetworkManagementVectorLength_IDX, "gNetworkManagementVectorLength", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, gNumberOfMinislots_IDX, gNumberOfMinislots_IDX, "gNumberOfMinislots", SS_UINT16);
- ssRegDlgParamAsRunTimeParam(S, gNumberOfStaticSlots_IDX, gNumberOfStaticSlots_IDX, "gNumberOfStaticSlots", SS_UINT16);
- ssRegDlgParamAsRunTimeParam(S, gOffsetCorrectionStart_IDX, gOffsetCorrectionStart_IDX, "gOffsetCorrectionStart", SS_UINT16);
- ssRegDlgParamAsRunTimeParam(S, gPayloadLengthStatic_IDX, gPayloadLengthStatic_IDX, "gPayloadLengthStatic", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, gSyncNodeMax_IDX, gSyncNodeMax_IDX, "gSyncNodeMax", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, gdActionPointOffset_IDX, gdActionPointOffset_IDX, "gdActionPointOffset", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, gdCASRxLowMax_IDX, gdCASRxLowMax_IDX, "gdCASRxLowMax", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, gdDynamicSlotIdlePhase_IDX, gdDynamicSlotIdlePhase_IDX, "gdDynamicSlotIdlePhase", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, gdMinislot_IDX, gdMinislot_IDX, "gdMinislot", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, gdMinislotActionPointOffset_IDX, gdMinislotActionPointOffset_IDX, "gdMinislotActionPointOffset", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, gdNIT_IDX, gdNIT_IDX, "gdNIT", SS_UINT16);
- ssRegDlgParamAsRunTimeParam(S, gdSampleClockPeriod_IDX, gdSampleClockPeriod_IDX, "gdSampleClockPeriod", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, gdStaticSlot_IDX, gdStaticSlot_IDX, "gdStaticSlot", SS_UINT16);
- ssRegDlgParamAsRunTimeParam(S, gdTSSTransmitter_IDX, gdTSSTransmitter_IDX, "gdTSSTransmitter", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, gdWakeupSymbolRxIdle_IDX, gdWakeupSymbolRxIdle_IDX, "gdWakeupSymbolRxIdle", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, gdWakeupSymbolRxLow_IDX, gdWakeupSymbolRxLow_IDX, "gdWakeupSymbolRxLow", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, gdWakeupSymbolRxWindow_IDX, gdWakeupSymbolRxWindow_IDX, "gdWakeupSymbolRxWindow", SS_UINT16);
- ssRegDlgParamAsRunTimeParam(S, gdWakeupSymbolTxIdle_IDX, gdWakeupSymbolTxIdle_IDX, "gdWakeupSymbolTxIdle", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, gdWakeupSymbolTxLow_IDX, gdWakeupSymbolTxLow_IDX, "gdWakeupSymbolTxLow", SS_UINT8);
-
- ssRegDlgParamAsRunTimeParam(S, pAllowHaltDueToClock_IDX, pAllowHaltDueToClock_IDX, "pAllowHaltDueToClock", SS_BOOLEAN);
- ssRegDlgParamAsRunTimeParam(S, pAllowPassiveToActive_IDX, pAllowPassiveToActive_IDX, "pAllowPassiveToActive", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, pChannels_IDX, pChannels_IDX, "pChannels", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, pClusterDriftDamping_IDX, pClusterDriftDamping_IDX, "pClusterDriftDamping", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, pDelayCompensationA_IDX, pDelayCompensationA_IDX, "pDelayCompensationA", SS_UINT16);
- ssRegDlgParamAsRunTimeParam(S, pDelayCompensationB_IDX, pDelayCompensationB_IDX, "pDelayCompensationB", SS_UINT16);
- ssRegDlgParamAsRunTimeParam(S, pExternOffsetCorrection_IDX, pExternOffsetCorrection_IDX, "pExternOffsetCorrection", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, pExternRateCorrection_IDX, pExternRateCorrection_IDX, "pExternRateCorrection", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, pKeySlotUsedForStartup_IDX, pKeySlotUsedForStartup_IDX, "pKeySlotUsedForStartup", SS_BOOLEAN);
- ssRegDlgParamAsRunTimeParam(S, pKeySlotUsedForSync_IDX, pKeySlotUsedForSync_IDX, "pKeySlotUsedForSync", SS_BOOLEAN);
- ssRegDlgParamAsRunTimeParam(S, pLatestTx_IDX, pLatestTx_IDX, "pLatestTx", SS_UINT16);
- ssRegDlgParamAsRunTimeParam(S, pMacroInitialOffsetA_IDX, pMacroInitialOffsetA_IDX, "pMacroInitialOffsetA", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, pMacroInitialOffsetB_IDX, pMacroInitialOffsetB_IDX, "pMacroInitialOffsetB", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, pMicroInitialOffsetA_IDX, pMicroInitialOffsetA_IDX, "pMicroInitialOffsetA", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, pMicroInitialOffsetB_IDX, pMicroInitialOffsetB_IDX, "pMicroInitialOffsetB", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, pMicroPerCycle_IDX, pMicroPerCycle_IDX, "pMicroPerCycle", SS_UINT32);
- ssRegDlgParamAsRunTimeParam(S, pRateCorrectionOut_IDX, pRateCorrectionOut_IDX, "pRateCorrectionOut", SS_UINT16);
- ssRegDlgParamAsRunTimeParam(S, pOffsetCorrectionOut_IDX, pOffsetCorrectionOut_IDX, "pOffsetCorrectionOut", SS_UINT16);
- ssRegDlgParamAsRunTimeParam(S, pSamplesPerMicrotick_IDX, pSamplesPerMicrotick_IDX, "pSamplesPerMicrotick", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, pSingleSlotEnabled_IDX, pSingleSlotEnabled_IDX, "pSingleSlotEnabled", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, pWakeupChannel_IDX, pWakeupChannel_IDX, "pWakeupChannel", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, pWakeupPattern_IDX, pWakeupPattern_IDX, "pWakeupPattern", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, pdAcceptedStartupRange_IDX, pdAcceptedStartupRange_IDX, "pdAcceptedStartupRange", SS_UINT16);
- ssRegDlgParamAsRunTimeParam(S, pdListenTimeout_IDX, pdListenTimeout_IDX, "pdListenTimeout", SS_UINT32);
- ssRegDlgParamAsRunTimeParam(S, pdMaxDrift_IDX, pdMaxDrift_IDX, "pdMaxDrift", SS_UINT16);
- ssRegDlgParamAsRunTimeParam(S, pDecodingCorrection_IDX, pDecodingCorrection_IDX, "pDecodingCorrection", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, syncFramePayloadMultiplexEnabled_IDX, syncFramePayloadMultiplexEnabled_IDX, "syncFramePayloadMultiplexEnabled", SS_BOOLEAN);
- ssRegDlgParamAsRunTimeParam(S, secureBuffers_IDX, secureBuffers_IDX, "secureBuffers", SS_UINT8);
-}
-#endif
-
-
-#define COMMON_MDLINITIALIZESAMPLETIMES_INHERIT
-#define UNUSED_MDLOUTPUTS
-#define UNUSED_MDLTERMINATE
-#include "trailer.c"
+++ /dev/null
-/* Copyright (C) 2013, 2014 Czech Technical University in Prague
- *
- * Authors:
- * - Michal Horn <hornimch@fel.cvut.cz>
- *
- * This document contains proprietary information belonging to Czech
- * Technical University in Prague. Passing on and copying of this
- * document, and communication of its contents is not permitted
- * without prior written authorization.
- *
- * File : sfunction_frayreceive.c
- * Abstract:
- * C-MEX S-function block for RPP FlexRay RX buffer configuration and message receiving.
- *
- * References:
- * header.c
- * trailer.c
- *
- * Compile with:
- * <matlabroot>/bin/mex sfunction_frayreceive.c
- */
-
-/*
-%YAML 1.2
----
-Name: Configure RX buffer
-Category: FlexRayin
-Header: rpp/fr.h
-Mnemonic: FRC
-
-Inputs:
-
-Outputs:
- - { name: "ErrFlag", type: "bool" }
- - { name: "Receive", type: "uint8 vector" }
- - { name: "Length", type: "uint8" }
- - { name: "Trigger", type: "bool" }
-
-Parameters:
- - { name: "channel", type: "uint8" }
- - { name: "cycleCounterFiltering", type: "uint8" }
- - { name: "maxPayload", type: "uint8", range: "(in half-words)" }
- - { name: "msgBufferInterrupt", type: "bool" }
- - { name: "payloadPreambleIndicatorTr", type: "bool" }
- - { name: "singleTransmit", type: "bool" }
- - { name: "slotId", type: "uint32" }
-
-# Description and Help is in Markdown mark-up
-Description: &desc |
-
- This block ...
-
-Help: *desc
-
-Status: Beta
-
-RPP API functions used:
-
-Relevant demos:
-...
-*/
-
-#define S_FUNCTION_NAME sfunction_frayreceive
-#include "header.c"
-#include <stdio.h>
-
-enum params {
- channel_IDX = 0,
- cycleCounterFiltering_IDX = 1,
- maxPayload_IDX = 2,
- msgBufferInterrupt_IDX = 3,
- payloadPreambleIndicatorTr_IDX = 4,
- singleTransmit_IDX = 5,
- slotId_IDX = 6,
- PARAM_COUNT
-};
-
-enum outputs {
- OUTPUT_ERROR_FLAG,
- OUTPUT_MESSAGE,
- OUTPUT_LENGTH,
- OUTPUT_TRIGGER,
- OUTPUT_COUNT,
-};
-
-
-static void mdlInitializeSizes(SimStruct *S)
-{
- if (!rppSetNumParams(S, PARAM_COUNT)) {
- return;
- }
-
- /*
- * Configure input ports: 0
- */
- if (!ssSetNumInputPorts(S, 0)) {
- return;
- }
-
-
- /*
- * Configure output ports: 4
- * - Error flag.
- * - Message
- * - Length (number of received bytes)
- * - Trigger
- */
- if (!ssSetNumOutputPorts(S, OUTPUT_COUNT)) {
- return;
- }
- rppAddOutputPort(S, OUTPUT_ERROR_FLAG, SS_BOOLEAN);
- rppAddOutputVectorPort(S, OUTPUT_MESSAGE, SS_UINT8, 2*(int_T)mxGetPr(ssGetSFcnParam(S, 2))[0]);
- rppAddOutputPort(S, OUTPUT_LENGTH, SS_UINT8);
- rppAddOutputPort(S, OUTPUT_TRIGGER, SS_BOOLEAN);
-
- /* Set standard options for this block */
- rppSetStandardOptions(S);
-}
-
-
-#ifdef MATLAB_MEX_FILE
-#define MDL_CHECK_PARAMETERS
-static void mdlCheckParameters(SimStruct *S)
-{
-
-}
-#endif
-
-
-#ifdef MATLAB_MEX_FILE
-#define MDL_SET_WORK_WIDTHS
-static void mdlSetWorkWidths(SimStruct *S)
-{
- /* Set number of run-time parameters */
- if (!ssSetNumRunTimeParams(S, PARAM_COUNT)) {
- return;
- }
-
- /* Register the run-time parameter 1 */
- ssRegDlgParamAsRunTimeParam(S, channel_IDX, channel_IDX, "channel", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, cycleCounterFiltering_IDX, cycleCounterFiltering_IDX, "cycleCounterFiltering", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, maxPayload_IDX, maxPayload_IDX, "maxPayload", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, msgBufferInterrupt_IDX, msgBufferInterrupt_IDX, "msgBufferInterrupt", SS_BOOLEAN);
- ssRegDlgParamAsRunTimeParam(S, payloadPreambleIndicatorTr_IDX, payloadPreambleIndicatorTr_IDX, "payloadPreambleIndicatorTr", SS_BOOLEAN);
- ssRegDlgParamAsRunTimeParam(S, singleTransmit_IDX, singleTransmit_IDX, "singleTransmit", SS_BOOLEAN);
- ssRegDlgParamAsRunTimeParam(S, slotId_IDX, slotId_IDX, "slotId", SS_UINT32);
-}
-#endif
-
-
-#define COMMON_MDLINITIALIZESAMPLETIMES_INHERIT
-#define UNUSED_MDLOUTPUTS
-#define UNUSED_MDLTERMINATE
-#include "trailer.c"
+++ /dev/null
-/* Copyright (C) 2013, 2014 Czech Technical University in Prague
- *
- * Authors:
- * - Michal Horn <hornimch@fel.cvut.cz>
- *
- * This document contains proprietary information belonging to Czech
- * Technical University in Prague. Passing on and copying of this
- * document, and communication of its contents is not permitted
- * without prior written authorization.
- *
- * File : sfunction_fraysbc.c
- * Abstract:
- * C-MEX S-function block for RPP FlexRay static buffer configuration.
- *
- * References:
- * header.c
- * trailer.c
- *
- * Compile with:
- * <matlabroot>/bin/mex sfunction_fraysbc.c
- */
-
-/*
-%YAML 1.2
----
-Name: FlexRay static buffer configuration
-Category: FlexRay
-Header: rpp/fr.h
-Mnemonic: FRC
-
-Inputs:
-
-Outputs:
-
-Parameters:
-
-# Description and Help is in Markdown mark-up
-Description: &desc |
-
- This block ...
-
-Help: *desc
-
-Status: Beta
-
-RPP API functions used:
-
-Relevant demos:
-...
-*/
-
-#define S_FUNCTION_NAME sfunction_fraysbc
-#include "header.c"
-#include <stdio.h>
-
-#define channel_IDX 0
-#define cycleCounterFiltering_IDX 1
-#define isTx_IDX 2
-#define maxPayload_IDX 3
-#define msgBufferInterrupt_IDX 4
-#define payloadPreambleIndicatorTr_IDX 5
-#define singleTransmit_IDX 6
-#define slotId_IDX 7
-
-
-static void mdlInitializeSizes(SimStruct *S)
-{
- /*
- * Configure parameters: 25
- * channel (0 - A, 1 - B, 2 - AB)
- * cycleCounterFiltering
- * isTx
- * maxPayload
- * msgBufferInterrupt
- * payloadPreambleIndicatorTr
- * singleTransmit
- * slotId
- */
- if (!rppSetNumParams(S, 8)) {
- return;
- }
-
- /*
- * Configure input ports: 0
- */
- if (!ssSetNumInputPorts(S, 0)) {
- return;
- }
-
- /*
- * Configure output ports: 0
- */
- if (!ssSetNumOutputPorts(S, 0)) {
- return;
- }
-
- /* Set standard options for this block */
- rppSetStandardOptions(S);
-}
-
-
-#ifdef MATLAB_MEX_FILE
-#define MDL_CHECK_PARAMETERS
-static void mdlCheckParameters(SimStruct *S)
-{
-
-}
-#endif
-
-
-#ifdef MATLAB_MEX_FILE
-#define MDL_SET_WORK_WIDTHS
-static void mdlSetWorkWidths(SimStruct *S)
-{
- /* Set number of run-time parameters */
- if (!ssSetNumRunTimeParams(S, 8)) {
- return;
- }
-
- /* Register the run-time parameter 1 */
- ssRegDlgParamAsRunTimeParam(S, channel_IDX, channel_IDX, "channel", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, cycleCounterFiltering_IDX, cycleCounterFiltering_IDX, "cycleCounterFiltering", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, isTx_IDX, isTx_IDX, "isTx", SS_BOOLEAN);
- ssRegDlgParamAsRunTimeParam(S, maxPayload_IDX, maxPayload_IDX, "maxPayload", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, msgBufferInterrupt_IDX, msgBufferInterrupt_IDX, "msgBufferInterrupt", SS_BOOLEAN);
- ssRegDlgParamAsRunTimeParam(S, payloadPreambleIndicatorTr_IDX, payloadPreambleIndicatorTr_IDX, "payloadPreambleIndicatorTr", SS_BOOLEAN);
- ssRegDlgParamAsRunTimeParam(S, singleTransmit_IDX, singleTransmit_IDX, "singleTransmit", SS_BOOLEAN);
- ssRegDlgParamAsRunTimeParam(S, slotId_IDX, slotId_IDX, "slotId", SS_UINT32);
-}
-#endif
-
-
-#define COMMON_MDLINITIALIZESAMPLETIMES_INHERIT
-#define UNUSED_MDLOUTPUTS
-#define UNUSED_MDLTERMINATE
-#include "trailer.c"
+++ /dev/null
-/* Copyright (C) 2014 Czech Technical University in Prague
- *
- * Authors:
- * - Michal Horn <hornimch@fel.cvut.cz>
- *
- * This document contains proprietary information belonging to Czech
- * Technical University in Prague. Passing on and copying of this
- * document, and communication of its contents is not permitted
- * without prior written authorization.
- *
- * File : sfunction_fraytransmit.c
- * Abstract:
- * C-MEX S-function block for RPP FlexRay TX buffer configuration and message transmittion.
- *
- * References:
- * header.c
- * trailer.c
- *
- * Compile with:
- * <matlabroot>/bin/mex -I<matlabroot>/toolbox/shared/can/src/scanutil -I<matlabroot>/toolbox/rtw/targets/common/can/datatypes sfunction_cantransmit.c <matlabroot>/toolbox/rtw/targets/common/can/datatypes/sfun_can_util.c <matlabroot>/toolbox/rtw/targets/common/can/datatypes/can_msg.c
- */
-
-/*
-%YAML 1.2
----
-Name: Configure TX buffer
-Category: FlexRay
-Header: rpp/fr.h
-Mnemonic: FRC
-
-Inputs:
- - { name: "Send", type: "uint8 vector" }
-
-Outputs:
- - { name: "ErrFlag", type: "bool" }
-
-Parameters:
- - { name: "channel", type: "uint8" }
- - { name: "cycleCounterFiltering", type: "uint8" }
- - { name: "maxPayload", type: "uint8", range: "(in half-words)" }
- - { name: "msgBufferInterrupt", type: "bool" }
- - { name: "payloadPreambleIndicatorTr", type: "bool" }
- - { name: "singleTransmit", type: "bool" }
- - { name: "slotId", type: "uint32" }
-
-# Description and Help is in Markdown mark-up
-Description: &desc |
-
- This block ...
-
-Help: *desc
-
-Status: Beta
-
-RPP API functions used:
-
-Relevant demos:
-...
-*/
-
-#define S_FUNCTION_NAME sfunction_fraytransmit
-#include "header.c"
-#include <stdio.h>
-
-enum params {
- channel_IDX = 0,
- cycleCounterFiltering_IDX = 1,
- maxPayload_IDX = 2,
- msgBufferInterrupt_IDX = 3,
- payloadPreambleIndicatorTr_IDX = 4,
- singleTransmit_IDX = 5,
- slotId_IDX = 6,
- PARAM_COUNT
-};
-
-static void mdlInitializeSizes(SimStruct *S)
-{
- if (!rppSetNumParams(S, PARAM_COUNT)) {
- return;
- }
-
- /*
- * Configure input ports: 1
- */
- if (!ssSetNumInputPorts(S, 1)) {
- return;
- }
- rppAddInputVectorPort(S, 0, SS_UINT8, 2*(int_T)mxGetPr(ssGetSFcnParam(S, 2))[0]);
-
- /*
- * Configure output ports: 1
- * - Error flag.
- */
- if (!ssSetNumOutputPorts(S, 1)) {
- return;
- }
- rppAddOutputPort(S, 0, SS_BOOLEAN);
-
- /* Set standard options for this block */
- rppSetStandardOptions(S);
-}
-
-
-#ifdef MATLAB_MEX_FILE
-#define MDL_CHECK_PARAMETERS
-static void mdlCheckParameters(SimStruct *S)
-{
-
-}
-#endif
-
-
-#ifdef MATLAB_MEX_FILE
-#define MDL_SET_WORK_WIDTHS
-static void mdlSetWorkWidths(SimStruct *S)
-{
- /* Set number of run-time parameters */
- if (!ssSetNumRunTimeParams(S, PARAM_COUNT)) {
- return;
- }
-
- /* Register the run-time parameter 1 */
- ssRegDlgParamAsRunTimeParam(S, channel_IDX, channel_IDX, "channel", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, cycleCounterFiltering_IDX, cycleCounterFiltering_IDX, "cycleCounterFiltering", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, maxPayload_IDX, maxPayload_IDX, "maxPayload", SS_UINT8);
- ssRegDlgParamAsRunTimeParam(S, msgBufferInterrupt_IDX, msgBufferInterrupt_IDX, "msgBufferInterrupt", SS_BOOLEAN);
- ssRegDlgParamAsRunTimeParam(S, payloadPreambleIndicatorTr_IDX, payloadPreambleIndicatorTr_IDX, "payloadPreambleIndicatorTr", SS_BOOLEAN);
- ssRegDlgParamAsRunTimeParam(S, singleTransmit_IDX, singleTransmit_IDX, "singleTransmit", SS_BOOLEAN);
- ssRegDlgParamAsRunTimeParam(S, slotId_IDX, slotId_IDX, "slotId", SS_UINT32);
-}
-#endif
-
-
-#define COMMON_MDLINITIALIZESAMPLETIMES_INHERIT
-#define UNUSED_MDLOUTPUTS
-#define UNUSED_MDLTERMINATE
-#include "trailer.c"
+++ /dev/null
-/* Copyright (C) 2013, 2014 Czech Technical University in Prague
- *
- * Authors:
- * - Carlos Jenkins <carlos@jenkins.co.cr>
- *
- * This document contains proprietary information belonging to Czech
- * Technical University in Prague. Passing on and copying of this
- * document, and communication of its contents is not permitted
- * without prior written authorization.
- *
- * File : sfunction_hbr.c
- * Abstract:
- * C-MEX S-function block for RPP H-Bridge output.
- *
- * References:
- * header.c
- * trailer.c
- *
- * Compile with:
- * <matlabroot>/bin/mex sfunction_hbr.c
- */
-
-/*
-%YAML 1.2
----
-Name: H-Bridge Control
-Category: Power output blocks
-Header: rpp/hbr.h
-Mnemonic: HBR
-
-Inputs:
- - { name: "Enable", type: "bool" }
- - { name: "Control", type: "double" }
-
-Outputs:
- - { name: "ErrFlag", type: "bool" }
-
-Parameters:
-
-# Description and Help is in Markdown mark-up
-Description: |
-
- Control H-Bridge (10A, PWM) at default frequency.
-
- This block expects input in range [-1.0, 1.0].
-
-Help: |
-
- This block allows to control the H-Bridge on the RPP board. The ErrFlag should raise only if
- `rpp_hbr_control()` returns error. The H-Bridge is initialized with the default frequency
- (~18kHz). A future improvement could include a parameter to set the frequency. Because the ErrFlag
- should never set, once set the following steps will never clear it back.
-
-Status: Stable
-
-RPP API functions used:
- - rpp_hbr_enable()
- - rpp_hbr_control()
-
-Relevant demos:
- - hbridge_analog_control
- - hbridge_digital_control
- - hbridge_sinewave_control
-...
-*/
-
-#define S_FUNCTION_NAME sfunction_hbr
-#include "header.c"
-
-
-static void mdlInitializeSizes(SimStruct *S)
-{
- /*
- * Configure parameters: 0
- */
- if (!rppSetNumParams(S, 0)) {
- return;
- }
-
- /*
- * Configure input ports: 1
- * - Enable
- * - Control power.
- */
- if (!ssSetNumInputPorts(S, 2)) {
- return;
- }
- rppAddInputPort(S, 0, SS_BOOLEAN);
- rppAddInputPort(S, 1, SS_DOUBLE);
-
- /*
- * Configure output ports: 1
- * - Error flag.
- */
- if (!ssSetNumOutputPorts(S, 1)) {
- return;
- }
- rppAddOutputPort(S, 0, SS_BOOLEAN);
-
- /* Set standard options for this block */
- rppSetStandardOptions(S);
-}
-
-
-#define COMMON_MDLINITIALIZESAMPLETIMES_INHERIT
-#define UNUSED_MDLCHECKPARAMETERS
-#define UNUSED_MDLOUTPUTS
-#define UNUSED_MDLTERMINATE
-#include "trailer.c"
+++ /dev/null
-/* Copyright (C) 2013, 2014 Czech Technical University in Prague
- *
- * Authors:
- * - Karel Kočí
- *
- * This document contains proprietary information belonging to Czech
- * Technical University in Prague. Passing on and copying of this
- * document, and communication of its contents is not permitted
- * without prior written authorization.
- *
- * File : sfunction_irc.c
- * Abstract:
- * C-MEX S-function block for RPP IRC input.
- *
- * References:
- * header.c
- * trailer.c
- *
- * Compile with:
- * <matlabroot>/bin/mex sfunction_irc.c
- */
-
-/*
-%YAML 1.2
----
-Name: IRC Input
-Category: IO blocks
-Header: rpp/irc.h
-Mnemonic: IRC
-
-Inputs:
-
-Outputs:
- - { name: "IRC value", type: "int32" }
- - { name: "ErrFlag", type: "bool" }
-
-Parameters:
- - { name: "IRC number [1-2]", type: "uint8" }
-
-# Description and Help is in Markdown mark-up
-Description: &desc |
-
- This block allows to read a value of an IRC sensors. Two
- configurations are supported: IRC is connected to pins DIN10 and DIN11
- and/or pins DIN14 and DIN15. The ErrFlag output raises if an error is
- detected, which should normally not happen.
-
-Help: *desc
-
-Status: Stable
-
-RPP API functions used:
- - rpp_irc_enable()
- - rpp_irc_status()
- - rpp_irc_get()
-
-Relevant demos:
- - irc_input
-...
-*/
-
-#define S_FUNCTION_NAME sfunction_irc
-#include "header.c"
-
-
-static void mdlInitializeSizes(SimStruct *S)
-{
- /*
- * Configure parameters: 1
- * - IRC number: [1-2]
- */
- if (!rppSetNumParams(S, 1)) {
- return;
- }
-
- /*
- * Configure input ports: 0
- */
- if (!ssSetNumInputPorts(S, 0)) {
- return;
- }
-
- /*
- * Configure output ports: 2
- * - IRC input.
- * - Error flag.
- */
- if (!ssSetNumOutputPorts(S, 2)) {
- return;
- }
- rppAddOutputPort(S, 0, SS_INT32);
- rppAddOutputPort(S, 1, SS_BOOLEAN);
-
- /* Set standard options for this block */
- rppSetStandardOptions(S);
-}
-
-
-#ifdef MATLAB_MEX_FILE
-#define MDL_CHECK_PARAMETERS
-static void mdlCheckParameters(SimStruct *S)
-{
- /* Check the parameter 1 */
- if (!rppValidParamRange(S, 0, 1, 2)) {
- return;
- }
-}
-#endif
-
-
-#ifdef MATLAB_MEX_FILE
-#define MDL_SET_WORK_WIDTHS
-static void mdlSetWorkWidths(SimStruct *S)
-{
- /* Set number of run-time parameters */
- if (!ssSetNumRunTimeParams(S, 1)) {
- return;
- }
-
- /* Register the run-time parameter 1 */
- ssRegDlgParamAsRunTimeParam(S, 0, 0, "p1", SS_UINT8);
-}
-#endif
-
-
-#define COMMON_MDLINITIALIZESAMPLETIMES_INHERIT
-#define UNUSED_MDLOUTPUTS
-#define UNUSED_MDLTERMINATE
-#include "trailer.c"
+++ /dev/null
-/* Copyright (C) 2013, 2014 Czech Technical University in Prague
- *
- * Authors:
- * - Carlos Jenkins <carlos@jenkins.co.cr>
- *
- * This document contains proprietary information belonging to Czech
- * Technical University in Prague. Passing on and copying of this
- * document, and communication of its contents is not permitted
- * without prior written authorization.
- *
- * File : sfunction_lout.c
- * Abstract:
- * C-MEX S-function block for RPP digital output.
- *
- * References:
- * header.c
- * trailer.c
- *
- * Compile with:
- * <matlabroot>/bin/mex sfunction_lout.c
- */
-
-/*
-%YAML 1.2
----
-Name: Digital Output
-Category: IO blocks
-Header: rpp/lout.h
-Mnemonic: LOUT
-
-Inputs:
- - { name: "Digital Output", type: "bool" }
-
-Outputs:
- - { name: "ErrFlag", type: "bool" }
-
-Parameters:
- - { name: "Pin number", type: "uint8", range: "[1-8]" }
-
-# Description and Help is in Markdown mark-up
-Description: |
-
- Sends the digital value to the specified logic output pin on the RPP
- board.
-
- An input of 1 sets the pin high and 0 sets the pin low.
-
- If an error is detected while setting the pin, the ErrFlag is set
- high.
-
-Help: |
-
- This block allows to write to the digital outputs on the RPP board. The ErrFlag should raise if
- `rpp_lout_set()` or `rpp_lout_update()` returns error. Because the ErrFlag should never set,
- once set the following steps will never clear it back. `rpp_lout_update()` is called on each
- block, which is not the most efficient but guaranties consistent behavior.
-
-Status: Stable
-
-RPP API functions used:
- - rpp_lout_set()
- - rpp_lout_update()
-
-Relevant demos:
- - digital_passthrough
- - led_blink_all
- - led_blink
-...
-*/
-
-#define S_FUNCTION_NAME sfunction_lout
-#include "header.c"
-
-
-static void mdlInitializeSizes(SimStruct *S)
-{
- /*
- * Configure parameters: 1
- * - Pin number: [1-8]
- */
- if (!rppSetNumParams(S, 1)) {
- return;
- }
-
- /*
- * Configure input ports: 1
- * - Digital output.
- */
- if (!ssSetNumInputPorts(S, 1)) {
- return;
- }
- rppAddInputPort(S, 0, SS_BOOLEAN);
-
- /*
- * Configure output ports: 1
- * - Error flag.
- */
- if (!ssSetNumOutputPorts(S, 1)) {
- return;
- }
- rppAddOutputPort(S, 0, SS_BOOLEAN);
-
- /* Set standard options for this block */
- rppSetStandardOptions(S);
-}
-
-
-#ifdef MATLAB_MEX_FILE
-#define MDL_CHECK_PARAMETERS
-static void mdlCheckParameters(SimStruct *S)
-{
- /* Check the parameter 1 */
- if (!rppValidParamRange(S, 0, 1, 8)) {
- return;
- }
-}
-#endif
-
-
-#ifdef MATLAB_MEX_FILE
-#define MDL_SET_WORK_WIDTHS
-static void mdlSetWorkWidths(SimStruct *S)
-{
- /* Set number of run-time parameters */
- if (!ssSetNumRunTimeParams(S, 1)) {
- return;
- }
-
- /* Register the run-time parameter 1 */
- ssRegDlgParamAsRunTimeParam(S, 0, 0, "p1", SS_UINT8);
-}
-#endif
-
-
-#define COMMON_MDLINITIALIZESAMPLETIMES_INHERIT
-#define UNUSED_MDLOUTPUTS
-#define UNUSED_MDLTERMINATE
-#include "trailer.c"
+++ /dev/null
-/* Copyright (C) 2013, 2014 Czech Technical University in Prague
- *
- * Authors:
- * - Carlos Jenkins <carlos@jenkins.co.cr>
- *
- * This document contains proprietary information belonging to Czech
- * Technical University in Prague. Passing on and copying of this
- * document, and communication of its contents is not permitted
- * without prior written authorization.
- *
- * File : sfunction_mout.c
- * Abstract:
- * C-MEX S-function block for RPP power output.
- *
- * References:
- * header.c
- * trailer.c
- *
- * Compile with:
- * <matlabroot>/bin/mex sfunction_mout.c
- */
-
-/*
-%YAML 1.2
----
-Name: Power Output
-Category: Power output blocks
-Header: rpp/mout.h
-Mnemonic: MOUT
-
-Inputs:
- - { name: "Power Output", type: "bool" }
-
-Outputs:
- - { name: "ErrFlag", type: "bool" }
-
-Parameters:
- - { name: "Pin number [1-6]", type: "uint8" }
-
-# Description and Help is in Markdown mark-up
-Description: &desc |
-
- This block allows to write the power outputs (2A) on the RPP board. The ErrFlag should raise only
- if `rpp_mout_set()` returns error. Note that `rpp_mout_set()` returns error only if some bad
- parameter or in case it could detect a faulty condition on the pin in a very very short period of
- time after setting the value, see the function API for details. If the faulty condition persist on
- the next step the call will successfully detect the faulty condition and ErrFlag should set.
- Because the ErrFlag should never set, once set the following steps will never clear it back.
-
-Help: *desc
-
-Status: Stable
-
-RPP API functions used:
- - rpp_mout_set()
-
-Relevant demos:
- - power_toggle
-...
-*/
-
-#define S_FUNCTION_NAME sfunction_mout
-#include "header.c"
-
-
-static void mdlInitializeSizes(SimStruct *S)
-{
- /*
- * Configure parameters: 1
- * - Pin number: [1-6]
- */
- if (!rppSetNumParams(S, 1)) {
- return;
- }
-
- /*
- * Configure input ports: 1
- * - Power output.
- */
- if (!ssSetNumInputPorts(S, 1)) {
- return;
- }
- rppAddInputPort(S, 0, SS_BOOLEAN);
-
- /*
- * Configure output ports: 1
- * - Error flag.
- */
- if (!ssSetNumOutputPorts(S, 1)) {
- return;
- }
- rppAddOutputPort(S, 0, SS_BOOLEAN);
-
- /* Set standard options for this block */
- rppSetStandardOptions(S);
-}
-
-
-#ifdef MATLAB_MEX_FILE
-#define MDL_CHECK_PARAMETERS
-static void mdlCheckParameters(SimStruct *S)
-{
- /* Check the parameter 1 */
- if (!rppValidParamRange(S, 0, 1, 6)) {
- return;
- }
-}
-#endif
-
-
-#ifdef MATLAB_MEX_FILE
-#define MDL_SET_WORK_WIDTHS
-static void mdlSetWorkWidths(SimStruct *S)
-{
- /* Set number of run-time parameters */
- if (!ssSetNumRunTimeParams(S, 1)) {
- return;
- }
-
- /* Register the run-time parameter 1 */
- ssRegDlgParamAsRunTimeParam(S, 0, 0, "p1", SS_UINT8);
-}
-#endif
-
-
-#define COMMON_MDLINITIALIZESAMPLETIMES_INHERIT
-#define UNUSED_MDLOUTPUTS
-#define UNUSED_MDLTERMINATE
-#include "trailer.c"
+++ /dev/null
-/* Copyright (C) 2013, 2014 Czech Technical University in Prague
- *
- * Authors:
- * - Carlos Jenkins <carlos@jenkins.co.cr>
- *
- * This document contains proprietary information belonging to Czech
- * Technical University in Prague. Passing on and copying of this
- * document, and communication of its contents is not permitted
- * without prior written authorization.
- *
- * File : sfunction_sdrw.c
- * Abstract:
- * C-MEX S-function block for RPP SD-RAM log write.
- *
- * References:
- * header.c
- * trailer.c
- *
- * Compile with:
- * <matlabroot>/bin/mex sfunction_sdrw.c
- */
-
-/*
-%YAML 1.2
----
-Name: SD-RAM Log Data
-Category: Logging
-Header: rpp/sdc.h
-Mnemonic: SDRW
-
-Inputs:
- - { name: "Data", type: "double" }
-
-Outputs:
- - { name: "ErrFlag", type: "bool" }
-
-Parameters:
- - { name: "Block ID", type: "uint8", range: "[0-255]" }
- - { name: "Printf format for logging", type: "string", range: "(include specifiers)" }
-
-# Description and Help is in Markdown mark-up
-Description: &desc |
-
- This block allows to log a double value to the SD-RAM. User needs to provide a valid PrintFormat
- string to format and register the double value on the log. The PrintFormat string should include
- two specifiers:
- 1. For the block ID. Any valid integer specifier.
- 2. For the value to log. Any valid double specifier.
-
- Note that the value of PrintFormat is inserted raw between quotes on code generation and thus there
- is no validation on it. Error to provide a valid PrintFormat could generate compilation errors or
- even run-time errors (normally this generates a warning on compile time). Note that the function
- for logging used is `rpp_sdr_printf()`, which is a blocking call, and can potentially overrun the
- step. The ErrFlag will set if `rpp_sdr_printf()` returns an error (for example out of memory),
- but will clear back if the next step the call to this function is successful.
-
-Help: *desc
-
-Status: Beta
-
-RPP API functions used:
- - rpp_sdr_printf()
-
-Relevant demos:
- - log_analog_input
-...
-*/
-
-#define S_FUNCTION_NAME sfunction_sdrw
-#include "header.c"
-
-
-static void mdlInitializeSizes(SimStruct *S)
-{
- /*
- * Configure parameters: 2
- * - Block ID.
- * - Printf format [setting].
- */
- if (!rppSetNumParams(S, 2)) {
- return;
- }
-
- /*
- * Configure input ports: 1
- * - Data.
- */
- if (!ssSetNumInputPorts(S, 1)) {
- return;
- }
- rppAddInputPort(S, 0, SS_DOUBLE);
-
- /*
- * Configure output ports: 1
- * - Error flag.
- */
- if (!ssSetNumOutputPorts(S, 1)) {
- return;
- }
- rppAddOutputPort(S, 0, SS_BOOLEAN);
-
- /* Set standard options for this block */
- rppSetStandardOptions(S);
-}
-
-
-#ifdef MATLAB_MEX_FILE
-#define MDL_CHECK_PARAMETERS
-static void mdlCheckParameters(SimStruct *S)
-{
- /* Check the parameter 1 */
- if (!rppValidParamRange(S, 0, 0, 255)) {
- return;
- }
-}
-#endif
-
-
-#ifdef MATLAB_MEX_FILE
-#define MDL_SET_WORK_WIDTHS
-static void mdlSetWorkWidths(SimStruct *S)
-{
- /* Set number of run-time parameters */
- if (!ssSetNumRunTimeParams(S, 1)) {
- return;
- }
-
- /* Register the run-time parameter 1 */
- ssRegDlgParamAsRunTimeParam(S, 0, 0, "p1", SS_UINT8);
-}
-#endif
-
-
-#ifdef MATLAB_MEX_FILE
-#define MDL_RTW
-static void mdlRTW(SimStruct* S)
-{
- /* Register parameter 2 as a parameter setting */
- static char_T str[128];
- mxGetString(ssGetSFcnParam(S, 1), (char*)&str, sizeof(str)); /* Get string */
- if (!ssWriteRTWParamSettings(S, 1,
- SSWRITE_VALUE_QSTR, "PrintfFormat", (const char_T*)&str)) {
- /* An error ocurred */
- return;
- }
-}
-#endif
-
-
-#define COMMON_MDLINITIALIZESAMPLETIMES_INHERIT
-#define UNUSED_MDLOUTPUTS
-#define UNUSED_MDLTERMINATE
-#include "trailer.c"
-%% the Free Software Foundation; either version 2 of the License, or
-%% (at your option) any later version.
+%% Copyright (C) 2013 Czech Technical University in Prague
%%
-%% This program is distributed in the hope that it will be useful,
-%% but WITHOUT ANY WARRANTY; without even the implied warranty of
-%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-%% GNU General Public License for more details.
+%% Authors:
+%% - Carlos Jenkins <carlos@jenkins.co.cr>
%%
-%% You should have received a copy of the GNU General Public License
-%% along with this program. If not, see <http://www.gnu.org/licenses/>.
+%% This document contains proprietary information belonging to Czech
+%% Technical University in Prague. Passing on and copying of this
+%% document, and communication of its contents is not permitted
+%% without prior written authorization.
%%
%% File : common.tlc
%% Abstract:
%% References:
%% None
-
%function SLibCodeGenForSim() void
%if (CompiledModel.TargetStyle=="SimulationTarget")
%return 1
%<LibAddToCommonIncludes("<rpp/sci.h>")>
%endif
%endif
- %if EXISTS("::rpp_fray_buffer_config") == 0
- %assign ::rpp_fray_buffer_config = ""
- %endif
- %if EXISTS("::rpp_fray_buffer_count") == 0
- %assign ::rpp_fray_buffer_count = 0
- %endif
- %if EXISTS("::rpp_fray_buffer_key_slot") == 0
- %assign ::rpp_fray_buffer_key_slot = ""
- %endif
%endfunction
+++ /dev/null
-%% Copyright (C) 2013 Czech Technical University in Prague
-%%
-%% Authors:
-%% - Carlos Jenkins <carlos@jenkins.co.cr>
-%%
-%% This document contains proprietary information belonging to Czech
-%% Technical University in Prague. Passing on and copying of this
-%% document, and communication of its contents is not permitted
-%% without prior written authorization.
-%%
-%% File : sfunction_aout.tlc
-%% Abstract:
-%% TLC file for inlining RPP analog output block.
-%%
-%% References:
-%% BlockTypeSetup() : refs/rtw_tlc.pdf p. 277
-%% Start() : refs/rtw_tlc.pdf p. 279
-%% Outputs() : refs/rtw_tlc.pdf p. 281
-
-
-%implements sfunction_aout "C"
-
-%include "common.tlc"
-
-
-%% Function: BlockTypeSetup ====================================================
-%function BlockTypeSetup(block, system) void
-
- %% Ensure required header files are included
- %<RppCommonBlockTypeSetup(block, system)>
- %<LibAddToCommonIncludes("rpp/dac.h")>
- %assign ::rpp_aout_present=1
-
-%endfunction
-
-
-%% Function: Start =============================================================
-%function Start(block, system) Output
-
- %if !SLibCodeGenForSim()
- %assign pin_num = LibBlockParameterValue(p1, 0)
- rpp_dac_setup(%<pin_num>, TRUE);
- rpp_dac_set(%<pin_num>, 0);
- /*
- * Warning! This should be the correct way to initialize DAC.
- * Nevertheless rpp_dac_update() has a known bug that if it is called
- * before starting the FreeRTOS Scheduler the application will freeze.
- * Check the RPP API documentation for more information.
- * Not updating now is harmless though.
- */
- /* rpp_dac_update(); */
- %endif
-
-%endfunction
-
-
-%% Function: Outputs ===========================================================
-%function Outputs(block, system) Output
-
- %if !SLibCodeGenForSim()
-
- %% Get parameters
- %assign pin_num = LibBlockParameterValue(p1, 0)
- %assign use_voltage = LibBlockParameterValue(p2, 0)
-
- %% Get IO signals
- %assign analog_out = LibBlockInputSignal(0, "", "", 0)
- %assign err_flag = LibBlockOutputSignal(0, "", "", 0)
-
- %if use_voltage
- if (rpp_dac_set_voltage(%<pin_num>, %<analog_out>) != SUCCESS) {
- %else
- if (rpp_dac_set(%<pin_num>, %<analog_out>) != SUCCESS) {
- %endif
-
- %<err_flag> = TRUE;
-
- } else {
- %% The call is smart enought to commit only the changed outputs
- %% so it is efficient to call this at the end of each block.
- if (rpp_dac_update() != SUCCESS) {
- %<err_flag> = TRUE;
- }
- }
-
- %endif
-
-%endfunction
-
-%% [EOF]
-%% Copyright (C) 2013, 2014 Czech Technical University in Prague
+%% Copyright (C) 2013 Czech Technical University in Prague
%%
%% Authors:
%% - Carlos Jenkins <carlos@jenkins.co.cr>
+%% - Michal Horn <hornmich@fel.cvut.cz>
%%
%% This document contains proprietary information belonging to Czech
%% Technical University in Prague. Passing on and copying of this
%include "common.tlc"
-%% Function: BlockInstanceSetup ================================================
-%function BlockInstanceSetup(block, system) void
- %assign ::rpp_din_present=1
- %assign pin_num = LibBlockParameterValue(p1, 0)
-
- %switch (%<pin_num>)
- %case 10
- %case 11
- %if EXISTS("rpp_irc_1_used") == 1
- %<LibBlockReportError(block, "Either IRC1 or Digital Input pin 10 and 11 blocks are allowed in one model, not both.")>
- %else
- %assign ::rpp_din_10_11_used = 1
- %endif
- %break
- %case 14
- %case 15
- %if EXISTS("rpp_irc_2_used") == 1
- %<LibBlockReportError(block, "Either IRC2 or Digital Input pin 14 and 15 blocks are allowed in one model, not both.")>
- %else
- %assign ::rpp_din_14_15_used = 1
- %endif
- %break
- %endswitch
-
- %if %<pin_num> < 8
- %% Create array if not exist
- %if EXISTS("rpp_din_in_model_array") == 0
- %assign ::rpp_din_in_model_array = [0, 0, 0, 0, 0, 0, 0, 0]
- %endif
-
- %if ::rpp_din_in_model_array[%<pin_num>] == 0
- %assign ::rpp_din_in_model_array[%<pin_num>] = 1
- %else
- %assign err_msg = "Only one Digital Input block of pin %<pin_num> is allowed in the model."
- %<LibBlockReportError(block, err_msg)>
- %endif
- %endif
-
-%endfunction
-
%% Function: BlockTypeSetup ====================================================
%function BlockTypeSetup(block, system) void
- %% Ensure required header files are included
- %<RppCommonBlockTypeSetup(block, system)>
- %<LibAddToCommonIncludes("rpp/din.h")>
+ %% Ensure required header files are included
+ %<RppCommonBlockTypeSetup(block, system)>
+ %<LibAddToCommonIncludes("rpp/gio.h")>
+ %assign ::rpp_din_present = 1
%endfunction
+%function BlockInstanceSetup(block, system) void
+ %assign port_par = LibBlockParameterValue(port_type, 0)
+ %assign pin_number_par = LibBlockParameterValue(pin_number, 0)
+
+ %% Ensure that every pin is configured only once
+ %if EXISTS("::rpp_%<port_par>_%<pin_number_par>_present") == 0
+ %assign ::rpp_%<port_par>_%<pin_number_par>_present = 1
+ %else
+ %<LibBlockReportError(block, "GPIO pin %<pin_number_par> on port %<port_par> has already been configred.")>
+ %endif
+%endfunction
%% Function: Start =============================================================
%function Start(block, system) Output
-
- %if !SLibCodeGenForSim()
- %assign pin_num = LibBlockParameterValue(p1, 0)
- %if pin_num < 8
- %assign pull_up = LibBlockParameterValue(p3, 0) - 1
- %assign active = LibBlockParameterValue(p4, 0) - 1
- rpp_din_setup(%<pin_num>, %<pull_up>, %<active>, FALSE);
- %endif
- %endif
+ %assign port_par = LibBlockParameterValue(port_type, 0)
+ %assign pin_number_par = LibBlockParameterValue(pin_number, 0)
+ %assign config = LibBlockParameterValue(input_type, 0)
+
+ %if !SLibCodeGenForSim()
+ %openfile buffer
+ uint32_t* din_%<port_par>_%<pin_number_par>_desc = NULL;
+ %closefile buffer
+ %<LibSetSourceFileSection(LibGetModelDotCFile(), "Declarations", buffer)>
+
+ uint32_t din_%<port_par>_%<pin_number_par>_cfg = PORT_CONF_FNC_GPIO|PORT_CONF_DIR_IN;
+ %if port_par == 1 %% GIOA
+ %assign name = "GIOA%<pin_number_par>"
+ %elseif port_par == 2 %% GIOB
+ %assign name = "GIOB%<pin_number_par>"
+ %elseif port_par == 3 %% NHET1
+ %assign name = "NHET1%<pin_number_par>"
+ %else
+ %<LibBlockReportError(block, "Bad port identifier: %<port_par>")>
+ %endif
+
+ din_%<port_par>_%<pin_number_par>_desc = hal_gpio_pin_get_dsc("%<name>", -1);
+
+ %if config == 1 %% Tri-state
+ din_%<port_par>_%<pin_number_par>_cfg |= PORT_CONF_MODE_PDIS|PORT_CONF_OD_ON;
+ %elseif config == 2 %% Pull up
+ din_%<port_par>_%<pin_number_par>_cfg |= PORT_CONF_MODE_PEN|PORT_CONF_OD_OFF|PORT_CONF_MODE_PU;
+ %elseif config == 3 %% Pull down
+ din_%<port_par>_%<pin_number_par>_cfg |= PORT_CONF_MODE_PEN|PORT_CONF_OD_OFF|PORT_CONF_MODE_PD;
+ %else %% error
+ %<LibBlockReportError(block, "Bad configuration value: %<config>")>
+ %endif
+
+ hal_gpio_pin_conf_set(*din_%<port_par>_%<pin_number_par>_desc, din_%<port_par>_%<pin_number_par>_cfg);
+
+ %endif
%endfunction
%% Function: Outputs ===========================================================
%function Outputs(block, system) Output
- %if !SLibCodeGenForSim()
-
- %% Declare temporal variables
- %if EXISTS("_RPP_DIN_TMP_VARS_") == 0
- %assign ::_RPP_DIN_TMP_VARS_ = 1
- int8_t din_tmp;
- %endif
-
- %% Error flag
- %assign err_flag = LibBlockOutputSignal(1, "", "", 0)
-
- %% First executed block must update cached values
- %if EXISTS("_RPP_DIN_UPDATE_") == 0
- %assign ::_RPP_DIN_UPDATE_ = 1
- if (rpp_din_update() != SUCCESS) {
- %<err_flag> = TRUE;
- }
- %endif
-
- %% Get pin number and if to use variable threshold
- %assign pin_num = LibBlockParameterValue(p1, 0)
- %assign var_thr = LibBlockParameterValue(p2, 0)
-
- %% Get pin value
- %if var_thr == 0
- din_tmp = rpp_din_get(%<pin_num>);
- %else
- din_tmp = rpp_din_get_tr(%<pin_num>);
+ %if !SLibCodeGenForSim()
+ %assign digital_in = LibBlockOutputSignal(0, "", "", 0)
+ %assign port_par = LibBlockParameterValue(port_type, 0)
+ %assign pin_number_par = LibBlockParameterValue(pin_number, 0)
+ uint32_t din_%<port_par>_%<pin_number_par>_val = hal_gpio_pin_get_value(*din_%<port_par>_%<pin_number_par>_desc);
+ %<digital_in> = din_%<port_par>_%<pin_number_par>_val;
%endif
- if (din_tmp < 0) {
- %<err_flag> = TRUE;
- din_tmp = LOW;
- }
-
- %% Return input
- %assign digital_in = LibBlockOutputSignal(0, "", "", 0)
- %<digital_in> = din_tmp;
-
- %endif
%endfunction
+++ /dev/null
-%% Copyright (C) 2013-2014 Czech Technical University in Prague
-%%
-%% Authors:
-%% - Karel Kočí
-%%
-%% This document contains proprietary information belonging to Czech
-%% Technical University in Prague. Passing on and copying of this
-%% document, and communication of its contents is not permitted
-%% without prior written authorization.
-%%
-%% File : sfunction_dinc.tlc
-%% Abstract:
-%% TLC file for inlining RPP digital input configuration block.
-%%
-%% References:
-%% BlockTypeSetup() : rtw_tlc.pdf p. 277
-%% Start() : rtw_tlc.pdf p. 279
-%% Outputs() : rtw_tlc.pdf p. 281
-
-
-%implements sfunction_dinc "C"
-
-%include "common.tlc"
-
-
-%% Function: BlockInstanceSetup ================================================
-%function BlockInstanceSetup(block, system) void
- %if EXISTS("rpp_dinc_in_model") == 0
- %<LibAddToCommonIncludes("rpp/din.h")>
- %assign ::rpp_dinc_in_model = 1
- %else
- %<LibBlockReportError(block, "Only one Digital Input Configure block is allowed in the model.")>
- %endif
- %assign ::rpp_din_present=1
-%endfunction
-
-%% Function: BlockTypeSetup ====================================================
-%function BlockTypeSetup(block, system) void
-
- %% Ensure required header files are included
- %<RppCommonBlockTypeSetup(block, system)>
-
-%endfunction
-
-
-%% Function: Start =============================================================
-%function Start(block, system) Output
-
- %if !SLibCodeGenForSim()
- %assign ref_a = LibBlockParameterValue(p1, 0)
- %assign ref_b = LibBlockParameterValue(p2, 1)
- rpp_din_ref(%<ref_a>, %<ref_b>);
- %endif
-
-%endfunction
-
-%% [EOF]
--- /dev/null
+%% Copyright (C) 2013 Czech Technical University in Prague
+%%
+%% Authors:
+%% - Carlos Jenkins <carlos@jenkins.co.cr>
+%% - Michal Horn <hornmich@fel.cvut.cz>
+%%
+%% This document contains proprietary information belonging to Czech
+%% Technical University in Prague. Passing on and copying of this
+%% document, and communication of its contents is not permitted
+%% without prior written authorization.
+%%
+%% File : sfunction_dout.tlc
+%% Abstract:
+%% TLC file for inlining RPP digital output block.
+%%
+%% References:
+%% BlockTypeSetup() : rtw_tlc.pdf p. 277
+%% Start() : rtw_tlc.pdf p. 279
+%% Outputs() : rtw_tlc.pdf p. 281
+
+
+%implements sfunction_dout "C"
+
+%include "common.tlc"
+
+
+%% Function: BlockTypeSetup ====================================================
+%function BlockTypeSetup(block, system) void
+
+ %% Ensure required header files are included
+ %<RppCommonBlockTypeSetup(block, system)>
+ %<LibAddToCommonIncludes("rpp/gio.h")>
+ %assign ::rpp_dout_present = 1
+
+%endfunction
+
+%function BlockInstanceSetup(block, system) void
+ %assign port_par = LibBlockParameterValue(port_type, 0)
+ %assign pin_number_par = LibBlockParameterValue(pin_number, 0)
+
+ %% Ensure that every pin is configured only once
+ %if EXISTS("::rpp_%<port_par>_%<pin_number_par>_present") == 0
+ %assign ::rpp_%<port_par>_%<pin_number_par>_present = 1
+ %else
+ %<LibBlockReportError(block, "GPIO pin %<pin_number_par> on port %<port_par> has already been configred.")>
+ %endif
+%endfunction
+
+%% Function: Start =============================================================
+%function Start(block, system) Output
+ %assign port_par = LibBlockParameterValue(port_type, 0)
+ %assign pin_number_par = LibBlockParameterValue(pin_number, 0)
+ %assign config = LibBlockParameterValue(output_type, 0)
+ %assign init_val = LibBlockParameterValue(default_output, 0)
+
+ %if !SLibCodeGenForSim()
+ %openfile buffer
+ uint32_t* dout_%<port_par>_%<pin_number_par>_desc = NULL;
+ %closefile buffer
+ %<LibSetSourceFileSection(LibGetModelDotCFile(), "Declarations", buffer)>
+
+
+
+ uint32_t dout_%<port_par>_%<pin_number_par>_cfg = PORT_CONF_FNC_GPIO|PORT_CONF_DIR_OUT;
+ %if port_par == 1 %% GIOA
+ %assign name = "GIOA%<pin_number_par>"
+ %elseif port_par == 2 %% GIOB
+ %assign name = "GIOB%<pin_number_par>"
+ %elseif port_par == 3 %% NHET1
+ %assign name = "NHET1%<pin_number_par>"
+ %else
+ %<LibBlockReportError(block, "Bad port identifier: %<port_par>")>
+ %endif
+
+ dout_%<port_par>_%<pin_number_par>_desc = hal_gpio_pin_get_dsc("%<name>", -1);
+
+ %if init_val == 0
+ dout_%<port_par>_%<pin_number_par>_cfg |= PORT_CONF_INIT_LOW | PORT_CONF_MODE_PD;
+ %elseif init_val == 1
+ dout_%<port_par>_%<pin_number_par>_cfg |= PORT_CONF_INIT_HIGH | PORT_CONF_MODE_PU;
+ %else
+ %<LibBlockReportError(block, "Bad init output value: %<init_val>")>
+ %endif
+
+ %if config == 1 %% Open drain
+ dout_%<port_par>_%<pin_number_par>_cfg |= PORT_CONF_MODE_PDIS|PORT_CONF_OD_ON;
+ %elseif config == 2 %% push/pull
+ dout_%<port_par>_%<pin_number_par>_cfg |= PORT_CONF_MODE_PEN|PORT_CONF_OD_OFF;
+ %else %% error
+ %<LibBlockReportError(block, "Bad configuration value: %<config>")>
+ %endif
+
+ hal_gpio_pin_conf_set(*dout_%<port_par>_%<pin_number_par>_desc, dout_%<port_par>_%<pin_number_par>_cfg);
+
+ %endif
+
+%endfunction
+
+
+%% Function: Outputs ===========================================================
+%function Outputs(block, system) Output
+
+ %if !SLibCodeGenForSim()
+ %assign digital_out = LibBlockInputSignal(0, "", "", 0)
+ %assign port_par = LibBlockParameterValue(port_type, 0)
+ %assign pin_number_par = LibBlockParameterValue(pin_number, 0)
+ hal_gpio_pin_set_value(*dout_%<port_par>_%<pin_number_par>_desc, (uint32_t) %<digital_out>);
+ %endif
+
+%endfunction
+
+%% [EOF]
+++ /dev/null
-%% Copyright (C) 2013 Czech Technical University in Prague
-%%
-%% Authors:
-%% - Michal Horn <hornmich@fel.cvut.cz>
-%%
-%% This document contains proprietary information belonging to Czech
-%% Technical University in Prague. Passing on and copying of this
-%% document, and communication of its contents is not permitted
-%% without prior written authorization.
-%%
-%% File : sfunction_frayconfig.tlc
-%% Abstract:
-%% TLC file for inlining RPP FlexRay TX buffer configuration and message transmittion.
-%%
-%% References:
-%% BlockTypeSetup() : refs/rtw_tlc.pdf p. 277
-%% Outputs() : refs/rtw_tlc.pdf p. 281
-
-
-%implements sfunction_frayconfig "C"
-
-%include "common.tlc"
-
-
-%% Function: BlockTypeSetup ====================================================
-%function BlockTypeSetup(block, system) void
-
- %% Ensure required header files are included
- %<RppCommonBlockTypeSetup(block, system)>
- %<LibAddToCommonIncludes("rpp/fr.h")>
- %assign ::rpp_fray_config_present = 1
- %assign ::rpp_fray_present=1
-
-%endfunction
-
-%function BlockInstanceSetup(block, system) void
-
-%endfunction
-
-
-%% Function: Start =============================================================
-%function Start(block, system) Output
- %openfile buffer
- static const Fr_TMS570LS_ClusterConfigType fray_cluster_cfg = {
- .gColdStartAttempts = %<LibBlockParameterValue(gColdStartAttempts, 0)>,
- .gListenNoise = %<LibBlockParameterValue(gListenNoise, 0)>,
- .gMacroPerCycle = %<LibBlockParameterValue(gMacroPerCycle, 0)>,
- .gMaxWithoutClockCorrectionFatal = %<LibBlockParameterValue(gMaxWithoutClockCorrectionFatal, 0)>,
- .gMaxWithoutClockCorrectionPassive = %<LibBlockParameterValue(gMaxWithoutClockCorrectionPassive, 0)>,
- .gNetworkManagementVectorLength = %<LibBlockParameterValue(gNetworkManagementVectorLength, 0)>,
- .gNumberOfMinislots = %<LibBlockParameterValue(gNumberOfMinislots, 0)>,
- .gNumberOfStaticSlots = %<LibBlockParameterValue(gNumberOfStaticSlots, 0)>,
- .gOffsetCorrectionStart = %<LibBlockParameterValue(gOffsetCorrectionStart, 0)>,
- .gPayloadLengthStatic = %<LibBlockParameterValue(gPayloadLengthStatic, 0)>,
- .gSyncNodeMax = %<LibBlockParameterValue(gSyncNodeMax, 0)>,
- .gdActionPointOffset = %<LibBlockParameterValue(gdActionPointOffset, 0)>,
- .gdCASRxLowMax = %<LibBlockParameterValue(gdCASRxLowMax, 0)>,
- .gdDynamicSlotIdlePhase = %<LibBlockParameterValue(gdDynamicSlotIdlePhase, 0)>,
- .gdMinislot = %<LibBlockParameterValue(gdMinislot, 0)>,
- .gdMinislotActionPointOffset = %<LibBlockParameterValue(gdMinislotActionPointOffset, 0)>,
- .gdNIT = %<LibBlockParameterValue(gdNIT, 0)>,
- .gdSampleClockPeriod = %<LibBlockParameterValue(gdSampleClockPeriod, 0)>,
- .gdStaticSlot = %<LibBlockParameterValue(gdStaticSlot, 0)>,
- .gdTSSTransmitter = %<LibBlockParameterValue(gdTSSTransmitter, 0)>,
- .gdWakeupSymbolRxIdle = %<LibBlockParameterValue(gdWakeupSymbolRxIdle, 0)>,
- .gdWakeupSymbolRxLow = %<LibBlockParameterValue(gdWakeupSymbolRxLow, 0)>,
- .gdWakeupSymbolRxWindow = %<LibBlockParameterValue(gdWakeupSymbolRxWindow, 0)>,
- .gdWakeupSymbolTxIdle = %<LibBlockParameterValue(gdWakeupSymbolTxIdle, 0)>,
- .gdWakeupSymbolTxLow = %<LibBlockParameterValue(gdWakeupSymbolTxLow, 0)>,
- };
-
- static const Fr_TMS570LS_NodeConfigType fray_node_cfg = {
- .pAllowHaltDueToClock = %<LibBlockParameterValue(pAllowHaltDueToClock, 0)>,
- .pAllowPassiveToActive = %<LibBlockParameterValue(pAllowPassiveToActive, 0)>,
- %if %<LibBlockParameterValue(pChannels, 0)>==1
- .pChannels = FR_CHANNEL_A,
- %elseif %<LibBlockParameterValue(pChannels, 0)>==2
- .pChannels = FR_CHANNEL_B,
- %else
- .pChannels = FR_CHANNEL_AB,
- %endif
- .pClusterDriftDamping = %<LibBlockParameterValue(pClusterDriftDamping, 0)>,
- .pDelayCompensationA = %<LibBlockParameterValue(pDelayCompensationA, 0)>,
- .pDelayCompensationB = %<LibBlockParameterValue(pDelayCompensationB, 0)>,
- .pExternOffsetCorrection = %<LibBlockParameterValue(pExternOffsetCorrection, 0)>,
- .pExternRateCorrection = %<LibBlockParameterValue(pExternRateCorrection, 0)>,
- .pKeySlotUsedForStartup = %<LibBlockParameterValue(pKeySlotUsedForStartup, 0)>,
- .pKeySlotUsedForSync = %<LibBlockParameterValue(pKeySlotUsedForSync, 0)>,
- .pLatestTx = %<LibBlockParameterValue(pLatestTx, 0)>,
- .pMacroInitialOffsetA = %<LibBlockParameterValue(pMacroInitialOffsetA, 0)>,
- .pMacroInitialOffsetB = %<LibBlockParameterValue(pMacroInitialOffsetB, 0)>,
- .pMicroInitialOffsetA = %<LibBlockParameterValue(pMicroInitialOffsetA, 0)>,
- .pMicroInitialOffsetB = %<LibBlockParameterValue(pMicroInitialOffsetB, 0)>,
- .pMicroPerCycle = %<LibBlockParameterValue(pMicroPerCycle, 0)>,
- .pRateCorrectionOut = %<LibBlockParameterValue(pRateCorrectionOut, 0)>,
- .pOffsetCorrectionOut = %<LibBlockParameterValue(pOffsetCorrectionOut, 0)>,
- .pSamplesPerMicrotick = %<LibBlockParameterValue(pSamplesPerMicrotick, 0)>,
- .pSingleSlotEnabled = %<LibBlockParameterValue(pSingleSlotEnabled, 0)>,
- %if %<LibBlockParameterValue(pWakeupChannel, 0)>==1
- .pWakeupChannel = FR_CHANNEL_A,
- %else
- .pWakeupChannel = FR_CHANNEL_B,
- %endif
- .pWakeupPattern = %<LibBlockParameterValue(pWakeupPattern, 0)>,
- .pdAcceptedStartupRange = %<LibBlockParameterValue(pdAcceptedStartupRange, 0)>,
- .pdListenTimeout = %<LibBlockParameterValue(pdListenTimeout, 0)>,
- .pdMaxDrift = %<LibBlockParameterValue(pdMaxDrift, 0)>,
- .pDecodingCorrection = %<LibBlockParameterValue(pDecodingCorrection, 0)>,
- };
-
- #define FRAY_STATIC_BUFFER_COUNT %<::rpp_fray_buffer_count>
- static const Fr_TMS570LS_BufferConfigType fray_static_buffers_cfg[FRAY_STATIC_BUFFER_COUNT] = {
- %<::rpp_fray_buffer_key_slot>
- %<::rpp_fray_buffer_config>
- };
-
- static const Fr_TMS570LS_MsgRAMConfig fray_msg_ram_cfg = {
- .syncFramePayloadMultiplexEnabled = %<LibBlockParameterValue(syncFramePayloadMultiplexEnabled, 0)>,
- %if %<LibBlockParameterValue(secureBuffers, 0)>==1
- .secureBuffers = FR_SB_RECONFIG_ENABLED,
- %elseif %<LibBlockParameterValue(secureBuffers, 0)>==2
- .secureBuffers = FR_SB_STAT_REC_DISABLED_STAT_TR_DISABLED,
- %elseif %<LibBlockParameterValue(secureBuffers, 0)>==3
- .secureBuffers = FR_SB_ALL_REC_DISABLED,
- %else
- .secureBuffers = FR_SB_ALL_REC_DISABLED_STAT_TR_DISABLED,
- %endif
- .statSegmentBufferCount = FRAY_STATIC_BUFFER_COUNT,
- .dynSegmentBufferCount = 0,
- .fifoBufferCount = 0
- };
-
- static const Fr_ConfigType flexray_cfg = {
- .clusterConfiguration = &fray_cluster_cfg,
- .nodeConfiguration = &fray_node_cfg,
- .msgRAMConfig = &fray_msg_ram_cfg,
- .staticBufferConfigs = fray_static_buffers_cfg,
- .dynamicBufferConfigs = NULL,
- .fifoBufferConfigs = NULL,
- };
-
- %closefile buffer
- %<LibSetSourceFileSection(LibGetModelDotCFile(), "Declarations", buffer)>
-
- %if !SLibCodeGenForSim()
-
- %% Error flag
- %assign err_flag = LibBlockOutputSignal(0, "", "", 0)
-
-
- %% Declare temporal variables
- %if EXISTS("_RPP_FRAYCONFIG_TMP_VARS_") == 0
- %assign ::_RPP_FRAYCONFIG_TMP_VARS_ = 1
- %endif
- int8_t retVal;
- uint32_t error;
-
- retVal = rpp_fr_init_driver(&flexray_cfg, &error);
- if (retVal == FAILURE) {
- rpp_sci_printf("FlexRay driver init error.\n");
- %<err_flag> = TRUE;
- }
- else {
- rpp_sci_printf("FlexRay driver initialized.\n");
- }
-
- retVal = rpp_fr_init_controller(0, &error);
- if (retVal == FAILURE) {
- rpp_sci_printf("FlexRay controller init error: %#x.\n", error);
- %<err_flag> = TRUE;
- }
- else {
- rpp_sci_printf("FlexRay controller initialized.\n");
- }
-
- retVal = rpp_fr_start_communication(0, &error);
- if (retVal == FAILURE) {
- rpp_sci_printf("FlexRay start communication failed: %#x.\n", error);
- %<err_flag> = TRUE;
- }
- else {
- rpp_sci_printf("FlexRay communication started.\n");
- }
- retVal = rpp_fr_all_slots(0);
- if (retVal == FAILURE) {
- rpp_sci_printf("FlexRay all slots failed: %#x.\n", error);
- %<err_flag> = TRUE;
- }
- else {
- rpp_sci_printf("FlexRay is communicating on all slots.\n");
- }
- %endif
-%endfunction
-
-
-%% [EOF]
+++ /dev/null
-%% Copyright (C) 2013 Czech Technical University in Prague
-%%
-%% Authors:
-%% - Michal Horn <hornmich@fel.cvut.cz>
-%%
-%% This document contains proprietary information belonging to Czech
-%% Technical University in Prague. Passing on and copying of this
-%% document, and communication of its contents is not permitted
-%% without prior written authorization.
-%%
-%% File : sfunction_frayreceive.tlc
-%% Abstract:
-%% TLC file for inlining RPP FlexRay node configuration.
-%%
-%% References:
-%% BlockTypeSetup() : refs/rtw_tlc.pdf p. 277
-%% Outputs() : refs/rtw_tlc.pdf p. 281
-
-
-%implements sfunction_frayreceive "C"
-
-%include "common.tlc"
-
-%% Function: BlockTypeSetup ====================================================
-%function BlockTypeSetup(block, system) void
-
- %% Ensure required header files are included
- %<RppCommonBlockTypeSetup(block, system)>
- %<LibAddToCommonIncludes("rpp/fr.h")>
-
-%endfunction
-
-%function BlockInstanceSetup(block, system) void
- %assign channel_val = LibBlockParameterValue(channel, 0)
- %assign cycleCounterFiltering_val = LibBlockParameterValue(cycleCounterFiltering, 0)
- %assign maxPayload_val = LibBlockParameterValue(maxPayload, 0)
- %assign msgBufferInterrupt_val = LibBlockParameterValue(msgBufferInterrupt, 0)
- %assign payloadPreambleIndicatorTr_val = LibBlockParameterValue(payloadPreambleIndicatorTr, 0)
- %assign singleTransmit_val = LibBlockParameterValue(singleTransmit, 0)
- %assign slotId_val = LibBlockParameterValue(slotId, 0)
-
- %openfile buffer
- {
- %if %<channel_val>==1
- .channel = FR_CHANNEL_A,
- %elseif %<channel_val>==2
- .channel = FR_CHANNEL_B,
- %else
- .channel = FR_CHANNEL_AB,
- %endif
- .cycleCounterFiltering = %<cycleCounterFiltering_val>,
- .fidMask = 0,
- .isTx = FALSE,
- .maxPayload = %<maxPayload_val>,
- .msgBufferInterrupt = %<msgBufferInterrupt_val>,
- .payloadPreambleIndicatorTr = %<payloadPreambleIndicatorTr_val>,
- .rejectNullFrames = FALSE,
- .rejectStaticSegment = FALSE,
- .singleTransmit = %<singleTransmit_val>,
- .slotId = %<slotId_val>
- },
- %closefile buffer
- %assign ::rpp_fray_buffer_config = "%<::rpp_fray_buffer_config> %<buffer>"
- %assign ::rpp_fray_buffer_count = %<::rpp_fray_buffer_count> + 1
-%endfunction
-
-%% Function: Outputs ===========================================================
-%function Outputs(block, system) Output
-
- %if EXISTS("_RPP_FRAYSTEP_TMP_VARS_") == 0
- %assign ::_RPP_FRAYSTEP_TMP_VARS_ = 1
- int8_t retVal;
- %endif
- %if EXISTS("_RPP_FRAYREC_TMP_VARS_") == 0
- %assign ::_RPP_FRAYREC_TMP_VARS_ = 1
- int8_t i;
- %endif
-
- %if !SLibCodeGenForSim()
- %% Get parameters
- %assign slotId_val = LibBlockParameterValue(slotId, 0)
- %assign maxPayload_val = LibBlockParameterValue(maxPayload, 0)
-
- %% Get IO signals
- %assign err_flag = LibBlockOutputSignal(0, "", "", 0)
- %assign message = LibBlockOutputSignal(1, "", "", 0)
- %assign length = LibBlockOutputSignal(2, "", "", 0)
- %assign trigger = LibBlockOutputSignal(3, "", "", 0)
-
- %if EXISTS("_RPP_FRAYSTEP_RX_VARS_") == 0
- %assign ::_RPP_FRAYSTEP_RX_VARS_ = 1
- uint8_t rec_msg[%<maxPayload_val>*2];
- uint8_t rec_length;
- Fr_RxLPduStatusType rec_status;
- %endif
-
- retVal = rpp_fr_receive_lpdu(0, %<slotId_val>, rec_msg, &rec_status, &rec_length);
- if (retVal == FAILURE) {
- rpp_sci_printf("Receiving a message from slot %#x failed.\n", %<slotId_val>);
- %<err_flag> = TRUE;
- %<message> = 0;
- %<length> = 0;
- %<trigger> = 0;
- }
- else {
- if (rec_status == FR_NOT_RECEIVED) {
- %<trigger> = 0;
- %<message> = 0;
- %<length> = 0;
- }
- else {
- rpp_sci_printf("Message from slot %#x received:%#x\n", %<slotId_val>, rec_msg[0]);
- %<trigger> = 1;
- for (i = 0; i < %<maxPayload_val>*2; i++) {
- *(&%<message>+i) = rec_msg[i];
- }
- %<length> = rec_length;
- }
- }
- %endif
-%endfunction
-
-
-%% [EOF]
+++ /dev/null
-%% Copyright (C) 2013 Czech Technical University in Prague
-%%
-%% Authors:
-%% - Michal Horn <hornmich@fel.cvut.cz>
-%%
-%% This document contains proprietary information belonging to Czech
-%% Technical University in Prague. Passing on and copying of this
-%% document, and communication of its contents is not permitted
-%% without prior written authorization.
-%%
-%% File : sfunction_fraysbc.tlc
-%% Abstract:
-%% TLC file for inlining RPP FlexRay node configuration.
-%%
-%% References:
-%% BlockTypeSetup() : refs/rtw_tlc.pdf p. 277
-%% Outputs() : refs/rtw_tlc.pdf p. 281
-
-
-%implements sfunction_fraysbc "C"
-
-%include "common.tlc"
-
-
-%% Function: BlockTypeSetup ====================================================
-%function BlockTypeSetup(block, system) void
-
- %% Ensure required header files are included
- %<RppCommonBlockTypeSetup(block, system)>
- %<LibAddToCommonIncludes("rpp/fr.h")>
-
-%endfunction
-
-
-%% Function: Start =============================================================
-%function Start(block, system) Output
-
- %if !SLibCodeGenForSim()
- %assign channel_val = LibBlockParameterValue(channel, 0)
- %assign cycleCounterFiltering_val = LibBlockParameterValue(cycleCounterFiltering, 0)
- %assign isTx_val = LibBlockParameterValue(isTx, 0)
- %assign maxPayload_val = LibBlockParameterValue(maxPayload, 0)
- %assign msgBufferInterrupt_val = LibBlockParameterValue(msgBufferInterrupt, 0)
- %assign payloadPreambleIndicatorTr_val = LibBlockParameterValue(payloadPreambleIndicatorTr, 0)
- %assign singleTransmit_val = LibBlockParameterValue(singleTransmit, 0)
- %assign slotId_val = LibBlockParameterValue(slotId, 0)
-
- %% Declare temporal variables
- %if EXISTS("_RPP_FRAYCONFIG_TMP_VARS_") == 0
- %assign ::_RPP_FRAYCONFIG_TMP_VARS_ = 1
- #define MAX_ST_BUF_CFG 62
- Fr_TMS570LS_ClusterConfigType cluster_cfg;
- Fr_TMS570LS_NodeConfigType node_cfg;
- Fr_TMS570LS_BufferConfigType static_buffers_cfg[MAX_ST_BUF_CFG];
- Fr_TMS570LS_MsgRAMConfig msg_ram_cfg;
- uint8_t static_buffers_cnt = 0;
- %endif
- static_buffers_cfg[static_buffers_cnt].channel = %<channel_val>;
- static_buffers_cfg[static_buffers_cnt].cycleCounterFiltering = %<cycleCounterFiltering_val>;
- static_buffers_cfg[static_buffers_cnt].isTx = %<isTx_val>;
- static_buffers_cfg[static_buffers_cnt].maxPayload = %<maxPayload_val>;
- static_buffers_cfg[static_buffers_cnt].msgBufferInterrupt = %<msgBufferInterrupt_val>;
- static_buffers_cfg[static_buffers_cnt].payloadPreambleIndicatorTr = %<payloadPreambleIndicatorTr_val>;
- static_buffers_cfg[static_buffers_cnt].singleTransmit = %<singleTransmit_val>;
- static_buffers_cfg[static_buffers_cnt].slotId = %<slotId_val>;
- static_buffers_cnt++;
- rpp_sci_printf("Buffer %d added.\n", static_buffers_cnt);
- %endif
-
-%endfunction
-
-
-%% [EOF]
+++ /dev/null
-%% Copyright (C) 2013, 2014 Czech Technical University in Prague
-%%
-%% Authors:
-%% - Michal Horn <hornmich@fel.cvut.cz>
-%%
-%% This document contains proprietary information belonging to Czech
-%% Technical University in Prague. Passing on and copying of this
-%% document, and communication of its contents is not permitted
-%% without prior written authorization.
-%%
-%% File : sfunction_fraytransmit.tlc
-%% Abstract:
-%% TLC file for inlining RPP FlexRay node configuration.
-%%
-%% References:
-%% BlockTypeSetup() : refs/rtw_tlc.pdf p. 277
-%% Outputs() : refs/rtw_tlc.pdf p. 281
-
-
-%implements sfunction_fraytransmit "C"
-
-%include "common.tlc"
-
-%% Function: BlockTypeSetup ====================================================
-%function BlockTypeSetup(block, system) void
-
- %% Ensure required header files are included
- %<RppCommonBlockTypeSetup(block, system)>
- %<LibAddToCommonIncludes("rpp/fr.h")>
-
-%endfunction
-
-%function BlockInstanceSetup(block, system) void
- %assign channel_val = LibBlockParameterValue(channel, 0)
- %assign cycleCounterFiltering_val = LibBlockParameterValue(cycleCounterFiltering, 0)
- %assign maxPayload_val = LibBlockParameterValue(maxPayload, 0)
- %assign msgBufferInterrupt_val = LibBlockParameterValue(msgBufferInterrupt, 0)
- %assign payloadPreambleIndicatorTr_val = LibBlockParameterValue(payloadPreambleIndicatorTr, 0)
- %assign singleTransmit_val = LibBlockParameterValue(singleTransmit, 0)
- %assign slotId_val = LibBlockParameterValue(slotId, 0)
-
- %openfile buffer
- {
- %if channel_val == 1U
- .channel = FR_CHANNEL_A,
- %elseif channel_val == 2U
- .channel = FR_CHANNEL_B,
- %else
- .channel = FR_CHANNEL_AB,
- %endif
- .cycleCounterFiltering = %<cycleCounterFiltering_val>,
- .fidMask = 0,
- .isTx = TRUE,
- .maxPayload = %<maxPayload_val>,
- .msgBufferInterrupt = %<msgBufferInterrupt_val>,
- .payloadPreambleIndicatorTr = %<payloadPreambleIndicatorTr_val>,
- .rejectNullFrames = FALSE,
- .rejectStaticSegment = FALSE,
- .singleTransmit = %<singleTransmit_val>,
- .slotId = %<slotId_val>
- },
- %closefile buffer
-
- %if ISEQUAL(::rpp_fray_buffer_key_slot, "")
- %assign ::rpp_fray_buffer_key_slot = "%<buffer>"
- %else
- %assign ::rpp_fray_buffer_config = "%<::rpp_fray_buffer_config> %<buffer>"
- %endif
- %assign ::rpp_fray_buffer_count = %<::rpp_fray_buffer_count> + 1
-
-%endfunction
-
-
-%% Function: Start =============================================================
-%function Start(block, system) Output
-
- %if !SLibCodeGenForSim()
-
- %if EXISTS(::rpp_fray_config_present) == 0
- %<LibBlockReportError(block, "FlexRay config block not present!")>
- %endif
- %endif
-%endfunction
-
-%% Function: Outputs ===========================================================
-%function Outputs(block, system) Output
-
- %if EXISTS("_RPP_FRAYSTEP_TMP_VARS_") == 0
- %assign ::_RPP_FRAYSTEP_TMP_VARS_ = 1
- int8_t retVal;
- %endif
-
-
- %if !SLibCodeGenForSim()
- %% Get parameters
- %assign slotId_val = LibBlockParameterValue(slotId, 0)
- %assign maxPayload_val = LibBlockParameterValue(maxPayload, 0)
-
- %% Get IO signals
- %assign message = LibBlockInputSignal(0, "", "", 0)
- %assign err_flag = LibBlockOutputSignal(0, "", "", 0)
-
- rpp_sci_printf("sending message %#x on slot %d.\n", %<message>, %<slotId_val>);
-
- retVal = rpp_fr_transmit_lpdu(0, %<slotId_val>, &%<message>, %<maxPayload_val>*2);
- if (retVal == FAILURE) {
- rpp_sci_printf("Sending a message to slot %#x failed.\n", %<slotId_val>);
- %<err_flag> = TRUE;
- }
- %endif
-%endfunction
-
-
-%% [EOF]
+++ /dev/null
-%% Copyright (C) 2013-2014 Czech Technical University in Prague
-%%
-%% Authors:
-%% - Carlos Jenkins <carlos@jenkins.co.cr>
-%%
-%% This document contains proprietary information belonging to Czech
-%% Technical University in Prague. Passing on and copying of this
-%% document, and communication of its contents is not permitted
-%% without prior written authorization.
-%%
-%% File : sfunction_hbr.tlc
-%% Abstract:
-%% TLC file for inlining RPP H-Bridge control block.
-%%
-%% References:
-%% BlockTypeSetup() : refs/rtw_tlc.pdf p. 277
-%% Start() : refs/rtw_tlc.pdf p. 279
-%% Outputs() : refs/rtw_tlc.pdf p. 281
-
-
-%implements sfunction_hbr "C"
-
-%include "common.tlc"
-
-
-%% Function: BlockTypeSetup ====================================================
-%function BlockTypeSetup(block, system) void
-
- %% Ensure required header files are included
- %<RppCommonBlockTypeSetup(block, system)>
- %<LibAddToCommonIncludes("rpp/hbr.h")>
- %assign ::rpp_hbr_present=1
-
-%endfunction
-
-
-%% Function: Start =============================================================
-%function Start(block, system) Output
-
- %if !SLibCodeGenForSim()
- rpp_hbr_enable(-1);
- %endif
-
-%endfunction
-
-
-%% Function: Outputs ===========================================================
-%function Outputs(block, system) Output
-
- %if !SLibCodeGenForSim()
-
- %% Get IO signals
- %assign enable = LibBlockInputSignal(0, "", "", 0)
- %assign control = LibBlockInputSignal(1, "", "", 0)
- %assign err_flag = LibBlockOutputSignal(0, "", "", 0)
-
- if (%<enable>) {
- rpp_hbr_enable(-1); %% enable if not enabled
- if (rpp_hbr_control(%<control>) != SUCCESS) {
- %<err_flag> = TRUE;
- }
- } else {
- rpp_hbr_disable(); %% disable if not disabled
- }
-
- %endif
-
-%endfunction
-
-%% [EOF]
+++ /dev/null
-%% Copyright (C) 2013, 2014 Czech Technical University in Prague
-%%
-%% Authors:
-%% - Karel Kočí
-%%
-%% This document contains proprietary information belonging to Czech
-%% Technical University in Prague. Passing on and copying of this
-%% document, and communication of its contents is not permitted
-%% without prior written authorization.
-%%
-%% File : sfunction_irc.tlc
-%% Abstract:
-%% TLC file for inlining RPP IRC input block.
-%%
-%% References:
-%% BlockTypeSetup() : rtw_tlc.pdf p. 277
-%% Start() : rtw_tlc.pdf p. 279
-%% Outputs() : rtw_tlc.pdf p. 281
-
-
-%implements sfunction_irc "C"
-
-%include "common.tlc"
-
-
-%% Function: BlockInstanceSetup ================================================
-%function BlockInstanceSetup(block, system) void
- %assign irc_num = LibBlockParameterValue(p1, 0)
-
- %switch (%<irc_num>)
- %case 1
- %if EXISTS("rpp_din_10_11_used") == 1
- %<LibBlockReportError(block, "Either IRC1 or Digital Input pin 10 and 11 blocks are allowed in one model, not both.")>
- %else
- %assign ::rpp_irc_1_used = 1
- %endif
- %break
- %case 2
- %if EXISTS("rpp_din_14_15_used") == 1
- %<LibBlockReportError(block, "Either IRC2 or Digital Input pin 14 and 15 blocks are allowed in one model, not both.")>
- %else
- %assign ::rpp_irc_2_used = 1
- %endif
- %break
- %endswitch
-%endfunction
-
-%% Function: BlockTypeSetup ====================================================
-%function BlockTypeSetup(block, system) void
-
- %% Ensure required header files are included
- %<RppCommonBlockTypeSetup(block, system)>
- %<LibAddToCommonIncludes("rpp/irc.h")>
- %assign ::rpp_irc_present=1
-
-%endfunction
-
-
-%% Function: Start =============================================================
-%function Start(block, system) Output
-
- %if !SLibCodeGenForSim()
- %assign irc_num = LibBlockParameterValue(p1, 0)
- rpp_irc_enable(%<irc_num>);
- %endif
-
-%endfunction
-
-
-%% Function: Outputs ===========================================================
-%function Outputs(block, system) Output
-
- %if !SLibCodeGenForSim()
-
- %% Error flag
- %assign err_flag = LibBlockOutputSignal(1, "", "", 0)
-
- %% Get irc number
- %assign irc_num = LibBlockParameterValue(p1, 0)
-
- %% Control if irc running
- if (rpp_irc_status(%<irc_num>) != 1) {
- %<err_flag> = TRUE;
- } else {
- %% Return input
- %assign irc_val = LibBlockOutputSignal(0, "", "", 0)
- %<irc_val> = rpp_irc_get(%<irc_num>);
- }
-
- %endif
-
-%endfunction
-
-%% [EOF]
+++ /dev/null
-%% Copyright (C) 2013 Czech Technical University in Prague
-%%
-%% Authors:
-%% - Carlos Jenkins <carlos@jenkins.co.cr>
-%%
-%% This document contains proprietary information belonging to Czech
-%% Technical University in Prague. Passing on and copying of this
-%% document, and communication of its contents is not permitted
-%% without prior written authorization.
-%%
-%% File : sfunction_lout.tlc
-%% Abstract:
-%% TLC file for inlining RPP digital output block.
-%%
-%% References:
-%% BlockTypeSetup() : refs/rtw_tlc.pdf p. 277
-%% Start() : refs/rtw_tlc.pdf p. 279
-%% Outputs() : refs/rtw_tlc.pdf p. 281
-
-
-%implements sfunction_lout "C"
-
-%include "common.tlc"
-
-
-%% Function: BlockTypeSetup ====================================================
-%function BlockTypeSetup(block, system) void
-
- %% Ensure required header files are included
- %<RppCommonBlockTypeSetup(block, system)>
- %<LibAddToCommonIncludes("rpp/lout.h")>
- %assign ::rpp_lout_present=1
-
-%endfunction
-
-
-%% Function: Start =============================================================
-%function Start(block, system) Output
-
- %if !SLibCodeGenForSim()
- %%No initialization needed for this block
- %endif
-
-%endfunction
-
-
-%% Function: Outputs ===========================================================
-%function Outputs(block, system) Output
-
- %if !SLibCodeGenForSim()
-
- %% Get pin number
- %assign pin_num = LibBlockParameterValue(p1, 0)
-
- %% Get IO signals
- %assign digital_out = LibBlockInputSignal(0, "", "", 0)
- %assign err_flag = LibBlockOutputSignal(0, "", "", 0)
-
- if (rpp_lout_set(%<pin_num>, %<digital_out>) != SUCCESS) {
-
- %<err_flag> = TRUE;
-
- } else {
- %% FIXME: Improve to call this function only once per step on the
- %% last block.
- %% But... what happens if the next block want to check it's
- %% diagnostic value and is not the last LOUT block?
- if (rpp_lout_update() != SUCCESS) {
- %<err_flag> = TRUE;
- }
- }
-
- %endif
-
-%endfunction
-
-%% [EOF]
+++ /dev/null
-%% Copyright (C) 2013 Czech Technical University in Prague
-%%
-%% Authors:
-%% - Carlos Jenkins <carlos@jenkins.co.cr>
-%%
-%% This document contains proprietary information belonging to Czech
-%% Technical University in Prague. Passing on and copying of this
-%% document, and communication of its contents is not permitted
-%% without prior written authorization.
-%%
-%% File : sfunction_mout.tlc
-%% Abstract:
-%% TLC file for inlining RPP power output block.
-%%
-%% References:
-%% BlockTypeSetup() : refs/rtw_tlc.pdf p. 277
-%% Start() : refs/rtw_tlc.pdf p. 279
-%% Outputs() : refs/rtw_tlc.pdf p. 281
-
-
-%implements sfunction_mout "C"
-
-%include "common.tlc"
-
-
-%% Function: BlockTypeSetup ====================================================
-%function BlockTypeSetup(block, system) void
-
- %% Ensure required header files are included
- %<RppCommonBlockTypeSetup(block, system)>
- %<LibAddToCommonIncludes("rpp/mout.h")>
- %assign ::rpp_mout_present=1
-
-%endfunction
-
-
-%% Function: Start =============================================================
-%function Start(block, system) Output
-
- %if !SLibCodeGenForSim()
- %%No initialization needed for this block
- %endif
-
-%endfunction
-
-
-%% Function: Outputs ===========================================================
-%function Outputs(block, system) Output
-
- %if !SLibCodeGenForSim()
-
- %% Get pin number
- %assign pin_num = LibBlockParameterValue(p1, 0)
-
- %% Get IO signals
- %assign power_out = LibBlockInputSignal(0, "", "", 0)
- %assign err_flag = LibBlockOutputSignal(0, "", "", 0)
-
- if (rpp_mout_set(%<pin_num>, %<power_out>) != SUCCESS) {
- %<err_flag> = TRUE;
- }
-
- %endif
-
-%endfunction
-
-%% [EOF]
+++ /dev/null
-%% Copyright (C) 2013 Czech Technical University in Prague
-%%
-%% Authors:
-%% - Carlos Jenkins <carlos@jenkins.co.cr>
-%%
-%% This document contains proprietary information belonging to Czech
-%% Technical University in Prague. Passing on and copying of this
-%% document, and communication of its contents is not permitted
-%% without prior written authorization.
-%%
-%% File : sfunction_sdrw.tlc
-%% Abstract:
-%% TLC file for inlining RPP SD-RAM write block.
-%%
-%% References:
-%% BlockTypeSetup() : refs/rtw_tlc.pdf p. 277
-%% Start() : refs/rtw_tlc.pdf p. 279
-%% Outputs() : refs/rtw_tlc.pdf p. 281
-
-
-%implements sfunction_sdrw "C"
-
-%include "common.tlc"
-
-
-%% Function: BlockTypeSetup ====================================================
-%function BlockTypeSetup(block, system) void
-
- %% Ensure required header files are included
- %<RppCommonBlockTypeSetup(block, system)>
- %<LibAddToCommonIncludes("rpp/sdr.h")>
- %assign ::rpp_sdr_present=1
-
-%endfunction
-
-
-%% Function: Start =============================================================
-%function Start(block, system) Output
-
- %if !SLibCodeGenForSim()
- rpp_sdr_setup(TRUE);
- %endif
-
-%endfunction
-
-
-%% Function: Outputs ===========================================================
-%function Outputs(block, system) Output
-
- %if !SLibCodeGenForSim()
-
- %% Get block id
- %assign block_id = LibBlockParameterValue(p1, 0)
-
- %% Get IO signals
- %assign data = LibBlockInputSignal(0, "", "", 0)
- %assign err_flag = LibBlockOutputSignal(0, "", "", 0)
-
- %assign printf_format = SFcnParamSettings.PrintfFormat
- if (rpp_sdr_printf(
- (const char*)"%<printf_format>",
- %<block_id>, %<data>
- ) <= 0) { // <0 for error code, 0 for no data being written.
- %<err_flag> = TRUE;
- } else {
- %<err_flag> = FALSE;
- }
-
- %endif
-
-%endfunction
-
-%% [EOF]
+# Copyright (C) 2013 Czech Technical University in Prague
+#
+# Authors:
+# - Michal Sojka <sojkam1@fel.cvut.cz>
+#
+# This document contains proprietary information belonging to Czech
+# Technical University in Prague. Passing on and copying of this
+# document, and communication of its contents is not permitted
+# without prior written authorization.
+#
+# File : Makefile
+# Abstract:
+# Build demos
+
MODELS=$(wildcard *.slx)
BUILD_DIRS=$(MODELS:%.slx=%_rpp)
-Subproject commit b446fb76462cbf0d15f7a26d078613635d9d8ffd
+Subproject commit 0a7353c1aaab68397943c876a48fc949d56d0621
void main(void)
{
/* Initialize RPP board */
- %if EXISTS(::rpp_ain_present)
+ %if EXISTS(::rpp_ain_present)
rpp_adc_init();
%endif
- %if EXISTS(::rpp_aout_present)
- rpp_dac_init();
+ %if EXISTS(::rpp_din_present) || EXISTS(::rpp_dout_present)
+ rpp_gio_init(RPP_GIO_PORT_ALL);
%endif
- %if EXISTS(::rpp_din_present)
- rpp_din_init();
- %endif
- %if EXISTS(::rpp_hbr_present)
- rpp_hbr_init();
- %endif
- %if EXISTS(::rpp_irc_present)
- rpp_irc_init();
- %endif
- %if EXISTS(::rpp_lout_present)
- rpp_lout_init();
- %endif
- %if EXISTS(::rpp_mout_present)
- rpp_mout_init();
- %endif
- %if EXISTS(::rpp_sdr_present)
- rpp_sdr_init();
- %endif
- rpp_sci_init();
+ rpp_sci_init();
// Speed up the SCI
rpp_sci_setup(115200);
# Compiler command and options
CC = "$(COMPILER_ROOT)/bin/armcl"
-CFLAGS = -mv7R4 --code_state=32 --float_support=VFPv3D16 \
+CFLAGS = -mv7R4 -me --code_state=32 --float_support=VFPv3D16 \
--abi=eabi --compile_only -O2 --gcc --diag_wrap=on \
--diag_warning=225 --display_error_number \
--enum_type=packed --gen_func_subsections \
LD = $(CC)
LDFLAGS = -mv7R4 --code_state=32 --float_support=VFPv3D16 --abi=eabi \
-O2 --diag_warning=225 --display_error_number \
- --enum_type=packed --run_linker -m"$(MODEL).map" --be32 \
+ --enum_type=packed --run_linker -m"$(MODEL).map" \
--diag_wrap=on --stack_size=$(RPP_STACK_SIZE) \
--heap_size=$(RPP_HEAP_SIZE) --reread_libs --warn_sections \
--display_error_number --rom_model \
--library="$(RPP_STATIC_LIB)" \
--retain="$(RPP_STATIC_LIB)<sys_intvecs.obj>(.intvecs)" \
--search_path="$(COMPILER_ROOT)/lib" \
- --library="rtsv7R4_T_be_v3D16_eabi.lib" \
+ --library="rtsv7R4_T_le_v3D16_eabi.lib" \
"$(RPP_LIB_ROOT)/rpp/TMS570LS313xFlashLnk.cmd" \
--generate_dead_funcs_list=$(MODEL)-deadfuncs.xml
--- /dev/null
+$pdflatex = 'pdflatex -synctex=1 -file-line-error -interaction nonstopmode %O %S';
+$pdf_mode = 1;
+$postscript_mode = $dvi_mode = 0;
+$recorder = 1;
+$use_make_for_missing_files = 1;
--- /dev/null
+DOC = functional_tests.pdf
+
+all: $(DOC)
+
+-include *.deps
+
+%.tex: %.lyx
+ lyx -e pdflatex $<
+
+%.pdf: %.tex
+ latexmk -deps -deps-out=$@.deps $< # See also .latexmkrc
+
+clean:
+ rm -f $(DOC)
+
+%.pdf: %.svg
+ inkscape --export-pdf=$@ $<
+
+.PHONY: version.tex
+version.tex:
+ git describe --dirty --always --match 'version_*'|sed -e s/^version_// > $@
--- /dev/null
+#LyX 2.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 413
+\begin_document
+\begin_header
+\textclass article
+\begin_preamble
+\newcommand{\superscript}[1]{\ensuremath{^{\textrm{\small#1}}}}
+\newcommand{\subscript}[1]{\ensuremath{_{\textrm{\small#1}}}}
+
+
+
+% images and graphics
+\usepackage{paralist}% needed for compact lists
+\usepackage{ulem}% needed by strike
+\usepackage{listings}% required for code blocks
+% links
+% char encoding
+\usepackage[bottom]{footmisc}% footnotes
+\usepackage{todonotes}
+
+% header
+% To fix images position
+
+% Prettify code documentation
+\definecolor{gray97}{gray}{.97}
+\definecolor{gray75}{gray}{.75}
+\definecolor{gray45}{gray}{.45}
+\lstset{ frame=Ltb,
+ framerule=0pt,
+ aboveskip=0.5cm,
+ framextopmargin=3pt,
+ framexbottommargin=3pt,
+ framexleftmargin=0.4cm,
+ framesep=0pt,
+ rulesep=.4pt,
+ backgroundcolor=\color{gray97},
+ rulesepcolor=,
+ %
+ stringstyle=\ttfamily,
+ showstringspaces = false,
+ basicstyle=\small\ttfamily,
+ commentstyle=\color{gray45},
+ keywordstyle=\bfseries,
+ %
+ numbers=left,
+ numbersep=15pt,
+ numberstyle=\tiny,
+ numberfirstline = false,
+ breaklines=true,
+ xleftmargin=20px,
+ }
+
+% Spacing
+\linespread{1.15} % Lines spacing
+\setlength{\plitemsep}{0.5\baselineskip} % List items spacing
+\definecolor{deepblue}{RGB}{0,0,61}
+
+
+% Table of content depth
+
+
+% Landscape pages
+\usepackage{lscape}\usepackage{pdflscape}
+
+% Change page
+\usepackage{changepage}
+
+% Font options
+% Sans-serif
+% \renewcommand{\familydefault}{\sfdefault}
+% Better PDF font
+
+
+% Multiple columns
+\usepackage{multicol}
+
+\newcommand{\repo}{$\langle$repo$\rangle$}
+\end_preamble
+\use_default_options false
+\maintain_unincluded_children false
+\language english
+\language_package none
+\inputencoding utf8x
+\fontencoding default
+\font_roman lmodern
+\font_sans default
+\font_typewriter lmodern
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_osf false
+\font_sf_scale 100
+\font_tt_scale 100
+
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
+\paperfontsize default
+\spacing single
+\use_hyperref true
+\pdf_bookmarks true
+\pdf_bookmarksnumbered false
+\pdf_bookmarksopen false
+\pdf_bookmarksopenlevel 1
+\pdf_breaklinks false
+\pdf_pdfborder false
+\pdf_colorlinks true
+\pdf_backref section
+\pdf_pdfusetitle true
+\pdf_quoted_options "urlcolor=blue,hyperfootnotes=false,linkcolor=deepblue"
+\papersize default
+\use_geometry true
+\use_amsmath 1
+\use_esint 1
+\use_mhchem 0
+\use_mathdots 0
+\cite_engine basic
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\use_refstyle 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\secnumdepth 3
+\tocdepth 4
+\paragraph_separation indent
+\paragraph_indentation default
+\quotes_language english
+\papercolumns 1
+\papersides 1
+\paperpagestyle default
+\tracking_changes false
+\output_changes false
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\end_header
+
+\begin_body
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+% Title
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset FormulaMacro
+\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+
+\backslash
+begin{titlepage}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+% Upper part of the page
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset Graphics
+ filename images/logo_ctu.pdf
+ width 35text%
+
+\end_inset
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+
+\backslash
+
+\backslash
+[1cm]
+\end_layout
+
+\end_inset
+
+
+\shape smallcaps
+\size largest
+Czech Technical University in Prague
+\shape default
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+
+\backslash
+
+\backslash
+[1.5cm]
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+% Document title
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+
+\backslash
+HRule
+\end_layout
+
+\end_inset
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+
+\backslash
+
+\backslash
+[0.4cm]
+\end_layout
+
+\end_inset
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\end_inset
+
+
+\series bold
+\size huge
+Functional tests of software for RM48L952ZWT
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+}
+\end_layout
+
+\end_inset
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+
+\backslash
+
+\backslash
+[0.4cm]
+\end_layout
+
+\end_inset
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+
+\backslash
+HRule
+\end_layout
+
+\end_inset
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+
+\backslash
+
+\backslash
+[1.5cm]
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+% Author
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+
+
+\emph on
+Authors:
+\emph default
+
+\begin_inset Newline newline
+\end_inset
+
+ Ing.
+ Michal Horn
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+
+\backslash
+
+\backslash
+[
+\backslash
+baselineskip]
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\align center
+
+\emph on
+Version:
+\emph default
+
+\begin_inset CommandInset include
+LatexCommand input
+filename "version.tex"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset VSpace vfill
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+% Bottom of the page
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+
+
+\size large
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+
+\backslash
+today
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+
+\backslash
+end{titlepage}
+\end_layout
+
+\end_inset
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+% Title end
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset CommandInset toc
+LatexCommand tableofcontents
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Newpage newpage
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+
+\backslash
+addtolength{
+\backslash
+parskip}{
+\backslash
+baselineskip}
+\end_layout
+
+\end_inset
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+% Paragraph spacing
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+
+\backslash
+hypertarget{introduction}{
+\end_layout
+
+\end_inset
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+Introduction
+\end_layout
+
+\begin_layout Standard
+This document contains tests of required functionality, described in a document
+
+\noun on
+Simulink-to-RM48 Framework Project Requirements
+\noun default
+, version 1.2 from October 22, 2014.
+\end_layout
+
+\begin_layout Subsection
+Structure of the document
+\end_layout
+
+\begin_layout Standard
+The tests are designed to verify the functionality of the software from
+ the bottom to the top, which means that the lower software layers are tested
+ first and after this basic functionality is confirmed, the higher software
+ layer tests are performed.
+ The document is thus divided in two sections.
+\end_layout
+
+\begin_layout Standard
+The first section contains tests of the lower levels of the software.
+ Here the main control interface is a serial interface with a command processor.
+ The command processor calls functions of the RPP library layer and HAL
+ layer to control the hardware.
+ In this section the tests go from the bottom to the top as well, so the
+ serial interface with the command processor is tested first and other periphera
+ls tests are following.
+\end_layout
+
+\begin_layout Standard
+The second section contains tests of the Matlab Simulink blocks, which provide
+ more comfortable and more sophisticated means of the hardware control.
+ Because the underlying layers have been tested in the first section, only
+ the functions of the blocks are tested here.
+\end_layout
+
+\begin_layout Subsection
+Structure of the tests
+\end_layout
+
+\begin_layout Standard
+Every test is sumarized in three subsections.
+
+\noun on
+Test goals
+\noun default
+, which describes what was tested,
+\noun on
+Test procedure
+\noun default
+, which describes how it was tested to easily reproduce the test and
+\noun on
+Results
+\noun default
+, which provides a summary table of the results of the test goals.
+ Each goal has a column Passed, which contains L if the test passed for
+ Linux, W if the test passed for Windows or X if the test did not passed
+ at all.
+\end_layout
+
+\begin_layout Subsection
+Tested platforms
+\end_layout
+
+\begin_layout Standard
+All tests were performed on both platforms, Windows and Linux.
+ The mark PASSED has been granted only when the test passed on both of the
+ platforms.
+\end_layout
+
+\begin_layout Standard
+Be aware that especially the tests of the CAN functionality are designed
+ to be performed on Linux based machine, because of easiness of the creation
+ of software CAN ports.
+ But this does not interfere with Windows test as long as the firmware is
+ compiled and downloaded to the board from Windows and serial interface
+ is connected to the Windows based computer.
+\end_layout
+
+\begin_layout Section
+Behavior of the HW controlled by the command processor.
+\end_layout
+
+\begin_layout Standard
+All those tests requires the command processor to be loaded in the board.
+ To load the command processor use Code Composer Studio, open a rpp_test_sw
+ project and download it to the board before performing any of the following
+ tests.
+\end_layout
+
+\begin_layout Subsection
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Serial-Communication-Interface"
+
+\end_inset
+
+Serial Communication Interface and Command processor
+\end_layout
+
+\begin_layout Subsubsection
+Test goals
+\end_layout
+
+\begin_layout Itemize
+Verify configuration of the SCI 2 port to the baud rate 115200.
+\end_layout
+
+\begin_layout Itemize
+Verify characters transmission from a HDK to a computer.
+\end_layout
+
+\begin_layout Itemize
+Verify characters reception from the computer in the HDK.
+\end_layout
+
+\begin_layout Itemize
+Verify that the command processor is processing the input characters.
+\end_layout
+
+\begin_layout Subsubsection
+Test procedure
+\end_layout
+
+\begin_layout Standard
+The TMDSRM48HDK contains a serial interface provided by a FTDI chip, connected
+ to the microUSB port J7.
+ This chip is connected to the SCI 2 port of the MCU.
+\end_layout
+
+\begin_layout Standard
+Tools for accessing the serial port on the computer are GtkTerm for Linux
+ and Terminal for Windows.
+ Both programs have to be configured as follows:
+\end_layout
+
+\begin_layout Itemize
+Baud Rate: 115200
+\end_layout
+
+\begin_layout Itemize
+Parity: none
+\end_layout
+
+\begin_layout Itemize
+Bits: 8
+\end_layout
+
+\begin_layout Itemize
+Stopbits: 1
+\end_layout
+
+\begin_layout Itemize
+Flow control: none
+\end_layout
+
+\begin_layout Standard
+The test procedure is:
+\end_layout
+
+\begin_layout Enumerate
+Connect the HDK board with a computer via a USB cable.
+\end_layout
+
+\begin_layout Enumerate
+Launch and configure program for access to the serial port.
+\end_layout
+
+\begin_layout Enumerate
+Plug in the power supply.
+\end_layout
+
+\begin_layout Enumerate
+Verify that a welcome message has been received on the computer.
+\end_layout
+
+\begin_layout Enumerate
+Input characters h e l p
+\backslash
+n.
+\end_layout
+
+\begin_layout Enumerate
+Verify that the characters apper on the computer as you are typing them.
+\end_layout
+
+\begin_layout Enumerate
+Verify that the command processor has processed the command
+\noun on
+help
+\noun default
+ and that help text has been received on the computer.
+\end_layout
+
+\begin_layout Subsubsection
+Results
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="5" columns="3">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Test
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+SCI 2 Configuration
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+4
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+SCI 2 Transmission
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+5-6
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+SCI 2 Reception
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+5-6
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Command processor
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+7
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Digital-output"
+
+\end_inset
+
+Digital output
+\end_layout
+
+\begin_layout Subsubsection
+Test goals
+\end_layout
+
+\begin_layout Itemize
+Verify that all pins are configured in Push/Pull output mode after the reset.
+\end_layout
+
+\begin_layout Itemize
+Verify availability of pins GIOA0-7, GIOB0-7, NHET1 0-31, except NHET1 6
+ and NHET1 13.
+\end_layout
+
+\begin_layout Itemize
+Verify that toggling all available pins high and low in Push/Pull mode really
+ changes the output value.
+\end_layout
+
+\begin_layout Subsubsection
+Test procedure
+\end_layout
+
+\begin_layout Enumerate
+Connect the board with a computer and configure access to the serial interface
+ like in the test
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Serial-Communication-Interface"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Enumerate
+Run pinlist command and check that pins GIOA 0-7, GIOB 0-7, NHET1 0-5, NHET1
+ 7-12, NHET1 14-31 are listed.
+\end_layout
+
+\begin_layout Enumerate
+For every pin PINNAME in the list:
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Connect a LED to the PINNAME GIO output pin.
+ The anode of the LED is connected to the GIO output pin, the cathode of
+ the LED is connected to the GND pin.
+ The LED should not be shining at the moment.
+\end_layout
+
+\begin_layout Enumerate
+Input command
+\noun on
+pinvalPINNAME 1.
+
+\noun default
+ Check that the LED is shining now.
+\end_layout
+
+\begin_layout Enumerate
+Input command
+\noun on
+pinvalPINNAME 0.
+
+\noun default
+ Check that the LED is turned off again.
+\end_layout
+
+\end_deeper
+\begin_layout Subsubsection
+Results
+\end_layout
+
+\begin_layout Paragraph
+GIOA
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="10" columns="7">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Pin name
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Startup configuration
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Available
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+High/Low, Push/Pull
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA 0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA 1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA 2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA 3
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA 4
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA 5
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA 6
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA 7
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+GIOB
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="10" columns="7">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Pin name
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Startup configuration
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Available
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+High/Low, Push/Pull
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB 0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB 1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB 2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB 3
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB 4
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB 5
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB 6
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB 7
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+NHET
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="32" columns="7">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Pin name
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Startup configuration
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Available
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+High/Low, Push/Pull
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 3
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 4
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 5
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 7
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 8
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 9
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 10
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 11
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 12
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 14
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 15
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 16
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 17
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 18
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 19
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 20
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 21
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 22
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 23
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 24
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 25
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 26
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 27
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 28
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 29
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 30
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 31
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Digital-input"
+
+\end_inset
+
+Digital input
+\end_layout
+
+\begin_layout Subsubsection
+Test goals
+\end_layout
+
+\begin_layout Itemize
+Verify switching all available pins of the GIOA, GIOB and NHET1 ports to
+ input pull up mode.
+\end_layout
+
+\begin_layout Itemize
+Verify that toggling of the input pin by an external source really changes
+ the value retrieved by a read command.
+\end_layout
+
+\begin_layout Subsubsection
+Test procedure
+\end_layout
+
+\begin_layout Enumerate
+Connect the board with a computer and configure access to the serial interface
+ like in the test
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Serial-Communication-Interface"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Enumerate
+Retrieve a list of available pins like in test
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Digital-output"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Enumerate
+For every pin PINNAME listed by the pinlist command:
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Run
+\noun on
+pindirPINNAME 0
+\noun default
+ to switch the pin to pull up input mode,
+\end_layout
+
+\begin_layout Enumerate
+connect the pin to a GND and read a value by a
+\noun on
+pinvalPINNAME
+\noun default
+ command.
+ Check that the retrieved value is logical low.
+\end_layout
+
+\begin_layout Enumerate
+Disconnect the pin from the GND and read a value by the
+\noun on
+pinvalPINNAME
+\noun default
+ command.
+ Check that the retrieved value is logical high.
+\end_layout
+
+\end_deeper
+\begin_layout Subsubsection
+Results
+\end_layout
+
+\begin_layout Paragraph
+GIOA
+\end_layout
+
+\begin_layout Standard
+
+\family roman
+\series medium
+\shape up
+\size normal
+\emph off
+\bar no
+\strikeout off
+\uuline off
+\uwave off
+\noun off
+\color none
+\begin_inset Tabular
+<lyxtabular version="3" rows="10" columns="5">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Pin name
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Switch to input pull up mode
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Value reading
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA 0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA 1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA 2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA 3
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA 4
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA 5
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA 6
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA 7
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+GIOB
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="10" columns="5">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Pin name
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Switch to input pull up mode
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Value reading
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB 0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB 1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB 2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB 3
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB 4
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB 5
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB 6
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB 7
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+NHET1
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="32" columns="5">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Pin name
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Switch to input pull up mode
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Value reading
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 3
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 4
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 5
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 7
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 8
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 9
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 10
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 11
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 12
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 14
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 15
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 16
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 17
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 18
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 19
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 20
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 21
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 22
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 23
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 24
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 25
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 26
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 27
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 28
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 29
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 30
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1 31
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a,3c
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b,3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Analog input
+\end_layout
+
+\begin_layout Subsubsection
+Test goals
+\end_layout
+
+\begin_layout Standard
+Verify that voltage retrieved from ADC1 pins 0-15 is equal to the reference
+ voltage 0V and 5V.
+\end_layout
+
+\begin_layout Subsubsection
+Test procedure
+\end_layout
+
+\begin_layout Standard
+The HDK provides a reference voltages 0V and 5V on ADREFL and ADREFH pin.
+\end_layout
+
+\begin_layout Enumerate
+Connect the board with a computer and configure access to the serial interface
+ like in the test
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Serial-Communication-Interface"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Enumerate
+Run a
+\noun on
+adcwatch
+\noun default
+ command to see a voltages on all ADC1 pins in real time.
+\end_layout
+
+\begin_layout Enumerate
+\begin_inset CommandInset label
+LatexCommand label
+name "enu:Ain-test-procedure-For-all-pins"
+
+\end_inset
+
+For pin X from 0-15 do:
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Connect ADCREFL to AD1INX.
+ Check that the measured voltage is 0V.
+\end_layout
+
+\begin_layout Enumerate
+Connect ADCREFH to AD1INX.
+ Check that the measured voltage is 5V.
+\end_layout
+
+\end_deeper
+\begin_layout Subsubsection
+Results
+\end_layout
+
+\begin_layout Paragraph
+ADC1
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="18" columns="5">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Pin name
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+0V
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+5V
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN3
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN4
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN5
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN6
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN7
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN8
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN9
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN10
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN11
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN12
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN13
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN14
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN15
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+CAN Configuration
+\end_layout
+
+\begin_layout Subsubsection
+Test goals
+\end_layout
+
+\begin_layout Itemize
+Verify an automatic CAN bit timing calculation for bitrates 125k, 250k and
+ 500k,
+\end_layout
+
+\begin_layout Itemize
+Verify a message transmission in a loopback,
+\end_layout
+
+\begin_layout Itemize
+Verify a message reception in a loopback,
+\end_layout
+
+\begin_layout Itemize
+Verify a transmission request pending flag detection,
+\end_layout
+
+\begin_layout Itemize
+Verify overwriting of a current transmission request by calling a consecutive
+ CAN send function,
+\end_layout
+
+\begin_layout Itemize
+Verify a reception indicator reading.
+\end_layout
+
+\begin_layout Subsubsection
+Test procedure
+\end_layout
+
+\begin_layout Standard
+The command processor has a built in test command
+\noun on
+canrpptest
+\noun default
+.
+ This test requires a hardware loopback between CAN1 (J2) and CAN2 (J3)
+ pins.
+ See the command documentation for more details.
+
+\end_layout
+
+\begin_layout Enumerate
+Connect the board with a computer and configure access to the serial interface
+ like in the test
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Serial-Communication-Interface"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Enumerate
+Create external CAN loopback by connecting CAN1 (J2) and CAN2 (J3).
+\end_layout
+
+\begin_layout Enumerate
+Run command
+\noun on
+canrpptest
+\noun default
+ and check that there is OK status for all of its sections.
+\end_layout
+
+\begin_layout Subsubsection
+Results
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="9" columns="3">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Test
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+CAN bit timing calculation 125 kb/sec
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+CAN bit timing calculation 250 kb/sec
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+CAN bit timing calculation 500 kb/sec
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Message reception
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Message transmission
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Transmission request pending detection
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Overwriting older TX request
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Reception indicator detection
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+CAN Transmission
+\end_layout
+
+\begin_layout Subsubsection
+Test goals
+\end_layout
+
+\begin_layout Standard
+Verify a transmission of CAN messages to an external device at speed 125
+ kb/sec, 250 kb/sec and 500 kb/sec.
+\end_layout
+
+\begin_layout Subsubsection
+Test procedure
+\end_layout
+
+\begin_layout Enumerate
+Connect the board with a computer and configure access to the serial interface
+ like in the test
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Serial-Communication-Interface"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Enumerate
+Connect the CAN1 (J2) connector of the HDK to a computer via a USB2CAN converter.
+\end_layout
+
+\begin_layout Enumerate
+For speed X from 125000, 250000 and 500000 do:
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Input
+\noun on
+canbaudrate1:X
+\noun default
+ to the command processor.
+\end_layout
+
+\begin_layout Enumerate
+Input
+\noun on
+caninit
+\noun default
+ to the command processor.
+\end_layout
+
+\begin_layout Enumerate
+In Linux terminal run command sudo ip link set can0 down.
+\end_layout
+
+\begin_layout Enumerate
+In Linux terminal run command sudo ip link set can0 up type can bitrate
+ X.
+\end_layout
+
+\begin_layout Enumerate
+In Linux terminal run command candump can0.
+\end_layout
+
+\begin_layout Enumerate
+Input
+\noun on
+cansend 1 0x1 DEAD BEEF
+\noun default
+ to the command processor.
+\end_layout
+
+\begin_layout Enumerate
+Check that the candump has received this message.
+\end_layout
+
+\begin_layout Enumerate
+Terminate the candump by pressing CTRL+C.
+\end_layout
+
+\end_deeper
+\begin_layout Subsubsection
+Results
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="4" columns="3">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+CAN speed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+125 000
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+250 000
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+500 000
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+CAN Reception
+\end_layout
+
+\begin_layout Subsubsection
+Test goals
+\end_layout
+
+\begin_layout Standard
+Verify a reception of CAN messages transmitted from an external device to
+ the HDK at speed 125 kb/sec, 250 kb/sec and 500 kb/sec.
+\end_layout
+
+\begin_layout Subsubsection
+Test procedure
+\end_layout
+
+\begin_layout Enumerate
+Connect the board with a computer and configure access to the serial interface
+ like in the test
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Serial-Communication-Interface"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Enumerate
+Connect the CAN1 (U2) connector of the HDK to a computer via a USB2CAN converter.
+\end_layout
+
+\begin_layout Enumerate
+For speed X from 125000, 250000 and 500000 do:
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Input
+\noun on
+canbaudrate1 X
+\noun default
+ to the command processor.
+\end_layout
+
+\begin_layout Enumerate
+Input
+\noun on
+caninit
+\noun default
+ to the command processor.
+\end_layout
+
+\begin_layout Enumerate
+Input
+\noun on
+candump 1
+\noun default
+ to the command processor.
+\end_layout
+
+\begin_layout Enumerate
+In Linux terminal run command sudo ip link set can0 down.
+\end_layout
+
+\begin_layout Enumerate
+In Linux terminal run command sudo ip link set can0 up type can bitrate
+ X.
+\end_layout
+
+\begin_layout Enumerate
+In Linux terminal run command cansend can0 00000001#DEADBEEF.
+\end_layout
+
+\begin_layout Enumerate
+Check that the candump has received this message.
+\end_layout
+
+\begin_layout Enumerate
+Terminate the candump by pressing any key.
+\end_layout
+
+\end_deeper
+\begin_layout Subsubsection
+Results
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="4" columns="3">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+CAN speed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+125 000
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+250 000
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+500 000
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L, W
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Newpage newpage
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+Behavioral of the HW controlled by software generated from Matlab Simulink
+ Code generator
+\end_layout
+
+\begin_layout Subsection
+Serial Communication Interface
+\end_layout
+
+\begin_layout Subsubsection
+Test goals
+\end_layout
+
+\begin_layout Itemize
+Verify functionality of Serial Receive block.
+\end_layout
+
+\begin_layout Itemize
+Verify functionality of Serial Send block.
+\end_layout
+
+\begin_layout Itemize
+Verify functionality of Serial Printf block.
+\end_layout
+
+\begin_layout Itemize
+Verify functionality of Serial Configure block.
+\end_layout
+
+\begin_layout Standard
+The verification of Serial interface itself has been done in test
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Serial-Communication-Interface"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Subsubsection
+Test procedure
+\end_layout
+
+\begin_layout Enumerate
+Connect the board with a computer and configure access to the serial interface
+ like in the test
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Serial-Communication-Interface"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Enumerate
+Open, build and download model echo_char.slx.
+\end_layout
+
+\begin_layout Enumerate
+Check that characters you are typing are echoed back.
+\end_layout
+
+\begin_layout Enumerate
+Open a hello_world model, double click on the Serial Configure block and
+ input speed 9600.
+\end_layout
+
+\begin_layout Enumerate
+Reconfigure the access to the serial interface on the computer to speed
+ 9600.
+\end_layout
+
+\begin_layout Enumerate
+Build and download the model to he HDK and check that a message 'Hello Simulink'
+ is printed.
+\end_layout
+
+\begin_layout Subsubsection
+Results
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="5" columns="3">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Test
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Serial Receive
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Serial Send
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+6
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Serial Configure
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+4-6
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Serial Printf
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Digital output
+\end_layout
+
+\begin_layout Subsubsection
+Test goals
+\end_layout
+
+\begin_layout Standard
+Verify functionality of a Digital Output (DOUT) block:
+\end_layout
+
+\begin_layout Itemize
+For GIOA, GIOB, NHET1 ports.
+\end_layout
+
+\begin_layout Itemize
+Output value 0 and 1 after the reset.
+\end_layout
+
+\begin_layout Itemize
+Push/Pull and Open Drain mode.
+\end_layout
+
+\begin_layout Standard
+Only one pin for every port is tested just to verify the block functionality.
+ All pins controlling has been verified in the test
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Digital-output"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Subsubsection
+Test procedure
+\end_layout
+
+\begin_layout Enumerate
+Open model gio_demo.slx.
+\end_layout
+
+\begin_layout Enumerate
+Comment out all DIN blocks.
+\end_layout
+
+\begin_layout Enumerate
+For port PORTNAME in GIOA, GIOB, NHET1 do:
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Double click on all of the Digital Output blocks and change the port to
+ PORTNAME.
+\end_layout
+
+\begin_layout Enumerate
+Build, download and run the model.
+\end_layout
+
+\begin_layout Enumerate
+Connect an oscilloscope to the PORTNAME 4 pin, reset the board and check
+ that the value that appears right after the reset is logical low.
+\end_layout
+
+\begin_layout Enumerate
+Connect the oscilloscope to the PORTNAME 5 pin, reset the board and check
+ that the value that appears right after the reset is logical high.
+\end_layout
+
+\begin_layout Enumerate
+Connect the oscilloscope to the PORTNAME 4 pin and check that the voltage
+ value is switching between 0V and 3.3V.
+\end_layout
+
+\begin_layout Enumerate
+Connect the oscilloscope to the PORTNAME 3 pin and check that the voltage
+ is switching between 0V and some floating voltage between 0-3.3V.
+\end_layout
+
+\end_deeper
+\begin_layout Subsubsection
+Results
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="13" columns="4">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Test
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Port
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Default output value 0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Default output value 1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3d
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3d
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3d
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Push/Pull mode
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3e
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3e
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3e
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Open Drain mode
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3f
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3f
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3f
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Digital input
+\end_layout
+
+\begin_layout Subsubsection
+Test goals
+\end_layout
+
+\begin_layout Standard
+Verify functionality of a Digital Input (DIN) block:
+\end_layout
+
+\begin_layout Itemize
+For GIOA, GIOB, NHET1 ports,
+\end_layout
+
+\begin_layout Itemize
+Tri-state, Pull up, Pull down mode.
+\end_layout
+
+\begin_layout Itemize
+Reading values
+\end_layout
+
+\begin_layout Standard
+Only one pin for every port is tested just to verify the block functionality.
+ All pins controlling has been verified in the test
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Digital-input"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Subsubsection
+Test procedure
+\end_layout
+
+\begin_layout Enumerate
+Connect the board with a computer and configure access to the serial interface
+ like in the test
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Serial-Communication-Interface"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Enumerate
+Open model gio_demo.slx.
+\end_layout
+
+\begin_layout Enumerate
+Comment out blocks Digital Output 1 and 2.
+\end_layout
+
+\begin_layout Enumerate
+For port PORTNAME in GIOA, GIOB, NHET1 do:
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Double click on all of the Digital input blocks and change the port to PORTNAME.
+\end_layout
+
+\begin_layout Enumerate
+Connect the output pin GIOA 4 with an input pin PORTNAME 7 and check that
+ the printed value is changing from 0 to 1.
+\end_layout
+
+\begin_layout Enumerate
+Connect the output pin GIOA 4 with the input pin PORTNAME 6 and check that
+ the printed value is changing from 0 to 1.
+\end_layout
+
+\begin_layout Enumerate
+Disconnect the wire and check that the value of the pin remains 1.
+\end_layout
+
+\begin_layout Enumerate
+Connect the output pin GIOA 4 with the input pin PORTNAME 5 and check that
+ the printed value is changing from 0 to 1.
+\end_layout
+
+\begin_layout Enumerate
+Disconnect the wire and check that the value of the pin remains 0.
+\end_layout
+
+\end_deeper
+\begin_layout Subsubsection
+Results
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="13" columns="4">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Test
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Port
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Tri-state
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Pull-up
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2c, 2d
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2c, 2d
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2c, 2d
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Pull-down
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2e, 2f
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2e, 2f
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2e, 2f
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Reading
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOA
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2b, 2c, 2e
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GIOB
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2b, 2c, 2e
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+NHET1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+2b, 2c, 2e
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Analog input
+\end_layout
+
+\begin_layout Subsubsection
+Test goals
+\end_layout
+
+\begin_layout Standard
+Verify that the Analog Input (AIN) block measures voltage on the selected
+ A1IN pin.
+\end_layout
+
+\begin_layout Subsubsection
+Test procedure
+\end_layout
+
+\begin_layout Enumerate
+Connect the board with a computer and configure access to the serial interface
+ like in the test
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Serial-Communication-Interface"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Enumerate
+Open, build, download and run a model adc_demo.slx.
+\end_layout
+
+\begin_layout Enumerate
+For all A1INX pins do the procedure like in point
+\begin_inset CommandInset ref
+LatexCommand vref
+reference "enu:Ain-test-procedure-For-all-pins"
+
+\end_inset
+
+ and check that the values printed for each pin change between 0 and 4095.
+\end_layout
+
+\begin_layout Subsubsection
+Results
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="18" columns="5">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Pin name
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+0V
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+5V
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN3
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN4
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN5
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN6
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN7
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN8
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN9
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN10
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN11
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN12
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN13
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN14
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+AD1IN15
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+CAN Configuration
+\end_layout
+
+\begin_layout Subsubsection
+Test goals
+\end_layout
+
+\begin_layout Standard
+Verify that the CAN Setup block configures the CAN1 and CAN2 bus with apropriate
+ bit rate 125k, 250k and 500k.
+\end_layout
+
+\begin_layout Subsubsection
+Test procedure
+\end_layout
+
+\begin_layout Enumerate
+Connect the board with a computer and configure access to the serial interface
+ like in the test
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Serial-Communication-Interface"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Enumerate
+Open model can_simple_demo.slx.
+\end_layout
+
+\begin_layout Enumerate
+Connect the CAN1 bus (connector J2) to a computer via a USB2CAN converter.
+\end_layout
+
+\begin_layout Enumerate
+For speed X from 125000, 250000, 500000 do:
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Double click on CAN Setup block and set CANX baudrate to X.
+\end_layout
+
+\begin_layout Enumerate
+In Linux terminal run command sudo ip link set can0 down.
+\end_layout
+
+\begin_layout Enumerate
+In Linux terminal run command sudo ip link set can0 up type can bitrate
+ X.
+\end_layout
+
+\begin_layout Enumerate
+In Linux terminal run command candump can0.
+\end_layout
+
+\begin_layout Enumerate
+Build, download and run the model and check that a CAN message is received
+ in the Linux terminal.
+\end_layout
+
+\begin_layout Enumerate
+Terminate the candump by pressing Ctrl+C.
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Double click on the CAN Transmit block and change module to CAN2.
+\end_layout
+
+\begin_layout Enumerate
+Connect the CAN2 bus (connector J3) to a computer via a USB2CAN converter.
+\end_layout
+
+\begin_layout Enumerate
+Repeat step 4 for CAN2.
+\end_layout
+
+\begin_layout Subsubsection
+Results
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="7" columns="4">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+CAN Bus
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Bit rate
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+CAN 1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+125 000
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+4
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+250 000
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+4
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+500 000
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+4
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+CAN 2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+125 000
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+4-7
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+250 000
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+4-7
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+500 000
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+4-7
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+CAN Transmission
+\end_layout
+
+\begin_layout Subsubsection
+Test goals
+\end_layout
+
+\begin_layout Standard
+Verify the functionality of the CAN Transmit block:
+\end_layout
+
+\begin_layout Itemize
+Module selection CAN1 and CAN2.
+\end_layout
+
+\begin_layout Itemize
+Frame type selection Standart and Extended.
+\end_layout
+
+\begin_layout Itemize
+Message ID configuration:
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Negative values.
+\end_layout
+
+\begin_layout Itemize
+Values higher than allowed for both frame types.
+\end_layout
+
+\begin_layout Itemize
+Two equal values.
+\end_layout
+
+\begin_layout Itemize
+Normal values.
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+Automatic and manual mailbox number configuration:
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Negative values.
+\end_layout
+
+\begin_layout Itemize
+Two equal values.
+\end_layout
+
+\begin_layout Itemize
+High values.
+\end_layout
+
+\begin_layout Itemize
+Normal values.
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+Mixing of automatic and manual mailbox numbering.
+\end_layout
+
+\begin_layout Itemize
+Automatic detection of data type as an input message - uint8, uint16, uint32.
+\end_layout
+
+\begin_layout Itemize
+Support for CAN_MESSAGE data type, generated by CAN Pack block for Raw data
+ and for manually specified signals.
+\end_layout
+
+\begin_layout Subsubsection
+Test procedure
+\end_layout
+
+\begin_layout Enumerate
+Connect the board with a computer and configure access to the serial interface
+ like in the test
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Serial-Communication-Interface"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Enumerate
+Connect the CAN1 (J2) to a computer via a USB2CAN converter.
+\end_layout
+
+\begin_layout Enumerate
+In Linux terminal run command sudo ip link set can0 down.
+\end_layout
+
+\begin_layout Enumerate
+In Linux terminal run command sudo ip link set can0 up type can bitrate
+ 500000.
+\end_layout
+
+\begin_layout Enumerate
+In Linux terminal run command candump can0.
+\end_layout
+
+\begin_layout Enumerate
+Open, build and run model cantransmit.slx.
+ Check that messages with following IDs are received by the candump in the
+ Linux terminal:
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+0x4
+\end_layout
+
+\begin_layout Enumerate
+0x5
+\end_layout
+
+\begin_layout Enumerate
+0x14
+\end_layout
+
+\begin_layout Enumerate
+0x80
+\end_layout
+
+\begin_layout Enumerate
+0x81
+\end_layout
+
+\begin_layout Enumerate
+0x82
+\end_layout
+
+\begin_layout Enumerate
+0x400000
+\end_layout
+
+\begin_layout Enumerate
+0x540000
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Double click on the CAN Transmit 9 block, uncheck the Automatic mailbox
+ number and enter Mailbox number 1, then -1 and finally 150.
+\end_layout
+
+\begin_layout Enumerate
+Try to build the model for every value from the previous step and check
+ if it will not build.
+\end_layout
+
+\begin_layout Enumerate
+Revert changes to the initial state.
+\end_layout
+
+\begin_layout Enumerate
+Double click on the CAN Transmit 9 block and change the message ID to 128.
+\end_layout
+
+\begin_layout Enumerate
+Build, download and run the modela and check that the mesage ID 0x81 does
+ not appear between received messages.
+\end_layout
+
+\begin_layout Enumerate
+Double click on the CAN Transmit 9 block, change the message ID to -1 and
+ then 2050 .
+\end_layout
+
+\begin_layout Enumerate
+Try to build the model for both values and check that it does not go through.
+\end_layout
+
+\begin_layout Enumerate
+Double click on the CAN Transmit 9 block, change the frame type to Extended
+ and change message ID to -1 and then 540000000 .
+\end_layout
+
+\begin_layout Enumerate
+Try to build the model for both values and check that it does not go through.
+\end_layout
+
+\begin_layout Enumerate
+Revert changes to the initial state.
+\end_layout
+
+\begin_layout Enumerate
+Connect the CAN2 (J3) to the computer via the USB2CAN converter.
+\end_layout
+
+\begin_layout Enumerate
+Terminate the candump by pressing ctrl+D.
+\end_layout
+
+\begin_layout Enumerate
+In Linux terminal run command sudo ip link set can0 down.
+\end_layout
+
+\begin_layout Enumerate
+In Linux terminal run command sudo ip link set can0 up type can bitrate
+ 500000.
+\end_layout
+
+\begin_layout Enumerate
+In Linux terminal run command candump can0.
+\end_layout
+
+\begin_layout Enumerate
+Open model cantransmit.slx, double click on CAN Transmit block and change
+ module to CAN2.
+\end_layout
+
+\begin_layout Enumerate
+Build, download and run the model.
+ Check that the message with message ID 0x80 is received by the candump.
+\end_layout
+
+\begin_layout Enumerate
+Terminate the candump by pressing Ctrl+C.
+\end_layout
+
+\begin_layout Subsubsection
+Results
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="20" columns="4">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<row>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Test
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Module selection
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+21-22
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Frame type selection
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Standart
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+6a-6f
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Extended
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+6a,6g,6h
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Message ID
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Negative val
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+12-15
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+High Standart
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+X (2050)
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+12-13
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+High Extended
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+14-15
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Two equal
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+10-11
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Normal
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+6
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Automatic mailbox calculation
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+6d-6h
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Manual mailbox numbering
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Negative values
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+7-8
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+High values
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+7-8
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Two equal
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+7-8
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Normal
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+6
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Mix of manual and automatic mailbox numbering
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+6
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input message data type
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+uint8
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+6d
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+uint16
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+6e
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+uint32
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+6f
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+CAN Pack support
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Raw data
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+6a
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+User defined data
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+6b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+CAN Reception
+\end_layout
+
+\begin_layout Subsubsection
+Test goals
+\end_layout
+
+\begin_layout Standard
+Verify the functionality of the CAN Receive block:
+\end_layout
+
+\begin_layout Itemize
+Module selection CAN1 and CAN2.
+\end_layout
+
+\begin_layout Itemize
+Frame type selection Standart and Extended.
+\end_layout
+
+\begin_layout Itemize
+Message filtering selection.
+\end_layout
+
+\begin_layout Itemize
+Message filtering with ID only.
+\end_layout
+
+\begin_layout Itemize
+Message filtering with message ID and mask.
+\end_layout
+
+\begin_layout Itemize
+Message ID configuration:
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Negative values.
+\end_layout
+
+\begin_layout Itemize
+Values higher than allowed for both frame types.
+\end_layout
+
+\begin_layout Itemize
+Two equal values.
+\end_layout
+
+\begin_layout Itemize
+Normal values.
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+Automatic and manual mailbox number configuration:
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Negative values.
+\end_layout
+
+\begin_layout Itemize
+Two equal values.
+\end_layout
+
+\begin_layout Itemize
+High values.
+\end_layout
+
+\begin_layout Itemize
+Normal values.
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+Mixing of automatic and manual mailbox numbering.
+\end_layout
+
+\begin_layout Itemize
+Output message data type selection.
+\end_layout
+
+\begin_layout Itemize
+Support for CAN_MESSAGE data type, accepted by CAN Unpack block for Raw
+ data and for manually specified signals.
+\end_layout
+
+\begin_layout Subsubsection
+Test procedure
+\end_layout
+
+\begin_layout Enumerate
+Connect the board with a computer and configure access to the serial interface
+ like in the test
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Serial-Communication-Interface"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Enumerate
+Create external loopback between CAN1 (J2) and CAN2 (J3).
+\end_layout
+
+\begin_layout Enumerate
+Open, build and run model cantransmit.slx and check that:
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Message 0xA with data type uint8 is received.
+\end_layout
+
+\begin_layout Enumerate
+Message 0x5A6B with data type uint16 is received.
+\end_layout
+
+\begin_layout Enumerate
+Message 0x5A6B7C8D with data type uint32 is received.
+\end_layout
+
+\begin_layout Enumerate
+8B long message CAN Pack Raw message data with manual mailbox configuration
+ selected (data: 0xAB, 0xAC, 0xAD, 0xAE, 0xAB, 0xAC, 0xAD, 0xAE)
+\end_layout
+
+\begin_layout Enumerate
+3B long message CAN Pack Maually defined message data with manual mailbox
+ configuration selected (data: 0xB4, 0xB5, 0xB6)
+\end_layout
+
+\begin_layout Enumerate
+Messages with ID 0x14 and 0x15 are received in turns as they are filtered
+ with ID mask
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Double click on CAN Receive 1 block, uncheck Automatic mailbox number and
+ configure the Mailbox number to -1, then 5 and finally 150.
+\end_layout
+
+\begin_layout Enumerate
+Try to build the model for every value from the previous step and check
+ that it does not go through.
+\end_layout
+
+\begin_layout Enumerate
+Revert changes to the initial state.
+\end_layout
+
+\begin_layout Enumerate
+Double click on the CAN Receive 1 block, change the message ID to 128.
+\end_layout
+
+\begin_layout Enumerate
+Build, download and run the modela and check that the uint16 message is
+ not received any more.
+\end_layout
+
+\begin_layout Enumerate
+Double click on the CAN Receive 1 block, change the message ID to -1 and
+ then 2050 .
+\end_layout
+
+\begin_layout Enumerate
+Try to build the model for both values and check that it does not go through.
+\end_layout
+
+\begin_layout Enumerate
+Double click on the CAN Receive 1 block, change the frame type to Extended
+ and change message ID to -1 and then 540000000 .
+\end_layout
+
+\begin_layout Enumerate
+Try to build the model for both values and check that it does not go through
+\end_layout
+
+\begin_layout Enumerate
+Revert changes to the initial state.
+\end_layout
+
+\begin_layout Enumerate
+Double click on CAN Transmit block and switch Module to CAN2.
+\end_layout
+
+\begin_layout Enumerate
+Double click on CAN Receive block and switch Module to CAN1.
+\end_layout
+
+\begin_layout Enumerate
+Build, download and run the model and check that the output still matches
+ to the subpoints a-e of the point 3.
+\end_layout
+
+\begin_layout Subsubsection
+Results
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="22" columns="4">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<row>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Test
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Passed
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Covered by
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Module selection
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+14-16
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Frame type selection
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Standard
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a-3d
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Extended
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3e
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Message filtering
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+ID
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a-3d
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+ID & mask
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3f
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Message ID
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Negative value
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+9-12
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+High for standard
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+X
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+9-10
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+High for extended
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+11-12
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Two equal
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+7-8
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Normal
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Manual mailbox
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Negative value
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+4-5
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+High value
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+4-5
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Two equal
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+4-5
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Normal
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3, 7-10
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Mixing automatic and manual mailbox numbering
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3, 7-10
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Automatic mailbox calculation
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3, 7-10
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Output data type selection
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+uint8
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3a
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+uint16
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3b
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+uint32
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3c
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="3" alignment="left" valignment="middle" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+CAN Unpack support
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Raw data
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3d
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multirow="4" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+User defined data
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+L
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+3e
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document