extract conversions

This commit is contained in:
Graham McIntire 2023-02-01 08:21:35 -06:00
parent d33dd2d467
commit 5ea16fa5f7
3 changed files with 24 additions and 12 deletions

5
lib/aprs/convert.ex Normal file
View file

@ -0,0 +1,5 @@
defmodule Aprs.Convert do
def wind(speed, :ultimeter, :mph), do: speed * 0.0621371192
def temp(value, :ultimeter, :f), do: value * 0.1
end

View file

@ -3,7 +3,7 @@ defmodule Parser do
Main parsing library
"""
# import Bitwise
alias Aprs.Packet
alias Aprs.{Convert, Packet}
alias Parser.Types.{MicE, Position}
require Logger
@ -196,9 +196,9 @@ defmodule Parser do
|> Enum.map(&hex_decode(&1))
%{
wind_speed: convert_ultimeter_wind(wind_speed),
wind_speed: Convert.wind(wind_speed, :ultimeter, :mph),
wind_direction: wind_direction,
temp_f: convert_ultimeter_temp(temp),
temp_f: Convert.temp(temp, :ultimeter, :f),
rain_long_term_total: rain_long_term_total,
barrometer: barrometer,
barrometer_delta_value: barrometer_delta_value,
@ -508,13 +508,4 @@ defmodule Parser do
# defp convert_ultimeter_humidity(hum) do
# hum * 10
# end
defp convert_ultimeter_wind(wind) do
# convert to mph
wind * 0.0621371192
end
defp convert_ultimeter_temp(temp) do
temp / 10
end
end

View file

@ -0,0 +1,16 @@
defmodule Aprs.ConvertTest do
use ExUnit.Case
alias Aprs.Convert
describe "wind/3" do
test "converts ultimeter mph" do
assert Convert.wind(55, :ultimeter, :mph) == 3.417541556
end
end
describe "temp/3" do
test "converts ultimeter f" do
assert Convert.temp(55, :ultimeter, :f) == 5.5
end
end
end