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