diff --git a/doc/doxygen/pdf_refman/RcdMathLib_refman.pdf b/doc/doxygen/pdf_refman/RcdMathLib_refman.pdf index 9d79b68ab48e7ef9e98ddc5b2e504266fb8beef7..0d699e9a0a68d0162328c4735b77fd0a76b2c935 100644 Binary files a/doc/doxygen/pdf_refman/RcdMathLib_refman.pdf and b/doc/doxygen/pdf_refman/RcdMathLib_refman.pdf differ diff --git a/doc/doxygen/src/RcdMathLib.doxyfile b/doc/doxygen/src/RcdMathLib.doxyfile index 98a14103e4933b09b847215c4cb46dc3599515dc..b981eccccbae7fb0d61f894a3a110fb278a8a0e6 100644 --- a/doc/doxygen/src/RcdMathLib.doxyfile +++ b/doc/doxygen/src/RcdMathLib.doxyfile @@ -1938,7 +1938,7 @@ LATEX_EMOJI_DIRECTORY = # readers/editors. # The default value is: NO. -GENERATE_RTF = YES +GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of diff --git a/doc/doxygen/src/creating-an-application.md b/doc/doxygen/src/creating-an-application.md index 0980343e43fed2d585f3768783b6880ee8888ae6..ab9b6344b1b4aec77db94f08847d2af7294dcf99 100644 --- a/doc/doxygen/src/creating-an-application.md +++ b/doc/doxygen/src/creating-an-application.md @@ -1,13 +1,13 @@ -Creating an application {#creating-an-application} -======================= +# Creating an application {#creating-an-application} + \author Zakaria Kasmi [TOC] An application can be created for full-fledged or resource-limited devices. -Creating an application for full-fledged devices {#creating-an-application-full-fledge} -================================================ +# Creating an application for full-fledged devices {#creating-an-application-full-fledge} + We recommend to use the [Eclipse IDE] (https://www.eclipse.org/) for C/C++ Developers for creating own application. The simplest way to write your own application, is to put your *.c and *.h files under the `src` directory. Another way is to create a directory containing the multiple C file(s) with your @@ -17,15 +17,15 @@ button to browse to the header-directory and the select the ''Apply'' and ''OK'' oriented to the main.c and the examples under the src-directory. -Creating an application for resource-limited devices {#creating-an-application-res-lim} -==================================================== +# Creating an application for resource-limited devices {#creating-an-application-res-lim} + To create your own application for a resource limited device you need to create a directory containing one or multiple C file(s) with your source code and a Makefile. An example Makefile is available in the `src` folder of the [RcdMathLib repository] (https://git.imp.fu-berlin.de/zkasmi/my_lib_full_fledged_devices/tree/master/RcdMathLib_app). -The main function {#the-main-function} -================= +# The main function {#the-main-function} + RIOT starts two threads the idle and main threads after the board is initialized. The idle thread has the lowest priority while the main thread has a priority that is in the middle between the lowest and the highest available priorities. The main @@ -53,10 +53,10 @@ int main(void) The above C code shows an application testing the basic operations sub-modules. This application run operations of the vector and matrix sub-modules. -The application's Makefile {#the-applications-makefile} -========================== -The minimal Makefile {#the-minimal-makefile} --------------------- +# The application's Makefile {#the-applications-makefile} + +## The minimal Makefile {#the-minimal-makefile} + At minimum the Makefile of an application (see @ref getting-started) needs to define the following macros: * `APPLICATION`: contains the name of your application @@ -89,8 +89,8 @@ include $(RCDMATHLIB)/Makefile.include include $(RIOTBASE)/Makefile.include ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Including modules {#including-modules} ------------------ +## Including modules {#including-modules} + The modules of the RcdMathLib as well as of the RcdMathLib can be included. In order to use additional modules, such as a particular driver or a system library, the modules' names must be appended to the USEMODULE variable. For example, to build an application using the SHT11 diff --git a/doc/doxygen/src/creating-modules.md b/doc/doxygen/src/creating-modules.md index 42510a8dbc681c7a603f757cdb0b4174347d647f..8982c893f7095d245817d5fb2dd65a757bd1048b 100644 --- a/doc/doxygen/src/creating-modules.md +++ b/doc/doxygen/src/creating-modules.md @@ -1,5 +1,5 @@ -Creating modules {#creating-modules} -================ +# Creating modules {#creating-modules} + \author Zakaria Kasmi @@ -17,8 +17,8 @@ Each main module includes sub-modules, for more details see @note The following chapters concerning only resource-limited devices. -The general structure {#the-general-structure} -===================== +# The general structure {#the-general-structure} + Modules are directories containing source and header files as well as a Makefile. Furthermore, their API can be defined in one or more header files, residing in the include path of their super-module. @@ -47,8 +47,8 @@ specific information to variables like INCLUDES. Modules can be used by adding t `USEMODULE` macro of the application's Makefile. -Module dependencies -=================== +# Module dependencies + The module may depend on other modules to minimize code duplication. These dependencies are defined in `Makefile.dep` with the following syntax: diff --git a/doc/doxygen/src/getting-started.md b/doc/doxygen/src/getting-started.md index 80e5a3d63eb89db6c00674763e6f8926952f0aa3..32f93a4f02265d777549193499053b4a97aa1ceb 100644 --- a/doc/doxygen/src/getting-started.md +++ b/doc/doxygen/src/getting-started.md @@ -1,12 +1,12 @@ -Getting started {#getting-started} -=============== +# Getting started {#getting-started} + \author Zakaria Kasmi [TOC] -Downloading RcdMathLib code {#downloading-RcdMathLib-code} -=========================== +# Downloading RcdMathLib code {#downloading-RcdMathLib-code} + You can obtain the latest RcdMathLib code from our [Github](https://github.com/RIOT-OS/) repository either by [downloading the latest tarball](https://github.com/RIOT-OS/RIOT/releases) or @@ -20,11 +20,11 @@ command: git clone git://github.com/RIOT-OS/RIOT.git ~~~~~~~~ -Compiling RcdMathLib {#compiling-RcdMathLib} -==================== +# Compiling RcdMathLib {#compiling-RcdMathLib} + + +## Setting up a toolchain for full-fledged devices {#setting-up-a-toolchain-full-fledge} -Setting up a toolchain for full-fledged devices {#setting-up-a-toolchain-full-fledge} ------------------------------------------------ RcdMathLib can be run on full-fledged devices such as a Personal Computer (PC) or a server. It can also be executed on the embedded system Raspberry Pi running an Operating System (OS) such as the Raspbian or the Ubuntu Core. For @@ -45,8 +45,8 @@ Environment Variables, e.g. "C:\gcc\bin" </BLOCKQUOTE> -Setting up a toolchain for resource-limited devices {#setting-up-a-toolchain-res-lim} -------------------------------------------------------- +## Setting up a toolchain for resource-limited devices {#setting-up-a-toolchain-res-lim} + Depending on the hardware you want to use, you need to first install a corresponding toolchain. We recommend the use of the [RIOT-OS] (https://riot-os.org/), since it supports 8-bit platforms (e.g. Arduino Mega 2560), 16-bit platforms (e.g. MSP430), and 32-bit @@ -60,8 +60,8 @@ as well as the development of multi-tasking applications in a computer system. T * [Atmel ATmega](https://github.com/RIOT-OS/RIOT/wiki/Family%3A-ATmega) * [native](https://github.com/RIOT-OS/RIOT/wiki/Family:-native) -The build system for full-fledged devices {#the-build-system-full-fledge} ------------------------------------------ +## The build system for full-fledged devices {#the-build-system-full-fledge} + RcdMathLib can be built using the [Eclipse IDE] (https://www.eclipse.org/) for C/C++ Developers. The simplest way to compile and link an application with the RcdMathLib is: Firstly, to download [RcdMathLib_eclipse_version.zip](https://git.imp.fu-berlin.de/zkasmi/test_my_lib/blob/master/RcdMathLib_eclipse_version.zip) file or to clone it: @@ -172,8 +172,8 @@ Please visit the [Wiki](https://github.com/RIOT-OS/RIOT/wiki/The-Make-Build-Syst about the build system of the RIOT. -Building and executing an example for resource-limited devices {#building-and-executing-an-example-res-lim} --------------------------------------------------------------- +## Building and executing an example for resource-limited devices {#building-and-executing-an-example-res-lim} + RcdMathLib provides a number of examples in the `examples/` directory. Every example has a README that documents its usage and its purpose. Furthermore the examples are described in the doc-directory. You can build your own application or the examples by typing diff --git a/doc/doxygen/src/mainpage.md b/doc/doxygen/src/mainpage.md index 8a5afbd1f35e4d9ea6953b13f0169e9a5c846df1..0e33c232b0684cae1b6b3a968c3b97153ca96fad 100644 --- a/doc/doxygen/src/mainpage.md +++ b/doc/doxygen/src/mainpage.md @@ -1,11 +1,11 @@ -RcdMathLib Documentation {#mainpage} -======================== +# RcdMathLib Documentation {#mainpage} + \author Zakaria Kasmi [TOC] -RcdMathLib in a nutshell {#RcdMathLib-in-a-nutshell} -======================== +# RcdMathLib in a nutshell {#RcdMathLib-in-a-nutshell} + RcdMathLib is an open-source library for numerical linear and non-linear algebra designed to match the requirements of resource-limited or embedded devices. RcdMathLib supports solving linear and non-linear equation systems. @@ -14,16 +14,16 @@ solving problems of regression smoothing and curve fitting. It also allows for calculating as well as optimizing a position on a mobile device. -Download and use RcdMathLib {#download-use-RcdMathLib} -=========================== +# Download and use RcdMathLib {#download-use-RcdMathLib} + The simplest way to use the RcdMathLib for resource-limited devices is to download the Elipse project (TODO). The following Eclipse project enables also the RcdMathLib for full-fledged platforms (TODO). -The quickest start {#the-quickest-start} -================== +# The quickest start {#the-quickest-start} + You can run RcdMathLib on most resource-limited such as the STM32 Discovery board as well as on a PC. Try it right now in your terminal window: @@ -37,8 +37,8 @@ make all The example above shows how to use the basic operations of the RcdMathLib such as the vector or the matrix operations. -Structure {#structure} -========= +# Structure {#structure} + This section walks you through RcdMathLib's structure to easily find your way around in RcdMathLib's code base. @@ -63,8 +63,8 @@ directory. The following list gives a more detailed description of each of RcdMathLib's top-level directories: -Linear Algebra --------------- +## Linear Algebra + This directory contains functions that are specific to vector and matrix operations, and other algebraic operations. It provides functions to perform basic matrix operations such as matrix addition, multiplication, or transposition. It also provides algorithms for complex @@ -80,8 +80,8 @@ divided in the following sub-modules: See @ref linear_algebra module for further information and API documentations. -Non-Linear Algebra ------------------- +## Non-Linear Algebra + The non-linear algebra module contains functions to solve multi-variant nonlinear equations as wells algorithms solving problems of regression smoothing and curve fitting. This module also enables enables the optimization of an approximate solution @@ -94,8 +94,8 @@ divided in the two following sub-modules: See here @ref non_linear_algebra module for further information. -Localization ------------- +## Localization + The localization module contains functions to compute a position of a mobile device using distance measurements or DC-pulsed, magnetic signals. This module also includes optimization algorithms such as the Levenberg--Marquardt approach to optimize the @@ -115,8 +115,8 @@ localted in the `optimization` sub-directory providing the following optimizatio See the @ref localization module for more detailed information. -examples --------- +## examples + Here you find a number of example applications that demonstrate certain features of RcdMathLib. The examples found in this directory is a good starting point for anyone who is new to RcdMathLib. @@ -127,29 +127,16 @@ For more information best browse that directory and have a look at the To create your own application - here or anywhere else - see @ref creating-an-application -doc ---- +## doc + The `doc` directory contains the doxygen configuration and also contains the compiled doxygen output after running `make doc`. -Further information {#further-information} -=================== +# Further information {#further-information} + - @ref getting-started - @ref creating-an-application - @ref creating-modules -<!-- -Idea for this section: just name each of RIOT's main features/concepts and link -to an appropriate page with further information: - - Create an application - - Networking - - The `main()` function - - Make system - - Include modules - - Threading - - Choose the right stack size - - IPC - - Auto initialization --->