with the server and interprets the \glspl{Task}.
\end{itemize}
-
\section{Devices}
The engine for the devices is compiled from one codebase. For a device to
be eligible for \glspl{mTask}, it must be able to compile the shared codebase
the device software.
\begin{itemize}
\item \texttt{POSIX} compatible systems
-
+
This includes systems running \emph{Linux} and \emph{MacOS}.
\item \texttt{STM32} family microcontrollers supported by \texttt{ChibiOS}.
This is tested in particular on the \texttt{STM32f7x} series \gls{ARM}
development board.
\item Microcontrollers programmable by the \gls{Arduino} \gls{IDE}.\\
-
+
This does not only include \gls{Arduino} compatible boards but also
other boards capable of running \gls{Arduino} code. The code
has been found working on the \texttt{ESP8266} powered \emph{NodeMCU}.
the server will send a request for specification. The client will serialize his
specification and send it to the server so that the server knows what the
client is capable of. The exact specification is shown in
-Listing~\ref{lst:devicespec}
+Listing~\ref{lst:devicespec} and stores the peripheral availability, the memory
+available for storing \glspl{Task} and \glspl{SDS}.
\begin{lstlisting}[label={lst:devicespec},
caption={Device specification for \glspl{mTask}}]
{ haveLed :: Bool
, haveAio :: Bool
, haveDio :: Bool
+ , aPins :: Int
+ , dPins :: Int
, bytesMemory :: Int
}
\end{lstlisting}