]> rtime.felk.cvut.cz Git - pes-rpp/rpp-simulink.git/blobdiff - doc/rpp_simulink.tex
doc: Update version information in rpp startup message
[pes-rpp/rpp-simulink.git] / doc / rpp_simulink.tex
index 96a8c0f8def655a39ac72d746ee675d53bedcf62..7b572d405ceadc3430857dfd3297022621547ac0 100644 (file)
@@ -10,6 +10,7 @@
 \usepackage{todonotes}
 \usepackage[backend=biber,style=alphabetic,sortcites=true]{biblatex}
 \usepackage{tabularx}
+\usepackage{textcomp}
 \addbibresource{rpp_simulink.bib}
 
 % header
@@ -137,6 +138,7 @@ Michal \textsc{Sojka}\\[\baselineskip]
 
 \section*{Revision history}
 
+{\small
 \noindent\begin{tabularx}{\linewidth}{|l|l|l|X|}
   \rowcolor[gray]{0.9}\hline
   Revision     & Date      & Author(s) & Comments \\ \hline
@@ -165,8 +167,39 @@ Michal \textsc{Sojka}\\[\baselineskip]
            0.5.5 & 2015-08-27 & Sojka, Horn & rpp-lib: HAL merged into DRV
                                               layer, FreeRTOS upgraded to version 8.2.2.
            \\\hline
-\end{tabularx}
 
+           0.6 & 2015-09-03 & Sojka & Multi-rate models can be
+                                      compiled in multi-tasking mode
+                                      (see
+                                      sec.~\ref{sec-singlet-multit-modes}
+                                      and \ref{sec:mult-multi-thre}).
+                                      Added board init block (sec.
+                                      \ref{sec:block:sfunction_hydctr_init.c}).
+                                      Documented halcogen directory in
+                                      sec.~\ref{sec-rpp-lib-subdirectory-content-description}.
+           \\\hline
+
+           0.6a & 2015-09-11 & Sojka & Removed reference of
+                                       Simulink blocks that are not
+                                       part of Eaton distribution.
+           \\\hline
+
+           0.7 & 2015-10-05 & Sojka & Simulink GIO blocks
+                                      (sec.
+                                      \ref{sec:block:sfunction_gio_in.c},
+                                      \ref{sec:block:sfunction_gio_out.c})
+                                      have different parameters and
+                                      support certain SPI5 pins on the
+                                      tms570\_hydctr board. Parameters
+                                      of old GIO blocks are
+                                      automatically transformed to the
+                                      new ones.
+
+                                      Added section \ref{sec:board-init-hydctr}: ``Hydraulics controller
+                                      initialization demo''.
+           \\\hline
+\end{tabularx}
+}
 \tableofcontents
 
 \newpage
@@ -206,10 +239,9 @@ consists of code generation target for Simulink Embedded Coder, a
 low-level run-time C library and a tool for interactive testing of
 hardware and software functionality.
 
-Originally, the RPP project was created for a custom TMS570-based board
-and the port to other platforms such as RM48 HDK and TMS570 HDK
-development kits. Porting to other platforms was done under a contract
-from Eaton Corporation.
+Originally, the RPP project was created for a custom TMS570-based
+board. Subsequently, it was ported to other board such as RM48 HDK and
+TMS570 HDK development kits under a contract from Eaton Corporation.
 
 The document contains step-by-step instructions for installation of
 development tools, information about Simulink Coder configuration,
@@ -304,7 +336,7 @@ upper layers.
 % exclusively on the bottom layer, not on any lower level layer (except for a
 % couple of exceptions).
 \item Each layer should provide a unified layer interface
-  (\texttt{rpp.h}, \texttt{drv.h}, \texttt {hal.h}, \texttt{sys.h} and
+  (\texttt{rpp.h}, \texttt{drv.h}, \texttt{sys.h} and
   \texttt{os.h}), so that higher layers depend on the lower layer's interface
   and not on individual elements from that layer.
 \end{compactitem}
@@ -321,7 +353,7 @@ upper layers.
 As a consequence of this division the source code files and interface files are
 placed in private directories like \texttt{drv/din.h}. With this organization
 user applications only needs to include the top layer interface files (for
-example \texttt{rpp/rpp\_can.h}) to be able to use the selected library API.
+example \texttt{rpp/rpp.h}) to be able to use the selected library API.
 
 The rest of the section provides basic description of each layer.
 
@@ -1365,7 +1397,8 @@ The following are the development guidelines used for developing the RPP API:
 \begin{compactitem}
        \item User documentation should be placed in header files, not in source
 code, and should be Doxygen formatted using autobrief. Documentation for each
-function present is mandatory.
+function present is mandatory and must mention whether the function is
+thread safe or not.
        \item Function declarations in the headers files is for public functions
 only. Do not declare local/static/private functions in the header.
        \item Documentation in source code files should be non-doxygen formatted
@@ -1458,6 +1491,14 @@ This file is used by all applications that need to tun on the RPP
 board, including the Simulink models and test suite. It includes
 instructions for the CGT Linker about target memory layout and where
 to place various code sections.
+
+\item[halcogen/] HalCoGen project files for the supported boards and
+  scripts for automated conversion of HalCoGen-generated files for use
+  in rpp-lib.
+
+  Note: This is work in progress. Currently only ``pinmux'' files for
+  tms570\_hydctr board were produced by the scripts here.
+
 \item[os/] OS layers directory. See
   Section~\ref{sec-operating-system-layer} for more information about
   currently available operating system versions and
@@ -1660,7 +1701,7 @@ target, described in Chapter~\ref{chap-simulink-coder-target}, the
 template for generation of the \texttt{ert\_main.c} file, containing
 the main function, has to be modified to use proper functions for task
 creation, task timing and semaphores. The template is stored in
-\texttt{\repo/rpp/rpp/rpp\_srmain.tlc} file.
+\texttt{\repo/rpp/rpp/rpp\_mrmain.tlc} file.
 
 \chapter{Simulink Coder Target}
 \label{chap-simulink-coder-target}
@@ -2026,6 +2067,7 @@ RPP block library, shown in Figure \ref{fig-block-library}.
 \clearpage
 \input{block_desc.tex}
 
+\newpage
 \section{Compilation}
 \label{sec-simulink-compilation}
 The first step, before any attempt to compile demo or other models, is to compile the S-Functions of the RPP blocks. The S-Functions are compiled during the Configuring Simulink for RPP, described in Section \ref{sec-configuration-simulink-for-rpp}. If you want to recompile the S-Functions without reconfiguring the Simulink, open the Matlab and run those commands in the Matlab commad line:
@@ -2518,7 +2560,25 @@ Interface (115200-8-N-1) when toggled.
        \label{tab:multirate_mt_led_desc}
 \end{center}
 
+\subsection{Hydraulics controller initialization demo}
+\label{sec:board-init-hydctr}
+\begin{figure}[H]
+  \centering
+  \includegraphics[scale=0.45]{images/demo_board_init_hydctr.png}
+  \caption{board\_init\_hydctr demo}
+  \label{fig:board_init_hydctr}
+\end{figure}
+
+\paragraph{Description}
 
+This demo shows how to use the \emph{Board Init} block to initialize
+SPI devices on the Hydraulics Controller board. Additionally, it shows
+how to use unused SPI pins on the MCU as general-purpose IOs. If both
+Board Init and GIO SPI blocks are used together, care must be taken
+about the order in which the blocks are initialized. GIO blocks that
+represent SPI pins must be initialized \emph{after} the Board Init
+block. This can be ensured by giving the GIO blocks higher priority
+than the Board Init block.
 
 \chapter{Command line testing tool}
 \label{chap-rpp-test-software}
@@ -2537,23 +2597,23 @@ The application enables a command processor using the SCI at
 \textbf{115200-8-N-1}. When the software starts, the received welcome message
 and prompt should look like:
 
-
+\bigskip
 \ifx\tgtId\tgtIdTMSRPP
-\begin{verbatim}
-Rapid Prototyping Platform v00.01-001
-Test Software version v0.2-261-gb6361ca
-CTU in Prague 2014
---> 
-\end{verbatim}
+\noindent\texttt{Rapid Prototyping Platform v00.01-001\\
+Test Software version \input{version.tex}\\
+CTU in Prague 2014\\
+-->
+}
 \else
-\begin{verbatim}
-Ti HDK \mcuname, FreeRTOS 7.0.2
-Test Software version eaton-0.1-beta-8-g91419f5
-CTU in Prague 10/2014
---> 
-\end{verbatim}
+\noindent\texttt{Ti HDK \mcuname, FreeRTOS 7.0.2\\
+Test Software version \input{version.tex}\\
+CTU in Prague 10/2014\\
+-->
+}
 \fi
 
+\bigskip
+
 Type in command help for a complete list of available command, or help command
 for a description of concrete command.