[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Mark IV Software



I have been thinking about software for the Mark IV.  It is not too 
soon to start thinking about specifications and to start writing code. 
I would like to write it in modules, and pass out the modules for work 
to a number of people.  If a lot of you want to work, we might even 
have several versions of each module.  This all depends on setting up 
a group of well defined tasks, and spelling out in detail the calling 
procedure between tasks.  I would like to start the process by putting 
up a first pass at a task list.  Since I don't know much about 
software it will surely be wrong.  The rest of you can revise the list 
and when we get it in final form, I would like to make it a technical 
note.

Module 1

A command structure for speaking to a camera installation over the 
internet or some other communications media.

Module 2

PC code that interprets the command structure.

Module 3

Code that accepts the command structure and sets up the appropriate
schedule of operations.

Module 4 

Code that sends serial commands to the Stamp, and has appropriate 
checks and tests.

Module 5

Stamp code that performs camera operations.  This code interacts with 
Module 6 as the memory module is filled and emptied.

Module 6

Unloads the memory module and passes the result to the first level of
event storage. 

Module 7 

FITS format for events

Module 8

On line display

Module 9

Moves data to the processing storage level.

Module 10

Star list processing

Module 11

Data Base Processing

Module 12

Data Base

Module 13

Data Base Communication Language

Module 14

Data Base Display 

Module 15

Camera test code

Module 16 

System test code
 
OK, this looks like a big list.  It is certainly not complete.  It is 
indeed a big job.  I will volunteer to do Module 5 and 15 as one has 
to understand the intimate details of the hardware to do these.  Part 
of the list has been done at least once.  I will have to write 15 as 
the very first task so I can debug the hardware.  But I will try to 
write it as a documented QBasic .exe program so any of you can run it 
later.   

My idea is to define the boundaries between the modules (once we have 
settled on an "official" list) well enough that we can exchange a new 
module for an old, run standard tests, and be reasonably confident 
that the bugs left are of well defined types.  Of course, the 
structure should allow adding code modules that we do not think up 
immediately.

As part of my testing I expect to do the first 10 or so in Basic and 
using existing code - Star, Deep Sky, etc..  This will give the rest 
of you code samples of what works to do various operations.  You won't 
want to do it the same way, but it will allow starting work before you
actually have a camera.   

Tom Droege