]> rtime.felk.cvut.cz Git - jenkicar/rpp-simulink.git/commitdiff
Merge branch 'maint-rm48' into rm48/master
authorMichal Sojka <sojkam1@fel.cvut.cz>
Thu, 4 Dec 2014 00:50:17 +0000 (01:50 +0100)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Thu, 4 Dec 2014 00:50:17 +0000 (01:50 +0100)
67 files changed:
.gitmodules
doc/images/logo_ctu.pdf [new file with mode: 0644]
doc/images/logos.png [deleted file]
doc/images/logos.svg [deleted file]
doc/rpp_simulink.tex
doc/test-sw
rpp/blocks/Makefile
rpp/blocks/rpp_lib.slx
rpp/blocks/sfunction_ain.c
rpp/blocks/sfunction_aout.c [deleted file]
rpp/blocks/sfunction_din.c
rpp/blocks/sfunction_dinc.c [deleted file]
rpp/blocks/sfunction_dout.c [new file with mode: 0644]
rpp/blocks/sfunction_frayconfig.c [deleted file]
rpp/blocks/sfunction_frayreceive.c [deleted file]
rpp/blocks/sfunction_fraysbc.c [deleted file]
rpp/blocks/sfunction_fraytransmit.c [deleted file]
rpp/blocks/sfunction_hbr.c [deleted file]
rpp/blocks/sfunction_irc.c [deleted file]
rpp/blocks/sfunction_lout.c [deleted file]
rpp/blocks/sfunction_mout.c [deleted file]
rpp/blocks/sfunction_sdrw.c [deleted file]
rpp/blocks/tlc_c/common.tlc
rpp/blocks/tlc_c/sfunction_aout.tlc [deleted file]
rpp/blocks/tlc_c/sfunction_din.tlc
rpp/blocks/tlc_c/sfunction_dinc.tlc [deleted file]
rpp/blocks/tlc_c/sfunction_dout.tlc [new file with mode: 0644]
rpp/blocks/tlc_c/sfunction_frayconfig.tlc [deleted file]
rpp/blocks/tlc_c/sfunction_frayreceive.tlc [deleted file]
rpp/blocks/tlc_c/sfunction_fraysbc.tlc [deleted file]
rpp/blocks/tlc_c/sfunction_fraytransmit.tlc [deleted file]
rpp/blocks/tlc_c/sfunction_hbr.tlc [deleted file]
rpp/blocks/tlc_c/sfunction_irc.tlc [deleted file]
rpp/blocks/tlc_c/sfunction_lout.tlc [deleted file]
rpp/blocks/tlc_c/sfunction_mout.tlc [deleted file]
rpp/blocks/tlc_c/sfunction_sdrw.tlc [deleted file]
rpp/demos/Makefile
rpp/demos/adc_demo.slx [new file with mode: 0644]
rpp/demos/analog_passthrough.slx [deleted file]
rpp/demos/analog_sinewave.slx [deleted file]
rpp/demos/can_demo.slx [deleted file]
rpp/demos/can_ext_mode_demo.slx
rpp/demos/can_simple_demo.slx [new file with mode: 0644]
rpp/demos/cantransmit.slx
rpp/demos/demo_board.slx [deleted file]
rpp/demos/digital_passthrough.slx [deleted file]
rpp/demos/echo_char.slx
rpp/demos/fray_basic_demo.slx [deleted file]
rpp/demos/fray_motor_demo.slx [deleted file]
rpp/demos/gio_demo.slx [new file with mode: 0644]
rpp/demos/hbridge_analog_control.slx [deleted file]
rpp/demos/hbridge_digital_control.slx [deleted file]
rpp/demos/hbridge_sinewave_control.slx [deleted file]
rpp/demos/hello_world.slx
rpp/demos/irc_input.slx [deleted file]
rpp/demos/led_blink.slx [deleted file]
rpp/demos/led_blink_all.slx [deleted file]
rpp/demos/log_analog_input.slx [deleted file]
rpp/demos/power_toggle.slx [deleted file]
rpp/demos/three_phase_freq.slx [deleted file]
rpp/lib
rpp/rpp/rpp_srmain.tlc
rpp/rpp/target_tools.mk
tests/.latexmkrc [new file with mode: 0644]
tests/Makefile [new file with mode: 0644]
tests/functional_tests.lyx [new file with mode: 0644]
tests/images/logo_ctu.pdf [new file with mode: 0644]

index 76ea2da0c202200cd7e2c30d5784c107db98f635..7cf0ad863961b8e92907aa9375d44388497fa589 100644 (file)
@@ -2,8 +2,10 @@
        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
diff --git a/doc/images/logo_ctu.pdf b/doc/images/logo_ctu.pdf
new file mode 100644 (file)
index 0000000..1ffa835
Binary files /dev/null and b/doc/images/logo_ctu.pdf differ
diff --git a/doc/images/logos.png b/doc/images/logos.png
deleted file mode 100644 (file)
index 4da03d4..0000000
Binary files a/doc/images/logos.png and /dev/null differ
diff --git a/doc/images/logos.svg b/doc/images/logos.svg
deleted file mode 100644 (file)
index 3fb0638..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-<?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>
index dd630bf716cf3ebd9192d196b483107a718efaf8..83bac05a96262ac02d07aa66bf9fd9241b43e9ec 100644 (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]
+{ \huge \bfseries Simulink code generation target for Texas~Instruments  RM48 platform}\\[0.4cm]
 \HRule \\[1.5cm]
 
 
index bdd760ed69d55dc4fc4acf7e8fff12aed7b60f6d..4e5acc1e1d8e3d3a0ebc4f5babd915e1b0ff6484 160000 (submodule)
@@ -1 +1 @@
-Subproject commit bdd760ed69d55dc4fc4acf7e8fff12aed7b60f6d
+Subproject commit 4e5acc1e1d8e3d3a0ebc4f5babd915e1b0ff6484
index a55e1134346310691ee17f13197e7407c8247e65..e92fbce6c2edc24a3cd7a1a419f2cf6f77ef7d14 100644 (file)
@@ -1,3 +1,17 @@
+# 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)
index 72e17394d0650d2fea9a592e143b6beb12a78675..af7ad6a801798d08b342712d8c8371db7c7784cd 100644 (file)
Binary files a/rpp/blocks/rpp_lib.slx and b/rpp/blocks/rpp_lib.slx differ
index 2ea4b83abe49ff718327af30bbeabce0be95070a..bde45f39d2249d6aea9338cf889a4737b28699c9 100644 (file)
@@ -35,7 +35,7 @@ Outputs:
   - { 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: |
@@ -80,7 +80,7 @@ static void mdlInitializeSizes(SimStruct *S)
 {
     /*
      * Configure parameters: 1
-     *  - Pin number: [1-12]
+     *  - Pin number: [1-16]
      */
     if (!rppSetNumParams(S, 1)) {
         return;
@@ -114,7 +114,7 @@ static void mdlInitializeSizes(SimStruct *S)
 static void mdlCheckParameters(SimStruct *S)
 {
     /* Check the parameter 1 */
-    if (!rppValidParamRange(S, 0, 1, 12)) {
+    if (!rppValidParamRange(S, 0, 1, 16)) {
         return;
     }
 }
diff --git a/rpp/blocks/sfunction_aout.c b/rpp/blocks/sfunction_aout.c
deleted file mode 100644 (file)
index 7aba23c..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-/* 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"
index 8a0a90c03d0eb90dc1a25df2a8d02ed76d9463a1..aea180044ebc994596ea3f6c8ed710d25cba6e10 100644 (file)
@@ -8,9 +8,9 @@
  * 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);
 }
 
 
@@ -119,25 +123,24 @@ static void mdlInitializeSizes(SimStruct *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
 
@@ -146,22 +149,14 @@ static void mdlCheckParameters(SimStruct *S)
 #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
 
diff --git a/rpp/blocks/sfunction_dinc.c b/rpp/blocks/sfunction_dinc.c
deleted file mode 100644 (file)
index 0e0da1f..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-/* 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"
diff --git a/rpp/blocks/sfunction_dout.c b/rpp/blocks/sfunction_dout.c
new file mode 100644 (file)
index 0000000..354501f
--- /dev/null
@@ -0,0 +1,181 @@
+/* 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"
diff --git a/rpp/blocks/sfunction_frayconfig.c b/rpp/blocks/sfunction_frayconfig.c
deleted file mode 100644 (file)
index 43ac04b..0000000
+++ /dev/null
@@ -1,277 +0,0 @@
-/* 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"
diff --git a/rpp/blocks/sfunction_frayreceive.c b/rpp/blocks/sfunction_frayreceive.c
deleted file mode 100644 (file)
index 81d7f4b..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-/* 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"
diff --git a/rpp/blocks/sfunction_fraysbc.c b/rpp/blocks/sfunction_fraysbc.c
deleted file mode 100644 (file)
index 2dd0d83..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-/* 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"
diff --git a/rpp/blocks/sfunction_fraytransmit.c b/rpp/blocks/sfunction_fraytransmit.c
deleted file mode 100644 (file)
index b752533..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-/* 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"
diff --git a/rpp/blocks/sfunction_hbr.c b/rpp/blocks/sfunction_hbr.c
deleted file mode 100644 (file)
index e19889e..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-/* 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"
diff --git a/rpp/blocks/sfunction_irc.c b/rpp/blocks/sfunction_irc.c
deleted file mode 100644 (file)
index 3b305ed..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-/* 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"
diff --git a/rpp/blocks/sfunction_lout.c b/rpp/blocks/sfunction_lout.c
deleted file mode 100644 (file)
index ef5bf7a..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-/* 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"
diff --git a/rpp/blocks/sfunction_mout.c b/rpp/blocks/sfunction_mout.c
deleted file mode 100644 (file)
index 8ffbbbb..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-/* 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"
diff --git a/rpp/blocks/sfunction_sdrw.c b/rpp/blocks/sfunction_sdrw.c
deleted file mode 100644 (file)
index 7ac5fc2..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-/* 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"
index 3c0358c3d5b92d3e8de37ecdd322c65bac65c503..c3220b953573d4d4c7392387307453e2116e7e30 100644 (file)
@@ -1,13 +1,12 @@
-%% 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:
@@ -18,7 +17,6 @@
 %% 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
 
diff --git a/rpp/blocks/tlc_c/sfunction_aout.tlc b/rpp/blocks/tlc_c/sfunction_aout.tlc
deleted file mode 100644 (file)
index c7454a2..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-%% 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]
index 0cdf2caf22a72b3624ac7425dac905291cc11767..04dd10a4fd2aeeb10f6deb7b90012ea3f14e29ec 100644 (file)
@@ -1,7 +1,8 @@
-%% 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
 
diff --git a/rpp/blocks/tlc_c/sfunction_dinc.tlc b/rpp/blocks/tlc_c/sfunction_dinc.tlc
deleted file mode 100644 (file)
index 675600b..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-%% 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]
diff --git a/rpp/blocks/tlc_c/sfunction_dout.tlc b/rpp/blocks/tlc_c/sfunction_dout.tlc
new file mode 100644 (file)
index 0000000..27b95b8
--- /dev/null
@@ -0,0 +1,112 @@
+%% 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]
diff --git a/rpp/blocks/tlc_c/sfunction_frayconfig.tlc b/rpp/blocks/tlc_c/sfunction_frayconfig.tlc
deleted file mode 100644 (file)
index c2577d4..0000000
+++ /dev/null
@@ -1,196 +0,0 @@
-%% 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]
diff --git a/rpp/blocks/tlc_c/sfunction_frayreceive.tlc b/rpp/blocks/tlc_c/sfunction_frayreceive.tlc
deleted file mode 100644 (file)
index 7ce2490..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-%% 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]
diff --git a/rpp/blocks/tlc_c/sfunction_fraysbc.tlc b/rpp/blocks/tlc_c/sfunction_fraysbc.tlc
deleted file mode 100644 (file)
index 3abd0ab..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-%% 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]
diff --git a/rpp/blocks/tlc_c/sfunction_fraytransmit.tlc b/rpp/blocks/tlc_c/sfunction_fraytransmit.tlc
deleted file mode 100644 (file)
index 4c0fbdd..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-%% 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]
diff --git a/rpp/blocks/tlc_c/sfunction_hbr.tlc b/rpp/blocks/tlc_c/sfunction_hbr.tlc
deleted file mode 100644 (file)
index bf02999..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-%% 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]
diff --git a/rpp/blocks/tlc_c/sfunction_irc.tlc b/rpp/blocks/tlc_c/sfunction_irc.tlc
deleted file mode 100644 (file)
index ec22e8d..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-%% 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]
diff --git a/rpp/blocks/tlc_c/sfunction_lout.tlc b/rpp/blocks/tlc_c/sfunction_lout.tlc
deleted file mode 100644 (file)
index 204bef9..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-%% 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]
diff --git a/rpp/blocks/tlc_c/sfunction_mout.tlc b/rpp/blocks/tlc_c/sfunction_mout.tlc
deleted file mode 100644 (file)
index 2a15cac..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-%% 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]
diff --git a/rpp/blocks/tlc_c/sfunction_sdrw.tlc b/rpp/blocks/tlc_c/sfunction_sdrw.tlc
deleted file mode 100644 (file)
index 7b9c562..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-%% 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]
index c54e02777a45c25b3f503af5d4a2df1c6a7aafe2..d15c79d6caebcf94de6aff068402a99559a3f5b7 100644 (file)
@@ -1,3 +1,17 @@
+# 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)
 
diff --git a/rpp/demos/adc_demo.slx b/rpp/demos/adc_demo.slx
new file mode 100644 (file)
index 0000000..471cc1a
Binary files /dev/null and b/rpp/demos/adc_demo.slx differ
diff --git a/rpp/demos/analog_passthrough.slx b/rpp/demos/analog_passthrough.slx
deleted file mode 100644 (file)
index b5a9922..0000000
Binary files a/rpp/demos/analog_passthrough.slx and /dev/null differ
diff --git a/rpp/demos/analog_sinewave.slx b/rpp/demos/analog_sinewave.slx
deleted file mode 100644 (file)
index 555aa96..0000000
Binary files a/rpp/demos/analog_sinewave.slx and /dev/null differ
diff --git a/rpp/demos/can_demo.slx b/rpp/demos/can_demo.slx
deleted file mode 100644 (file)
index 20e391b..0000000
Binary files a/rpp/demos/can_demo.slx and /dev/null differ
index bbb6b4dbe6612172b4d47f6d5b4871ec55e1678f..0432c705165a0638d4819c44a4851a4dd4c4bcf1 100644 (file)
Binary files a/rpp/demos/can_ext_mode_demo.slx and b/rpp/demos/can_ext_mode_demo.slx differ
diff --git a/rpp/demos/can_simple_demo.slx b/rpp/demos/can_simple_demo.slx
new file mode 100644 (file)
index 0000000..4192657
Binary files /dev/null and b/rpp/demos/can_simple_demo.slx differ
index 23e86e4fbb1759af1776dce0da3cfb557d31a4f3..71532f70bf96f456c47934c44e2346dd123c5ee1 100644 (file)
Binary files a/rpp/demos/cantransmit.slx and b/rpp/demos/cantransmit.slx differ
diff --git a/rpp/demos/demo_board.slx b/rpp/demos/demo_board.slx
deleted file mode 100644 (file)
index 4d527ce..0000000
Binary files a/rpp/demos/demo_board.slx and /dev/null differ
diff --git a/rpp/demos/digital_passthrough.slx b/rpp/demos/digital_passthrough.slx
deleted file mode 100644 (file)
index 73d2498..0000000
Binary files a/rpp/demos/digital_passthrough.slx and /dev/null differ
index f6ee95ebb5146f6ab1e6e2bbdaf0b6c1d65c1b70..8100b9ec77dcacfc88cd399fb4ea128633220c2b 100644 (file)
Binary files a/rpp/demos/echo_char.slx and b/rpp/demos/echo_char.slx differ
diff --git a/rpp/demos/fray_basic_demo.slx b/rpp/demos/fray_basic_demo.slx
deleted file mode 100644 (file)
index 5e37355..0000000
Binary files a/rpp/demos/fray_basic_demo.slx and /dev/null differ
diff --git a/rpp/demos/fray_motor_demo.slx b/rpp/demos/fray_motor_demo.slx
deleted file mode 100644 (file)
index 2b5c81a..0000000
Binary files a/rpp/demos/fray_motor_demo.slx and /dev/null differ
diff --git a/rpp/demos/gio_demo.slx b/rpp/demos/gio_demo.slx
new file mode 100644 (file)
index 0000000..9929220
Binary files /dev/null and b/rpp/demos/gio_demo.slx differ
diff --git a/rpp/demos/hbridge_analog_control.slx b/rpp/demos/hbridge_analog_control.slx
deleted file mode 100644 (file)
index d860f2a..0000000
Binary files a/rpp/demos/hbridge_analog_control.slx and /dev/null differ
diff --git a/rpp/demos/hbridge_digital_control.slx b/rpp/demos/hbridge_digital_control.slx
deleted file mode 100644 (file)
index 4b698b0..0000000
Binary files a/rpp/demos/hbridge_digital_control.slx and /dev/null differ
diff --git a/rpp/demos/hbridge_sinewave_control.slx b/rpp/demos/hbridge_sinewave_control.slx
deleted file mode 100644 (file)
index 23fca6c..0000000
Binary files a/rpp/demos/hbridge_sinewave_control.slx and /dev/null differ
index 34100c7cf45d88c2abb85f23d9814be2f5c02dd7..cca105a94c5f42fdbbd45e7ac08f79bea3eae171 100644 (file)
Binary files a/rpp/demos/hello_world.slx and b/rpp/demos/hello_world.slx differ
diff --git a/rpp/demos/irc_input.slx b/rpp/demos/irc_input.slx
deleted file mode 100644 (file)
index 8093fde..0000000
Binary files a/rpp/demos/irc_input.slx and /dev/null differ
diff --git a/rpp/demos/led_blink.slx b/rpp/demos/led_blink.slx
deleted file mode 100644 (file)
index 0d6d57a..0000000
Binary files a/rpp/demos/led_blink.slx and /dev/null differ
diff --git a/rpp/demos/led_blink_all.slx b/rpp/demos/led_blink_all.slx
deleted file mode 100644 (file)
index 53e6450..0000000
Binary files a/rpp/demos/led_blink_all.slx and /dev/null differ
diff --git a/rpp/demos/log_analog_input.slx b/rpp/demos/log_analog_input.slx
deleted file mode 100644 (file)
index 83815e4..0000000
Binary files a/rpp/demos/log_analog_input.slx and /dev/null differ
diff --git a/rpp/demos/power_toggle.slx b/rpp/demos/power_toggle.slx
deleted file mode 100644 (file)
index 4c50869..0000000
Binary files a/rpp/demos/power_toggle.slx and /dev/null differ
diff --git a/rpp/demos/three_phase_freq.slx b/rpp/demos/three_phase_freq.slx
deleted file mode 100644 (file)
index 8ffe614..0000000
Binary files a/rpp/demos/three_phase_freq.slx and /dev/null differ
diff --git a/rpp/lib b/rpp/lib
index b446fb76462cbf0d15f7a26d078613635d9d8ffd..0a7353c1aaab68397943c876a48fc949d56d0621 160000 (submodule)
--- a/rpp/lib
+++ b/rpp/lib
@@ -1 +1 @@
-Subproject commit b446fb76462cbf0d15f7a26d078613635d9d8ffd
+Subproject commit 0a7353c1aaab68397943c876a48fc949d56d0621
index aebd2c38e2cfc92a1b40b05500448dd51db0a8da..93051f608c315d146619f7d0fefc5955c6d7cb85 100644 (file)
     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);
index a8772896d527d632db4d39a7f601cd06bebffd72..532887d35849f5d19069844365b531f43560285e 100644 (file)
@@ -33,7 +33,7 @@ TARGET_SRCS      =
 
 # 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                     \
@@ -61,7 +61,7 @@ CXXDEBUG         =
 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                            \
@@ -69,7 +69,7 @@ LDFLAGS = -mv7R4 --code_state=32 --float_support=VFPv3D16 --abi=eabi    \
           --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
 
diff --git a/tests/.latexmkrc b/tests/.latexmkrc
new file mode 100644 (file)
index 0000000..91e4f67
--- /dev/null
@@ -0,0 +1,5 @@
+$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;
diff --git a/tests/Makefile b/tests/Makefile
new file mode 100644 (file)
index 0000000..3eada84
--- /dev/null
@@ -0,0 +1,21 @@
+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_// > $@
diff --git a/tests/functional_tests.lyx b/tests/functional_tests.lyx
new file mode 100644 (file)
index 0000000..400c33b
--- /dev/null
@@ -0,0 +1,13583 @@
+#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
diff --git a/tests/images/logo_ctu.pdf b/tests/images/logo_ctu.pdf
new file mode 100644 (file)
index 0000000..1ffa835
Binary files /dev/null and b/tests/images/logo_ctu.pdf differ