%S = Table of contents =[table_of_contents]
+%DONE
+
%Table of contents
%%toc
= Introduction =[introduction]
+%DONE
+
This document describes the final results of the project ``Code generation for automotive rapid prototyping
platform using Matlab/Simulink".
The general layout of this document is as follows:
-- Project description, objetives and outcome. This section.
+- Project description, objectives and outcome. This section.
- Software and Hardware setup for development and repository layout.
- Extensive description for each of the four products delivered.
- Glossary.
%DONE
-Back in the beginning of 2012 a leading automotive company requested the Czech Technical University
-to develop a Engine Control Unit (ECU) for automotive applications. Real-Time Systems group at the
-Department of Control Engineering from the Faculty of Electrical Engineering developed a hardware and
-Software platform to the needs of this industry. The hardware uses Texas Instruments TMS570LS3137 CPU
-and has was built with automotive standards and interfaces in mind. It uses a real-time operating
-system and was directly programmed in C.
+Back in the beginning of 2012 a leading automotive company requested the Czech Technical University to
+develop a Engine Control Unit (ECU) for automotive applications. Real-Time Systems group at the Department
+of Control Engineering from the Faculty of Electrical Engineering developed a hardware and Software
+platform to the needs of this industry. The hardware uses Texas Instruments TMS570LS3137 CPU and has was
+built with automotive standards and interfaces in mind. It uses a real-time operating system and was
+directly programmed in C.
Nevertheless, in accordance to company policies the Software developed for the engine control unit must be
designed in a safe and auditable way. The company has the policy to implement the Software for their
== Final outcome ==[final_outcome]
+%DONE
+
The main products generated for this project are:
- Simulink RPP Target.
= Project setup =[project_setup]
-This sections describes the Software and Hardware setup for development. It also describes the layout of the project
-repository.
+%DONE
+
+This sections describes the Software and Hardware setup for development. It also describes the layout of the
+project repository.
== Development environment ==[development_environment]
+%DONE
+
This section describes the Software setup for development.
=== Operating system ===[operating_system]
-This project was developed on a GNU/Linux operating system. For development it is recommended to use a Debian based
-operating system for development as most of the tools are easily available from repositories. Relevant OS information
-is:
+%DONE
+
+This project was developed on a GNU/Linux operating system. For development it is recommended to use a
+Debian based operating system for development as most of the tools are easily available from repositories.
+Relevant OS information is:
- Ubuntu 12.04.2 LTS AMD64.
- Kernel 3.2.0-48-generic.
- GCC version 4.6.3.
-No test for cross-platform interoperability was performed on the code developed. Although care was taken to try to
-provide platform independent code and tools this are the elements that are know to be Linux dependent:
+No test for cross-platform interoperability was performed on the code developed. Although care was taken
+to try to provide platform independent code and tools this are the elements that are know to be Linux
+dependent:
- LCM1 hardware control tool. @@
This tool is both GUI and command line capable, the following just affects the GUI part.
Command line should be usable under Windows systems. @@
- __Cause__: Serial port search algorithm is Linux dependent and Gtk 3.0 dynamic Python bindings aren't available on
- Windows operating systems.
+ __Cause__: Serial port search algorithm is Linux dependent and Gtk 3.0 dynamic Python bindings are not
+ available on Windows operating systems.
- TI CGT support file for RPP Simulink Target ``target_tools.mk``. @@
__Cause__: Use UNIX path separator ``/``.
- Simulink RPP Target download script ``rpp_download.m``. @@
=== Version Control System ===[version_control_system]
-The version control system used for this project is **git**. The repository of this project
-contains all the files produced during development, including documentation, references, code and
-graphics. Also the GUI application **gitk** was used to easily review changes. To install both
-execute on a terminal:
+%DONE
+
+The version control system used for this project is **git**. The repository of this project contains all
+the files produced during development, including documentation, references, code and graphics. Also the
+GUI application **gitk** was used to easily review changes. To install both execute on a terminal:
{{{ bash
sudo apt-get install git gitk
=== TI Code Composer Studio ===[ti_code_composer_studio]
+%DONE
+
Code Composer Studio (CCS) is the official Integrated Development Environment (IDE) for developing
applications for Texas Instruments embedded processors. CCS is multiplatform Software based on Eclipse
Open Source IDE.
=== Matlab/Simulink ===[matlabsimulink]
+%DONE
+Matlab/Simulink version used is R2012b for Linux 64 bits. The CVUT should provide a license and a network
+licensing server descriptor file.
=== GtkTerm ===[gtkterm]
+%DONE
+
+Most of the interaction with the board for development is done through a RS-232 serial connection.
+The terminal Software used for communication is called GtkTerm.
+
+The default configuration for the board serial communication module is 9600-8-N-1. Note that the RPP
+Library test suite is setup to 115200-8-N-1.
+
+To install GtkTerm execute:
{{{ bash
sudo apt-get install gtkterm
}}}
+
=== Doxygen ===[doxygen]
+%DONE
+
+Doxygen is the name of the documentation generator used to generate the RPP API documentation based on the
+source code files. The generated API include dependency graphs and thus it also requires Graphviz, a graph
+drawing tool. To install both execute:
{{{ bash
sudo apt-get install doxygen graphviz
}}}
+See [API generation #api_generation] on how to use Doxygen to generate the API Reference documentation.
+
+NEWPAGE
+
=== Nested ===[nested]
+%DONE
+Nested is the documentation editor used to create the document you're reading. It features a plain text
+version control friendly simple to read non-cluttered format, WYSIWYM paradigm, divide and conquer document
+creation approach, a nested (non-linear) document tree and content/presentation separation scheme and thus
+documents can be published to LaTeX, PDF or HTML. Nested is a tool created by the author of this report.
-Install dependencies:
+To install Nested first install dependencies:
{{{ bash
sudo apt-get install python2.7 python-gtk2 python-webkit python-gtkspellcheck texlive-publishers texlive texlive-latex-extra rubber iso-codes subversion
./nested
}}}
+Nested sources for this document can be found on the repository under ``<repo>/doc/reports/report/``.
+
=== LMC1 ===[lmc1]
+%DONE
+
+The LMC1 is a simple script developed for this project written in Python 3 using Gtk+ 3.0 Python dynamic
+bindings PyGObject. This script, based on Michal Horn command line only script, allows to set or clera the
+outputs of the test board.
+
+This script includes both a GUI and command line tool. If no parameters are given to the script the GUI
+version is launched:
+
+%tex% ''' \begin{figure}[H]\begin{center}
+[400-lmc1.png]
+%tex% ''' \caption{LMC1 GUI application.}\end{center}\end{figure}
+
+To run the LMC1 application first install dependencies:
{{{ bash
apt-get install python3 python3-gi python3-serial
}}}
+To launch LMC1 GUI version double click file:
+
+``<repo>/rpp/lib/apps/lmc1/lmc1.py``
+
+To launch LMC1 command line version type:
+
+``<repo>/rpp/lib/apps/lmc1/lmc1.py --help``
+
+
+NEWPAGE
+
== Hardware configuration ==[hardware_configuration]
Photo of the board