Thoughts On Software Development
By Larry - KC1YC
Larry says this the initial February 4, 2001 paper will
grow many flow as the project matures.

1. Objective

The objective of this document is to provide an overall description of the ‘packages’ that will be required in order to successfully and effectively carry out our club’s balloon flight. The project will use the Tri-M Systems PC/104 MZ104 board, with the MachZ chip, M-systems DiskOnChip, and BlueCat Linux operating system.

This document will evolve over time as new information becomes available This document concentrates on the software design, with only enough hardware information to understand the capabilities and limitations that must be dealt with. Comments are welcome and should be submitted to the LARG for consideration.

2. ‘Kit’ components

2.1. The ‘kit’ that we have won contains the following components:

BlueCat Linux development Kit

Tri-M Systems MZ104 PC/104 Board

On Board ZF Linux Devices’ MachZ Chip and Phoenix BIOS in Flash

M-Systems 4 MB DiskOnChip Millennium (Flash Disk)

MZ104 Cable kit for connecting to peripherals

32 MB SO DIMM (DRAM)

2.2. Available interfaces, connectors (some will not be used for this project), and storage units

Flash BIOS (Phoenix 256Kb, Balance Usable)

SO-DIMM Memory Socket 144 pin 32 or 64 MB (32 MB chip supplied)

32 pin DIM socket for DiskOnChip (supplied)

IDE interface - up to 4 Devices

Floppy disk interface

Parallel port (EPP, ECC, IEEE 1284)

Serial Port - RS232 16550A, data rates up to 1.5 Mbps

USB

12C Bus

8/16 Bit PC/104 Header Connector

Keyboard/Mouse/Ext. Battery Connector

Many of the features available will not be used because of weight limitations. For example, there will be no external disk storage.

3. Balloon components which will be controlled by software

3.1. GPS data link - Serial port interface. This device was part of a DeLorme mapping package, and is capable of receiving on up to six GPS satellites.

3.2. Positional stabilization - To be determined, wind vanes or rotating mass (gyroscope).

3.3. Data acquisition - For battery monitoring, barometric pressure, etc.

3.4. Transmitter interface includes ATV processing, uplink and downlink control, station identification, positional data (GPS), and state-of-health transmissions.

3.5. Autonomous restart and shutdown procedure.

4. Software design considerations

4.1. All modules will be designed using the ‘C’ language, unless conditions dictate otherwise.

4.2. All modules will be designed with speed and minimal functionality as the goal. This does not exclude failsafe procedures.

4.3. Where possible, modules will be designed in such a manner as to be re-usable or shared.

5. Research Links

5.1. www.embedded.linuxjournal.com - This is the site where the contest originated.

5.2. www.embedded.linuxjournal.com/magazine/issue01/4319/ - This page contains a wealth of links to software and hardware articles, manufacturers, etc., including the devices that we will be using.

NNNN