+\subsection{Connection types}\label{lst:connection_types}
+\begin{lstClean}[caption={}]
+:: TCPSettings =
+ { host :: String
+ //** host name
+ , port :: Int
+ //** port number
+ , pingTimeout :: ?Int
+ //** Require a ping signal every so many seconds
+ }
+:: MQTTSettings =
+ { host :: String
+ //** Host name
+ , port :: Int
+ //** Port number
+ , mcuId :: String
+ //** Identifier for the device
+ , serverId :: String
+ //** Identifier for the server
+ , auth :: MQTTAuth
+ //** Authentication type
+ }
+:: TTYSettings = {
+ devicePath :: String,
+ //* Path of the device, e.g. /dev/ttyACM0
+ baudrate :: BaudRate,
+ //* Baudrate
+ bytesize :: ByteSize,
+ //* Parity
+ parity :: Parity,
+ //* stop2bits
+ stop2bits :: Bool,
+ //* xonxoff flow control
+ xonxoff :: Bool,
+ //* Time in seconds to wait after opening the devices. Set this to 2 if you want to connect to a borked arduino
+ sleepTime :: Int
+ }
+\end{lstClean}
+
+