Aprs.WeatherHelpers (aprs v2.0.0)

View Source

Binary weather field scanning helpers for APRS.

Summary

Types

weather_value()

@type weather_value() :: integer() | float() | nil

weather_values()

@type weather_values() :: %{required(atom()) => weather_value()}

Functions

extract_timestamp(data)

@spec extract_timestamp(binary()) :: String.t() | nil

extract_timestamp_and_data(data)

@spec extract_timestamp_and_data(binary()) :: {String.t() | nil, binary()}

parse_humidity(data)

@spec parse_humidity(binary()) :: integer() | nil

parse_luminosity(data)

@spec parse_luminosity(binary()) :: integer() | nil

parse_pressure(data)

@spec parse_pressure(binary()) :: float() | nil

parse_rainfall_1h(data)

@spec parse_rainfall_1h(binary()) :: float() | nil

parse_rainfall_24h(data)

@spec parse_rainfall_24h(binary()) :: float() | nil

parse_rainfall_since_midnight(data)

@spec parse_rainfall_since_midnight(binary()) :: float() | nil

parse_snow(data)

@spec parse_snow(binary()) :: float() | nil

parse_temperature(data)

@spec parse_temperature(binary()) :: integer() | nil

parse_wind_direction(data)

@spec parse_wind_direction(binary()) :: integer() | nil

parse_wind_gust(data)

@spec parse_wind_gust(binary()) :: integer() | nil

parse_wind_speed(data)

@spec parse_wind_speed(binary()) :: integer() | nil

remove_timestamp(data)

@spec remove_timestamp(binary()) :: binary()

scan_weather_data(data)

@spec scan_weather_data(binary()) :: {weather_values(), binary()}