When first invoked, the driver will register with Memo and with CmdCtrl, if present, requesting that the Quit command be forwarded. It will also attempt to establish a connection with the collection program for data reporting. Failure to establish a connection with CmdCtrl or Collection need not be fatal, although the data-reporting functions will be useless without the Collection connection.
It will then attempt to establish communications with the laser system. When communications are first established, the driver will query the laser system and report the contents of the EEPROM to Memo. It will also query the status history and output status codes starting with the latest Boot.
With the initialization complete, the driver will register it's name (topaz) with the operating system, signaling other processes that the initialization was successful and advertising the command services to the command server.
At this point, the driver enters server mode where it waits in a Receive() loop, waiting for incoming requests. The driver will handle the following messages:
When reading the data set, the data read from the laser system will be checked for sanity. If any characters appear to be missing or mis-formatted, the entire record will be rejected. A fixed number of rejected records may be written to the memo log in an ASCII format to facilitate debugging. A count of rejected records will be maintained and reported to Memo on termination.
Whenever the data set is collected, the status history array is compared to the previously recorded array and any new status codes are output to Memo.
Return to Manuals Guide
last updated: Unknown | webmaster@huarp.harvard.edu |
Copyright 2012 by the President and Fellows of Harvard College |