Skip to content

Implement native APRS Telemetry, Definition Messages (PARM/UNIT/EQNS), and RF optimizations - #5

Open
agafford-ST wants to merge 4 commits into
lightaprs:mainfrom
agafford-ST:telemetry-updates
Open

Implement native APRS Telemetry, Definition Messages (PARM/UNIT/EQNS), and RF optimizations#5
agafford-ST wants to merge 4 commits into
lightaprs:mainfrom
agafford-ST:telemetry-updates

Conversation

@agafford-ST

Copy link
Copy Markdown

Implement native APRS Telemetry, Definition Messages (PARM/UNIT/EQNS), and RF optimizations

This PR transitions the LightAPRS-2.0 firmware from using comment-field telemetry to fully protocol-compliant, native APRS Telemetry (T# packets). By separating the location data from the environmental data, this update significantly improves RF bandwidth efficiency and enables native, fully scaled charting on aprs.fi and standard APRS desktop clients.

Key Firmware Enhancements (Across all 3 .ino sketches):

  • Native Telemetry Integration: Replaced the heavy comment-string telemetry with standard sequence-tracked T# packets containing Battery, Temperature, Pressure, TxCount, and Satellites.
  • Automated Telemetry Definitions: Added automated, non-blocking background timers to broadcast PARM, UNIT, and EQNS messages, allowing receiving servers to automatically generate accurate dashboards.
  • User-Configurable Variables: Exposed TelemetryDefInitialDelay and TelemetryDefInterval variables in the top configuration block so users can easily manage how often definition messages are broadcast.
  • RF Airtime Optimization: Refactored the transmit routine (sendLocationAndTelemetry) to broadcast back-to-back location and telemetry packets within a single RadioON/RadioOFF hardware cycle, significantly reducing overall PTT time and battery drain.

Library Updates Included (ZeroAPRS.h & ZeroAPRS.cpp):

  • Added APRS_PrepeareMsg() and APRS_sendMsg() to correctly format standard AX.25 Message data-type headers (:).
  • Added APRS_PrepeareTelemetry() and APRS_sendTelemetry() to correctly format standard AX.25 Telemetry data-type headers (T#).

Testing Completed:

  • Compiled and successfully tested on physical hardware.
  • Verified across all three operating profiles (HAB, Pico-Balloon, and Vehicle).
  • Confirmed flawless parsing of T# sequences and PARM/UNIT/EQNS definitions by the APRS-IS network (aprs.fi).
  • Verified RF transmission sequence properly keys the DRA818V module and is accurately decoded by terrestrial IGates.

This fork enhances telemetry functionality by separating telemetry data from comments and adding the ability to send a Telemetry Definition Message. It utilizes a modified ZeroAPRS library while keeping other libraries unchanged.
Updated README to remove details about telemetry changes.
The initial publish of the changes to improve the telemetry method
reduced initial telemetry definition transmission to 1 minute
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant