Additional Telemetry?

250 views
Skip to first unread message

VE6SAR

unread,
Mar 19, 2017, 8:07:59 PM3/19/17
to Aprx software
HI everyone,

I'm helping another amateur get a new Raspberry Pi/ APRX  IGate going and he wants battery voltage telemetry sent in addition to the igate telemetry. 

Has anyone else done this?

If so could you share how you accomplished it?

Thanks 

Sean VE6SAR


David Ranch

unread,
Mar 19, 2017, 8:20:34 PM3/19/17
to Aprx software
I don't think that APRX has support for sending external telemetry data.  With that said, the soft-TNC Direwolf does supports this.  One key question here is if Direwolf can send out data frames to other hardware TNCs if that's what you're using:

   https://github.com/wb2osz/direwolf/blob/dev/doc/APRS-Telemetry-Toolkit.pdf

--David
KI6ZHD

Kenneth Finnegan

unread,
Mar 20, 2017, 12:00:16 AM3/20/17
to aprx-s...@googlegroups.com
Aprx does not natively support external hooks for the built-in telemetry engine since that would make it prohibitively flexible, but you still have a few options:
1. If you're capable of coding in C, the telemetry engine is one of the less obtuse parts of the Aprx code base, so you can make your own custom build modifying one of the "s += sprintf(s,..." lines in telemetry.c:telemetry_datatx() to use your battery voltage and update the labels in telemetry_labeltx().
2. You can completely disable the built-in telemetry engine and write your own telemetry producer in any language you want and have Aprx call it as a beacon exec line. Your program will need to store the sequence number run to run since APRS telemetry expects to have a 000-999 sequence number that increments.

In case you aren't already looking at it, chapter 13 in the APRS 1.0 spec is relevant: http://aprs.org/doc/APRS101.PDF

You might also find my notes useful from a few of us developers debating what the telemetry spec should be these days: https://github.com/PhirePhly/aprs_notes/blob/master/telemetry_format.md

Just ignore the parts where I talk about how telemetry should support full floating point; we never made a strong decision about that.

--
Kenneth Finnegan, W6KWF
http://blog.thelifeofkenneth.com/


Aly Badawy

unread,
Dec 19, 2018, 7:48:46 AM12/19/18
to Aprx software
Kenneth, 

I have some questions about using the beacon exec statement to form the telemetry data:

  1. How to disable the built in telemetry. This is not found in APRX manual, except to disable per interface. Is this the way to do it or there is a master shutdown fro telemetry?
  2. I understand I will need to beacon cycles, one for the data values (probably every 10 or 15 mins), and one cycle with all the telemetry labels, units, parms, equations, etc (probably every one hour). Is there a way to "rapid fire" all the telemetry labels, units, etc in the second beacon cycle? instead of the four messages being distributed once every 15 mins?
  3. When using the "exec", should the output of the executable file incule the whole telemetry message, meaning, the src callsign, destination callsign for data labels, units, equations, etc? or simply start at T:001,nnn,nnn,nnn,nnn,nnn,bbbbbbbb ? 
I mean, could you please provide us with what the output of the executable file should look like for both the actual data values beacon, and the output of the PARM, UNIT, etc?

Thanks a lot in advance.
73 de AL0Y.
Reply all
Reply to author
Forward
0 new messages