IGC.Headers (igc v1.0.0)

Represents the known Header attributes of the IGC file. All the attributes, in their raw form, are stored in the raw_headers field.

Link to this section Summary

Functions

Parses a "H" record line, populating the result in the IGC.Header struct

Link to this section Types

Link to this type

maybe_value()

@type maybe_value() :: String.t() | nil | :unknown
Link to this type

raw_headers()

@type raw_headers() :: %{required(String.t()) => {String.t() | nil, String.t()}}
@type t() :: %IGC.Headers{
  competition_class: maybe_value(),
  competition_id: maybe_value(),
  data_extensions: IGC.Extensions.t(),
  date: Date.t() | nil,
  firmware_version: maybe_value(),
  fix_extensions: IGC.Extensions.t(),
  flight_number: integer() | nil,
  flight_recorder_id: String.t() | nil,
  flight_recorder_type: maybe_value(),
  glider_id: maybe_value(),
  glider_type: maybe_value(),
  gnss_altitude: maybe_value(),
  hardware_version: maybe_value(),
  pilot: maybe_value(),
  pressure_altitude: maybe_value(),
  pressure_sensor: maybe_value(),
  raw_headers: raw_headers(),
  timezone: maybe_value()
}

Link to this section Functions

Link to this function

parse_line(line, headers \\ %__MODULE__{})

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

Parses a "H" record line, populating the result in the IGC.Header struct