The host is the name given to the computer and to the software that allows the user to interact with the experiment. The main tasks of the host are to receive and save the data from the electronics controller and give orders to it. The host software is an application called ``lt" (for ``Laser Tweezers") and it was designed by Shane Saxon to provide a simple and efficient interface to the user . It runs on a Mac computer and it is compiled with Xcode for Mac OSX 10.4 (Tiger). New versions of lt also run on updated versions of Mac OSX. The software was developed using Carbon, i.e., an Apple's Application Programming Interface (API). The code was written in C programming language and uses OpenGL libraries for the graphics display. The application is designed in layers of increasing level of programming so that the basic tasks are available to expand the features of the software. This way, new experimental protocols can be efficiently implemented. As mentioned, the communication between the host computer and the controller is done by USB. Therefore, the instrument does not need to be linked to a specific computer. Instead, the host computer can be easily substituted by connecting the USB port to another computer, provided that the FTDI driver  is installed on it.
The lt software is an event-driven application with other internal threads that execute periodic tasks (communication, rendering). In other words, the application is continuously receiving and rendering data from the electronic controller until an event is triggered (e.g. a mouse click) and executed. All the variables of the application are grouped into a large data structure that is available to every subroutine of the code by passing the pointer to that structure. The mouse is mainly used to control the instrument (traps, motors, protocols) and the keyboard for the graphical display. A detailed description of the code run by the computer is explained in Appendix C.6. Figure 2.13 shows a screenshot of the user interface.
JM Huguet 2014-02-12