update spec yet again
authorMart Lubbers <mart@martlubbers.net>
Mon, 19 Jun 2017 13:46:41 +0000 (15:46 +0200)
committerMart Lubbers <mart@martlubbers.net>
Mon, 19 Jun 2017 13:46:41 +0000 (15:46 +0200)
appendix-device-interface.tex
appendix-protocol.tex
glossaries.tex
listings/interface.h
results.arch.tex

index d4872a8..991a794 100644 (file)
@@ -1 +1 @@
-\lstinputlisting[language=C,caption{Full device interface}]{listings/interface.h}
+\lstinputlisting[language=C,caption={Full device interface}]{listings/interface.h}
index 3936588..41e82d0 100644 (file)
@@ -4,10 +4,34 @@ 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}[!ht]
+       \centering
+       \begin{subfigure}[t]{.48\textwidth}
+               \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{subfigure}
+\end{table}
 
 \newpage
 \section{mTasks}
index d76add4..cc00596 100644 (file)
@@ -57,3 +57,4 @@
 \newglossacr{SDS}    {Shared Data Source}
 \newglossacr{TCP}    {Transmission Control Protocol}
 \newglossacr{TOP}    {Task Oriented Programming}
+\newglossacr{MSB}    {Most Significant Byte}
index 1903941..7b199b1 100644 (file)
@@ -6,6 +6,8 @@
 #include <stdarg.h>
 
 #ifdef LINUX
+#define APINS 7
+#define DPINS 14
 #define STACKSIZE 1024
 #define MEMSIZE 1024
 #define HAVELED 1
index d5deda2..cbd0788 100644 (file)
@@ -72,7 +72,7 @@ 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} and stores the peripheral availability, the memory
-available for storing \glspl{Task} and \glspl{SDS}.
+available for storing \glspl{Task} and \glspl{SDS} and the size of the stack.
 
 \begin{lstlisting}[label={lst:devicespec},
        caption={Device specification for \glspl{mTask}}]
@@ -80,9 +80,10 @@ available for storing \glspl{Task} and \glspl{SDS}.
        { haveLed     :: Bool
        , haveAio     :: Bool
        , haveDio     :: Bool
+       , bytesMemory :: Int
+       , stackSize   :: Int
        , aPins       :: Int
        , dPins       :: Int
-       , bytesMemory :: Int
        }
 \end{lstlisting}