From 4bb27d92794e557f79b420c08c8e8d42f2637c62 Mon Sep 17 00:00:00 2001
From: Loic Guegan <manzerbredes@mailbox.org>
Date: Tue, 13 Sep 2022 19:19:34 +0200
Subject: Update manual

---
 manual/manual.tex | 51 +++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 47 insertions(+), 4 deletions(-)

(limited to 'manual/manual.tex')

diff --git a/manual/manual.tex b/manual/manual.tex
index 9d80be2..94aa592 100644
--- a/manual/manual.tex
+++ b/manual/manual.tex
@@ -6,6 +6,7 @@
 \usepackage{booktabs}
 \usepackage{xspace}
 \usepackage{graphicx}
+\usepackage{makecell}
 \usepackage[utf8]{inputenc}
 \usepackage[T1]{fontenc}
 \usepackage{svg}
@@ -19,6 +20,9 @@
 \newcommand{\stateon}{"\textit{on}"\xspace}
 \newcommand{\version}{\InputIfFileExists{version}{}{version}}
 \newcommand*{\addsource}[2]{\vspace{0.3cm}\begin{tcolorbox}[breakable,enhanced,arc=1.4mm,arc is angular,title=\textbf{\small#1}]\inputminted[breaklines,fontsize=\scriptsize]{#2}{#1}\end{tcolorbox}}
+\newenvironment{tabminted}[1]
+               {\VerbatimEnvironment\begin{minipage}{2.5in}\begin{tcolorbox}[frame empty]\begin{minted}{#1}}
+               {\end{minted}\end{tcolorbox}\end{minipage}}
 
 % Document
 \begin{document}
@@ -61,7 +65,7 @@ in charge of implementing the simulation main loop. It instantiates the network
 latencies), collects and processes the events (e.g communications,turn on/off). On the other hand,
 nodes are threads that implement the node behaviors.
 
-\section{Running your first simulation}
+\section{Getting started}
 
 To run a simulation, at least 2 files are required: 1) a platform file 2) a node implementation
 source code. The platform file defines the simulated network platform (network links and
@@ -69,6 +73,7 @@ performances etc.)  and sets various simulation parameters. The node implementat
 provides the logic of the simulated nodes.
 
 \subsection{Platform file}
+\label{sec:firstsimulation:platform}
 
 Platform files are written in YAML and contains 3 sections namely: 1) \textit{general} 2)
 \textit{nodes} 3) \textit{interfaces}. The \textit{general} section is optional but all the other
@@ -106,10 +111,48 @@ Next we can run the simulation:
   > ./orchestrator.py
 \end{verbatim}
 
-\end{document}
-
-
+\section{Platform file}
+
+As explain in Section \ref{sec:firstsimulation:platform}, esds platform files comprise 3 sections:
+\begin{enumerate}
+\item \textbf{general:} to settings up esds
+\item \textbf{nodes:} to configure the simulated nodes
+\item \textbf{interfaces:} to create network the interfaces available for each nodes
+\end{enumerate}
+Lets see in details the format of each section.
+
+\subsection{General}
+This section is used to settings up the overall parameters of esds. Table\ref{keywords:general} reference all the keywords for this section of the platform file.
+
+\begin{table}[]
+  \centering
+  \begin{tabular}{llp{0.4\textwidth}}
+    \toprule
+    \textbf{Keyword} & \textbf{Description} & \textbf{Example} \\ \midrule
+
+    \textbf{interferences} & \makecell[l]{Turn on/off interferences detection\\ during wireless communications} &
+    \begin{tabminted}{yaml}
+interferences: on
+    \end{tabminted}
+    \\ \cmidrule{1-3}
+    
+    \textbf{debug} & \makecell[l]{Turn on/off esds debugging\\mode (generate a debug file)} &
+    \begin{tabminted}{yaml}
+debug: on
+    \end{tabminted}
+    \\ \cmidrule{1-3}
+
+    \textbf{debug\_file} & \makecell[l]{Specify the file to use as output\\for the debugging} &
+    \begin{tabminted}{yaml}
+debug_file: "./myfile.txt"
+    \end{tabminted}
+    \\ \bottomrule
+\end{tabular}
+  \caption{Usable keywords in the general section of a esds platform file.}
+  \label{keywords:general}
+\end{table}
 
 
+\end{document}
 
 
-- 
cgit v1.2.3

