X-Git-Url: https://git.xandkar.net/?p=erlang-x-plane-data.git;a=blobdiff_plain;f=src%2Fx_plane_data.erl;fp=src%2Fx_plane_data.erl;h=0000000000000000000000000000000000000000;hp=0a31a42597683b5723c1b24bcc8cb047fa3805dd;hb=07ba60a5e3ff3cf3b8e96ff49bb27ac3c6b46ba6;hpb=c9410825c5416a62558ac6bd108a1dbe6ffbc3c6 diff --git a/src/x_plane_data.erl b/src/x_plane_data.erl deleted file mode 100644 index 0a31a42..0000000 --- a/src/x_plane_data.erl +++ /dev/null @@ -1,49 +0,0 @@ --module(x_plane_data). - --include("x_plane_datum_defaults.hrl"). - --export_type( - [ t/0 - ]). - --export( - [ of_bin/1 - ]). - --type parsing_error() :: - packet_unrecognized - | packet_length_invalid - | x_plane_datum:parsing_error() - . - --type t() :: - [x_plane_datum:t()]. - --define(BYTE_SIZE_OF_EACH_BLOCK, 36). - --spec of_bin(binary()) -> - hope_result:t(t(), parsing_error()). -of_bin(<>) -> - of_bin(Packet, ?DEFAULT_MAX_INDEX). - --spec of_bin(binary(), non_neg_integer()) -> - hope_result:t(t(), parsing_error()). -of_bin(<<"DATA", _PacketIndexByte:1/bytes, ContiguousBlocks/binary>>, MaxIndex) -> - % Packet index byte seems to be changing from X-Plane version to version. - % What is it's meaning? - if byte_size(ContiguousBlocks) rem ?BYTE_SIZE_OF_EACH_BLOCK =:= 0 -> - Blocks = blocks_split(ContiguousBlocks), - ParseBlock = fun (B) -> x_plane_datum:of_bin(B, MaxIndex) end, - hope_list:map_result(Blocks, ParseBlock) - ; true -> - {error, packet_length_invalid} - end; -of_bin(<<_/binary>>, _) -> - {error, packet_unrecognized}. - --spec blocks_split(binary()) -> - [binary()]. -blocks_split(<<>>) -> - []; -blocks_split(<>) -> - [Block | blocks_split(Blocks)].