![](images/horizontal_rule.jpg)
Code
Pseudo Code: Source Code (zip): |
Diagrams: Support Code (zip): |
Overview
The satchel and default vessel's programs are structured according to MPLAB's "relocatable" code model. This feature enables system designers to reuse code, and led the development team to create a single project with common codebase for both satchel and fleet. In this way, the set of instructions active for any particular microcontroller can be selected using a single #define
line.
Helm
The emergency satchel has been ruggedized to operate using minimal computing resources, to protect against the possibility of water or gamma ray infiltration. To this end, the design team selected the PIC16F690 microcontroller to interface with all analog, digital and communications systems. The satchel's controller is programmed to use many of the 16F690's built-in subsystems:
[ TMR0 | ADC | DIO | PWM | Interrupts | EUSART | SSP | TMR2 ]
The satchel has a separate microcontroller dedicated to keypad entry for identity and command verification. The enable and clear codes are listed at the bottom of your daily briefing.
Ship
For tactical considerations, the vessel you control by default is outfitted with computing resources similar to the satchel, with the addition of a slave processor to control the main power (propellor) motor. The master PIC uses the following subsystems:
[ TMR0 | ADC | DIO | CCP | Interrupts | EUSART | SSP | TMR1 ]
Serial Communications
A serial port reader/writer was developed to enhance debugging of EUSART and radio communications. This in turn was used as the basis of the Admiralty command and control system for the remainder of the fleet. Included above is the final program, written in VisualBasic.NET 2008.