Aprs.UtilityHelpers (aprs v1.0.1)

View Source

Utility helpers for APRS parsing using binary pattern matching.

Summary

Functions

Calculate compressed position resolution.

Calculate position ambiguity based on leading spaces.

Calculate position resolution based on ambiguity.

Count leading braces (}) in a string.

Count spaces in a string.

Calculate position resolution in meters based on ambiguity level.

Functions

calculate_compressed_position_resolution()

@spec calculate_compressed_position_resolution() :: float()

Calculate compressed position resolution.

calculate_position_ambiguity(lat, lon)

@spec calculate_position_ambiguity(String.t(), String.t()) :: integer()

Calculate position ambiguity based on leading spaces.

calculate_position_resolution(ambiguity)

@spec calculate_position_resolution(integer()) :: integer()

Calculate position resolution based on ambiguity.

count_leading_braces(str)

@spec count_leading_braces(String.t()) :: integer()

Count leading braces (}) in a string.

count_spaces(str)

@spec count_spaces(String.t()) :: integer()

Count spaces in a string.

position_resolution(ambiguity)

@spec position_resolution(integer()) :: integer()

Calculate position resolution in meters based on ambiguity level.

validate_position_data(latitude, longitude)

@spec validate_position_data(String.t(), String.t()) ::
  {:ok, {float(), float()}} | {:error, :invalid_position}

validate_timestamp(time)

@spec validate_timestamp(String.t()) :: integer() | nil