There are four parts to the complete system, which are all necessary in order to run properly. These are the actual parts to the microscope; the graphics systems for display; a force feedback device PHANToM: and VRPN, which controls system communication amongst parts. Our basic goal here is to simulate the microscope end, which makes our design technique quite unique. Having the entire system in front of us leaves us only to manipulate functions, which are already in place, as well as set a line of communication, which responds to messages already in use by the system.
Our first main goal in designing our portion of the system was to have a deep understanding of how the system works up to now. In order to fit a simulator into the system we have to know the details on how the microscope communicates and interacts with the remaining parts. Understanding the original design was the building block to our work.
Our designing tactic is a kind of step by step process. We begin with one small goal, get it to work properly, then move ahead. Our program builds upon itself and can not be designed exactly as one large system, prior to coding. This means we have a list of things to accomplish, but they have to be done in that specific order.
With this knowledge at hand we move on to our initial tasks, which was to set up communication lines between the simulator and VRPN. The handling of VRPN connections and encoding/decoding was setup by Aron Helser with the creation of a nmm_Microscope_Simulator and nmm_Microscope outline. Initially, the simulator would start and wait for a connection.
The actual microscope begins sending scanned line data every half second. To simulate this, we had to setup a timer to send out data at the proper time interval. Functions that handled sending out a line of scanned data had to be written and tested. After this is done, functions that manipulated the surface had to be written and tested.