-\section{General message format}
+\section{General Message Format}
Messages are delimited by newlines to make processing by line based devices
-more easy. Message exchanges have a \emph{Request} and \emph{Response} header.
+easier. Message exchanges have a \emph{Request} and \emph{Response} header.
The \emph{Request} header means that the server is sending to the client. The
\emph{Response} header means that the client is sending to the server. In some
cases either the \emph{Request} or \emph{Response} is empty. This means that
-the message is not acknowledged or responded upon.
+the message is not acknowledged or responded upon. Multibyte values are
+interpreted as \gls{MSB} first integers.
\section{Handshake}
-\todo{Handshake, here the client tells the server what they can do}
+\begin{table}[H]
+ \centering
+ \begin{tabular}{ll}
+ \toprule
+ \multicolumn{2}{c}{Request}\\
+ byte & value\\
+ \midrule
+ 1 & \texttt{'c'}\\
+ \midrule\midrule
+ \multicolumn{2}{c}{Response}\\
+ byte & value\\
+ \midrule
+ 1 & \texttt{'c'}\\
+ 2 & Peripheral bitmask\\
+ 3,4 & Bytes of memory\\
+ 5,6 & Size of the stack\\
+ 7 & Number of analog pins\\
+ 8 & Number of digital pins\\
+ \bottomrule
+ \end{tabular}
+ \caption{Send a device specification}
+\end{table}
\newpage
-\section{mTasks}
-\begin{table}[!ht]
+\section{\gls{mTask}-\glspl{Task}}
+\begin{table}[H]
\centering
- \begin{subfigure}[t]{.48\textwidth}
+ \begin{subfigure}[b]{.48\textwidth}
+ \centering
\begin{tabular}{ll}
\toprule
\multicolumn{2}{c}{Request}\\
byte & value\\
\midrule
1 & \texttt{'t'}\\
- 2,3 & interval\\
- 4,5 & length (\texttt{n})\\
- 6 to n+6 & bytecode\\
+ 2,3 & interval or interrupt\\
+ 4,5 & length ($n$)\\
+ 6 to $n$+6 & bytecode\\
\midrule\midrule
\multicolumn{2}{c}{Response}\\
byte & value\\
\midrule
1 & \texttt{'t'}\\
- 2,3 & task id\\
+ 2,3 & \gls{Task} id\\
\bottomrule
\end{tabular}
- \caption{Send a task}
+ \caption{Send a \gls{Task}}
\end{subfigure}
\quad%
- \begin{subfigure}[t]{.48\textwidth}
+ \begin{subfigure}[b]{.48\textwidth}
+ \centering
\begin{tabular}{ll}
\toprule
\multicolumn{2}{c}{Request}\\
byte & meaning\\
\midrule
1 & \texttt{'d'}\\
- 2,3 & task id\\
+ 2,3 & \gls{Task} id\\
\midrule\midrule
\multicolumn{2}{c}{Response}\\
byte & value\\
\midrule
1 & \texttt{'d'}\\
- 2,3 & task id\\
+ 2,3 & \gls{Task} id\\
\bottomrule
\end{tabular}
- \caption{Delete a task}
+ \caption{Delete a \gls{Task}}
\end{subfigure}
- \caption{Message protocol for exchanging tasks}
+ \caption{Message protocol for exchanging \glspl{Task}}
\end{table}
-\section{SDSs}
-\begin{table}[!ht]
+\section{\glspl{SDS}}
+\begin{table}[H]
\centering
- \begin{subfigure}[t]{.2\textwidth}
+ \begin{subfigure}[b]{.2\textwidth}
+ \centering
\begin{tabular}{ll}
\toprule
\multicolumn{2}{c}{Request}\\
byte & meaning\\
\midrule
1 & \texttt{'s'}\\
- 2,3 & identifier\\
+ 2,3 & id\\
4,5 & value\\
\midrule\midrule
\multicolumn{2}{c}{Response}\\
byte & meaning\\
\midrule
1 & \texttt{'s'}\\
- 2,3 & identifier\\
+ 2,3 & id\\
\bottomrule
\end{tabular}
- \caption{Send an SDS specification}
+ \caption{Send an \gls{SDS} specification}
\end{subfigure}
\quad%
- \begin{subfigure}[t]{.2\textwidth}
+ \begin{subfigure}[b]{.2\textwidth}
+ \centering
\begin{tabular}{ll}
\toprule
\multicolumn{2}{c}{Response}\\
2,3 & SDS id\\
\bottomrule
\end{tabular}
- \caption{Delete a SDS}
+ \caption{Delete an \gls{SDS}\\~}
\end{subfigure}
\quad%
- \begin{subfigure}[t]{.2\textwidth}
+ \begin{subfigure}[b]{.2\textwidth}
+ \centering
\begin{tabular}{ll}
\toprule
\multicolumn{2}{c}{Request}\\
\multicolumn{2}{c}{Response}\\
\bottomrule
\end{tabular}
- \caption{SDS update}
+ \caption{\gls{SDS} update\\~}
\end{subfigure}
\quad%
- \begin{subfigure}[t]{.2\textwidth}
+ \begin{subfigure}[b]{.2\textwidth}
+ \centering
\begin{tabular}{ll}
\toprule
\multicolumn{2}{c}{Response}\\
4,5 & value\\
\bottomrule
\end{tabular}
- \caption{SDS publish}
+ \caption{\gls{SDS} publish\\~}
\end{subfigure}
- \caption{Message protocol for exchanging SDSs}
+ \caption{Message protocol for exchanging \glspl{SDS}}
\end{table}