[Xastir-dev] Put data on APRS-IS

Tom Russo russo at bogodyn.org
Sun Feb 11 13:08:18 EST 2007


On Sun, Feb 11, 2007 at 10:13:53AM -0700, we recorded a bogon-computron collision of the <ddclark_lists at kj5kg.net> flavor, containing:
> Good morning,
> 
> Can some one point me to the place in the xastir where data gets written
> to the APRS-IS.  I am interested in how objects, posits, messages etc
> are written and not necessarily IGate-ing, but it may be the same code.

I can't point at specific bits of code in xastir for you (they're
scattered around between interface.c and db.c), but the sending of data
to the APRS-IS is pretty much the same as sending data to a regular
TNC --- APRS-IS simply accepts APRS packets, and the difference is just
in the detail of how it's sent (serial vs. TCP).  The details of communicating
the packets are in interface.c, but the logic for deciding what to send
and how to construct the packets would mostly be in db.c.

>    Pseudo code would be good too.  I have an idea for some SAR specific
> messaging stuff and am trying to understand how the APRS-IS works.  I
> have not had much luck looking at the documentation on
> http://www.aprs-is.net

For a simpler-to-understand APRS-IS injection deal, you might want to take
a look at William McKeehan's "aprstracker" script --- this is a perl code
that injects objects into an APRS server port.  Xastir's server port
accepts data in the same way as the APRS-IS servers do, so you can 
get a feel for how to communicate with APRS-IS by stuffing data into 
a local xastir's server port instead.

I've used William's script on SAR practices when trying to track resources
moving along a known course without tracking devices --- the script takes
a list of waypoints, and lets you enter objects by specifying their name
and which waypoint they're at.  I think he wrote it for working races, where
you won't actually stick a tracker on runners.

William's tracker script is 
	<http://mckeehan.homeip.net/amateurradio/APRS/aprstracker.htm>
 --- it constructs spec-compliant object packets and then just sends them on 
the port.  You could adapt that technique in a script or program of your
own to inject message packets instead.

-- 
Tom Russo    KM5VY   SAR502   DM64ux          http://www.swcp.com/~russo/
Tijeras, NM  QRPL#1592 K2#398  SOC#236 AHTB#1 http://kevan.org/brain.cgi?DDTNM
"And, isn't sanity really just a one-trick pony anyway? I mean all you get is
 one trick, rational thinking, but when you're good and crazy, oooh, oooh,
 oooh, the sky is the limit!"  --- The Tick



More information about the Xastir-dev mailing list