extract conversions
This commit is contained in:
parent
d33dd2d467
commit
5ea16fa5f7
3 changed files with 24 additions and 12 deletions
5
lib/aprs/convert.ex
Normal file
5
lib/aprs/convert.ex
Normal 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
|
||||
|
|
@ -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
|
||||
|
|
|
|||
16
test/aprs/convert_test.exs
Normal file
16
test/aprs/convert_test.exs
Normal 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
|
||||
Loading…
Add table
Reference in a new issue