Technical: GPSS Architecture
Previous  Top  Next


gpss architecture1
Input
·GPS unit (signal received from satellites)  
·Keyboard (commands, actions)  
·Mouse (set destination, read location)  
·External Files (initialization, configuration, licence, etc.)  
Processing
·Control logic (opens & regulates COM port [GPS] communications, polls GPS & other inputs, makes if-then decisions, calls sub-routines, calls utilities, etc.)  
·Parser (decodes GPS data, geographical inputs)  
·Calculation engine (determines speed, heading, altitude)  
·Plotting engine (determines screen location of car, direction of pointer, placement of current points and erasure of oldest ones, destination, other icons and messages)  
·Map selector (determines which map to pull up based on current location)  
External Files
·Maps and related DES files  
·WAW, ROO, RGI and other localised data  
·Sounds  
·Icons  
Output
·Screen display  
·Map  
·Position & direction of car  
·Position of destination  
·Instruments  
·Messages  
·Icons for mode (e.g., GPS or demo)  
·Alphanumeric readout of position, speed and heading  
·Printout (from utilities/dialogs)  


A lot goes on while GPSS is running. It is a classic use of microprocessor:
·gather data inputs from instruments (in this case, your GPS unit and keyboard)  
·parse the data  
·compare against checkpoints (such as, is this the right map for this location?)  
·format data for output...  
·do this over and over again.  

If in the 1970s manufacturing had not wanted to automate these activities, Intel, Motorola, Zilog, and AMD would never have invented microprocessors. Then enthusiasts and gear-heads would not have added ancillary circuitry and built micro-computers. And then IBM would not have decided on Intel and there would never have been a personal computer. And Fairchild could not have built satellites. And there would be no availability of GPS for the general public.

Back to reality... The logic, operational engines, and utilities in GPSS are internal, while licence, configuration, map, and local information is kept in external files and databases.

The upside is that the externalisation of data gives you maximum freedom for updating and localising. The down side is that you have to know which file or files have to be edited.


By Dave Gehman
© Copyright 2004, Robin Lovelock
Send changes, suggestions to Dave Gehman