shown in Listing~\ref{lst:avmsg}. Detailed explanation about the message types
and according actions will be given in the following subsections.
-\begin{lstlisting}[label={lst:avmsg},caption={Available messages}]
+\begin{lstlisting}[language=Clean,label={lst:avmsg},caption={Available messages}]
:: MTaskId :== Int
:: MSDSId :== Int
:: MTaskFreeBytes :== Int
\glspl{SDS} and the size of the stack. Not all peripheral flags are shown for
brevity.
-\begin{lstlisting}[label={lst:devicespec},
+\begin{lstlisting}[language=Clean,label={lst:devicespec},
caption={Device specification for \gls{mTask}-\glspl{Task}}]
:: MTaskDeviceSpec =
{ haveLed :: Bool
record to the function and still update the latest instance.
Listing~\ref{lst:connectDevice} shows the connection function.
-\begin{lstlisting}[label={lst:connectDevice},%
+\begin{lstlisting}[language=Clean,label={lst:connectDevice},%
caption={Connect a device}]
process :: MTaskDevice (Shared Channels) -> Task ()
process device ch = forever $ wait "process" (not o isEmpty o fst3) ch
MTDevSpec s = deviceAddSpec device s @! ()
) >>| proc ms
-connectDevice :: MTaskDevice -> Task Channels
+connectDevice :: MTaskDevice -> Task MTaskDevice
connectDevice device = set ([], [], False) ch
>>| appendTopLevelTask 'DM'.newMap True
( process device ch -||- catchAll (getSynFun device.deviceData ch) errHdl)
and with the new \gls{Task}. After waiting for the acknowledgement the device
is updated again and the \gls{Task} returns.
-\begin{lstlisting}[label={lst:sendtask},%
+\begin{lstlisting}[language=Clean,label={lst:sendtask},%
caption={Sending a \gls{Task} to a device}]
makeTask :: String Int -> Task MTaskTask
makeTask name ident = get currentDateTime @ \dt->{MTaskTask | name=name, ident=ident, dateAdded=dt}
contain \glspl{Task}, \glspl{SDS} or errors that are no longer applicable in
this run. A user or programmer can later choose to reconnect to some devices.
-\begin{lstlisting}[caption={Starting up the devices},%
+\begin{lstlisting}[language=Clean,caption={Starting up the devices},%
label={lst:startupdevs}]
startupDevices :: Task [MTaskDevice]
startupDevices = upd (map reset) deviceStoreNP