build_aprs_position_compressed

Function build_aprs_position_compressed 

Source
pub fn build_aprs_position_compressed(
    source: &Ax25Address,
    latitude: f64,
    longitude: f64,
    symbol_table: char,
    symbol_code: char,
    comment: &str,
    path: &[Ax25Address],
) -> Vec<u8> 
Expand description

Build a KISS-encoded APRS compressed position report.

Compressed format uses base-91 encoding for latitude and longitude, producing smaller packets than the uncompressed DDMM.HH format. Encoding follows APRS101 Chapter 9.

The compressed body is 13 bytes: sym_table(1) YYYY(4) XXXX(4) sym_code(1) cs(1) s(1) t(1)

Where cs, s, and t are set to indicate no course/speed/altitude data (space characters).

Returns wire-ready bytes (FEND-delimited KISS frame).

§Parameters

  • source: The sender’s callsign and SSID.
  • latitude: Decimal degrees, positive = North, negative = South.
  • longitude: Decimal degrees, positive = East, negative = West.
  • symbol_table: APRS symbol table character (/ for primary, \\ for alternate).
  • symbol_code: APRS symbol code character (e.g., > for car, - for house).
  • comment: Free-form comment text appended after the compressed position.
  • path: Digipeater path.