This is a sensorboard directory for the ultrasound ranging sensorboard.  It should really be located in tos/sensorboards except that we don't want to check it into the main tree.  The only weird thing about this sensorboard directory is that the code actually gets compiled for the Atmega8 processor, which is on the sensorboard itself, instead of on the main platform pcb.  

The TxRxController file is the main file.  It basically allows you to switch between transmitter and receiver modes.  It also does things like sent the TOF message to the mica, when a TOF is measured, receive messages from the mica in order to put it into one mode or the other, and receive messages from the mica to reset the atmega8 processor.  This stuff should all really be in the ultrasoundBoardApp file but somebody has been doing some sloppy software engineering.

USoundTxr allows you to initialize the transmitter (map the relevant processor pins) and start and stop the ultrasound transmitter.  This essentially means clocking out a 25Khz waveform on one of the PW lines.  The transmitter circuit uses a special 5V power supply in order to power the transceiver with a higher voltage.

USoundRxr allows you to initialize the receiver (map the relevant processor pins, and initialize the POT) and start and stop the receiver.  In this case, that means you are enabling or disabling the analog comparator.  When the output of the ultrasound transceiver exceeds the output of the POT, the analog comparator triggers a timer capture.  This time is used (along with the time when the radio message first started being received) to measure the time of flight.  This information is provided by the UsoundRxr as an event.  The functionality of the UsoundRxr is partially broken off into USoundDetector, which holds all of the analog comparator and potentiometer logic.  This is because it could, in theory, be switched with another type of ultrasound detector that did, for example, digital filtering on the transceiver output. 
