Aprs (aprs v0.1.4)

View Source

Main APRS packet parsing library

Summary

Types

packet()

@type packet() :: %{
  id: String.t(),
  sender: String.t(),
  path: String.t(),
  destination: String.t(),
  information_field: String.t(),
  data_type: atom(),
  base_callsign: String.t(),
  ssid: String.t(),
  data_extended: map() | nil,
  received_at: DateTime.t()
}

parse_result()

@type parse_result() :: {:ok, packet()} | {:error, atom() | String.t()}

position_ambiguity()

@type position_ambiguity() :: 0..4

Functions

convert_to_base91(arg)

@spec convert_to_base91(binary()) :: integer()

decode_compressed_position(arg)

@spec decode_compressed_position(binary()) :: map()

parse(message)

@spec parse(String.t()) :: parse_result()

parse_callsign(callsign)

@spec parse_callsign(String.t()) :: {:ok, [String.t()]} | {:error, String.t()}

parse_data(arg1, destination, data)

@spec parse_data(atom(), String.t(), String.t()) :: map() | nil

parse_datatype(arg1)

@spec parse_datatype(String.t()) :: atom()

parse_datatype_safe(data)

@spec parse_datatype_safe(String.t()) :: {:ok, atom()} | {:error, String.t()}

parse_position_with_datetime_and_weather(aprs_messaging?, time, latitude, sym_table_id, longitude, symbol_code, weather_report)

@spec parse_position_with_datetime_and_weather(
  boolean(),
  binary(),
  binary(),
  binary(),
  binary(),
  binary(),
  binary()
) :: map()

parse_position_with_message_without_timestamp(position_data)

@spec parse_position_with_message_without_timestamp(String.t()) :: map()

parse_position_with_timestamp(aprs_messaging?, arg2, data_type)

@spec parse_position_with_timestamp(boolean(), binary(), atom()) :: map()

parse_position_without_timestamp(position_data)

@spec parse_position_without_timestamp(String.t()) :: map()

parse_query(data)

@spec parse_query(String.t()) :: map()

parse_station_capabilities(data)

@spec parse_station_capabilities(String.t()) :: map()

parse_status(data)

@spec parse_status(String.t()) :: map()

parse_third_party_traffic(packet)

parse_user_defined(data)

@spec parse_user_defined(String.t()) :: map()

split_packet(message)

@spec split_packet(String.t()) :: {:ok, [String.t()]} | {:error, String.t()}

split_path(path)

@spec split_path(String.t()) :: {:ok, [String.t()]} | {:error, String.t()}

version()

@spec version() :: String.t()

Returns the current version of the APRS library as a static string.