+The client code 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
+and implement (part of) the device specific interface. The shared codebase only
+uses standard \gls{C} and no special libraries. Therefore the code is
+compilable for almost any device or system. Note that it is not needed to
+implement a full interface. The full interface, listed in
+Appendix~\label{app:device-interface}, also includes functions for accessing
+the peripherals that not every device might have. The interface headers also
+show which functionality is implemented and which functionality is not
+available. This information is exchanged during the setup of the communication.