[Xastir] Davis Weather APRS Data Streamer

Tom Russo russo at bogodyn.org
Sat May 16 02:25:39 EDT 2009


On Fri, May 15, 2009 at 10:31:05PM -0600, we recorded a bogon-computron collision of the <russo at bogodyn.org> flavor, containing:
> On Fri, May 15, 2009 at 10:41:31AM -0600, we recorded a bogon-computron collision of the <k5mts.xastir at gmail.com> flavor, containing:
> > Hello all,
> > 
> > I'm new to Xastir and love the software, and I have a question.
> > 
> > With the new APRS Data logger for the Davis weather stations it is no longer
> > necessary to poll the station for data.  Additionally the unit can stream
> > data in APRS packet format as fast as every minute.  The data is formatted
> > as such:
> > 
> > @151632z3500.03N/10620.88W_267/002g007t070r000p016P000h17b10219.DsVP
> > 
> > Is there any chance of implementing this in Xastir?  It would certainly take
> > the headache out of trying to interface my station with MySql and the like.
> > Thanks in advance,
> 
> Hmmmm.  I've been looking at this, and think that it would actually be 
> even easier than I thought.
> 
[...]
> 
> Mike:  I can hack the code, but since I don't have such a unit I can't test it.
> But what I can do is try to hack it into my copy, make sure the hack compiles, 
> and then shoot you a "patch" file and instructions for applying it.  Then you 
> can test it out and let me know if it works.  If it does, I'll commit it, and 
> we can iterate if it *doesn't*.

Patch sent.  Tested by sending Mike's example string (and several variations
on it) to a little perl script that feeds data to a PTY and connecting Xastir 
to that PTY as if it were a Serial WX unit.  It was, in fact, very simple.

If it works for Mike then I will commit it and wait for the bug reports to
come in.

In doing this hackage, I notice that the WX decoding stuff is extremely 
variable from one device to another.  In some blocks, the code attempts to 
calculate wind chill and heat index using formulas --- but does so in 
duplicated code for some device types and not others.  So the Davis/Meteo code 
computes wind chill from formulas, but not the heat index.  The RSWX200 code 
gets wind chill from the unit, but computes the heat index.  The Peet 
Ultimeter in "Complete" mode does exactly the same thing.  Every other device 
type simply doesn't fill in the heat index at all.  I hacked the Davis/APRS 
Datalogger code so it does both, but by copying the code in other blocks,
compounding the mess.  

This enormous "wx_fill_data" routine could use a serious refactor so it can 
reuse code instead of duplicating it.

-- 
Tom Russo    KM5VY   SAR502   DM64ux          http://www.swcp.com/~russo/
Tijeras, NM  QRPL#1592 K2#398  SOC#236        http://kevan.org/brain.cgi?DDTNM
  In some cultures what I do would be considered normal. 
                                  -- Ineffective daily affirmation 




More information about the Xastir mailing list