rawgps is a small footprint program which allows platforms such as Macromedia Flash to directly access GPS data. It is designed to be polled by the Flash application - though it could be used to feed XML data into a socket to generate events.
Running Flash in conjunction with platforms like Mscape under Windows CE (particularly on low speed portable devices) can lead to “lagging” effects due to the build up of the events queue. rawgps gives a way around this problem by allowing the position to be polled only when needed - so there is no queue buildup. Under heavy load, it won't degrade by lagging behind the actual position; the worse case will be that it will jump to the new position.
rawgps runs a continuous loop:
Flash action script can poll, as and when it requires position data, with a LoadVars call from the data file.
rawgps is written in C for speed and portability. It relies heavily on the C pre-processor - so the code produced is maximally fast and small, but the configuration is done by recompiling with new definitions.
rawgps has been tested against a simple Flash program which displays position numerically. Tests showed no sign of lagging.
Load testing is still underway to discover when the position update becomes too jumpy for practical use.
rawgps was originally written for the Forestry Commission Neroche project and will be made available under an open source license.