Software - Command and Control SPSU - AUV 2005
Member:  Andy Linnenkohl
Member:  Michael Dendy
Member:  Breneman Whitfield
Member:  Chris Walker

Software

Introduction

The Command and Control subsystem is responsible for a bulk of the processing and intake of information, decision making and control of the various subsystems on the AUVSI submarine. As such, the software of the Command and Control subsystem is quite voluminous and varied in nature. It falls, however, into two major categories. The first of these categories is the Main Program code that is used to drive the submarine through the AUVSI course. The second category consists of the interface drivers and various other control code used for specific purposes in various ways throughout the submarine design.


Main Program Code

The main program code used by the SPSU AUVSI sub to navigate the course by reading sensor data from one of the six subsystems and comparing that data to set parameters. This code then sends control signals to other subsystems to alter one aspect or another of submarine operation to better navigation the course.

The program code for the submarine is written in Sun Microsystems Java Development language and runs on the Linux based operating system on the PC104 Processing card.

The steps the program code takes are outlined in the pseudo code list below:


Interface Drivers

The primary additional code used by the Command and Control subsystem is the ISA bus driver used by the Command and Control system to interface between the custom PC104 cards and the Processing card. These drivers, written to allow the Java Main Program code and Linux operating system to interface with the hardware PC104 ISA bus, set forth the parameters used in the Main Program Code to send data to and from the Navigation and Sonar cards.