Update PinBinding logs

pull/974/head
Connor Rigby 2019-09-13 07:34:29 -07:00
parent 9bba20766e
commit d68605a213
No known key found for this signature in database
GPG Key ID: 29A88B24B70456E0
2 changed files with 49 additions and 15 deletions

View File

@ -55,27 +55,61 @@ defmodule FarmbotCore.Asset.PinBinding do
end
defimpl String.Chars, for: FarmbotCore.Asset.PinBinding do
def to_string(%FarmbotCore.Asset.PinBinding{special_action: action, pin_num: 16}) do
special_action(1, action, 16)
end
def to_string(%FarmbotCore.Asset.PinBinding{pin_num: 16}) do
"Button 1"
"Button 1: (Pi 16)"
end
def to_string(%FarmbotCore.Asset.PinBinding{special_action: action, pin_num: 22}) do
special_action(2, action, 22)
end
def to_string(%FarmbotCore.Asset.PinBinding{pin_num: 22}) do
"Button 2"
"Button 2: (Pi 22)"
end
def to_string(%FarmbotCore.Asset.PinBinding{special_action: action, pin_num: 26}) do
special_action(3, action, 26)
end
def to_string(%FarmbotCore.Asset.PinBinding{pin_num: 26}) do
"Button 3"
"Button 3: (Pi 26)"
end
def to_string(%FarmbotCore.Asset.PinBinding{special_action: action, pin_num: 5}) do
special_action(4, action, 5)
end
def to_string(%FarmbotCore.Asset.PinBinding{pin_num: 5}) do
"Button 4"
"Button 4: (Pi 5)"
end
def to_string(%FarmbotCore.Asset.PinBinding{special_action: action, pin_num: 20}) do
special_action(5, action, 20)
end
def to_string(%FarmbotCore.Asset.PinBinding{pin_num: 20}) do
"Button 5"
"Button 5: (Pi 20)"
end
def to_string(%FarmbotCore.Asset.PinBinding{pin_num: num}) do
"Pi GPIO #{num}"
end
defp special_action(button_number, action, pin_num) do
"Button #{button_number}: #{format_action(action)} (Pi #{pin_num})"
end
defp format_action("dump_info"), do: "Dump Info"
defp format_action("emergency_lock"), do: "E-Stop"
defp format_action("emergency_unlock"), do: "E-Unlock"
defp format_action("power_off"), do: "Power Off"
defp format_action("read_status"), do: "Read Status"
defp format_action("reboot"), do: "Reboot"
defp format_action("sync"), do: "Sync"
defp format_action("take_photo"), do: "Take Photo"
defp format_action(_), do: nil
end

View File

@ -72,9 +72,9 @@ defimpl FarmbotCore.AssetWorker, for: FarmbotCore.Asset.PinBinding do
@impl true
def handle_cast(:trigger, %{pin_binding: %{special_action: nil} = pin_binding} = state) do
FarmbotCore.Logger.info(1, "Pinbinding triggered: #{pin_binding}")
case Asset.get_sequence(pin_binding.sequence_id) do
%Sequence{} = seq ->
%Sequence{name: name} = seq ->
FarmbotCore.Logger.info(1, "#{pin_binding} triggered, executing #{name}")
AST.decode(seq)
|> execute(state)
@ -85,7 +85,7 @@ defimpl FarmbotCore.AssetWorker, for: FarmbotCore.Asset.PinBinding do
end
def handle_cast(:trigger, %{pin_binding: %{special_action: "dump_info"} = pin_binding} = state) do
FarmbotCore.Logger.info(1, "Pinbinding triggered: #{pin_binding}")
FarmbotCore.Logger.info(1, "#{pin_binding} triggered, executing Dump Info")
AST.Factory.new()
|> AST.Factory.rpc_request("pin_binding.#{pin_binding.pin_num}")
|> AST.Factory.dump_info()
@ -93,7 +93,7 @@ defimpl FarmbotCore.AssetWorker, for: FarmbotCore.Asset.PinBinding do
end
def handle_cast(:trigger, %{pin_binding: %{special_action: "emergency_lock"} = pin_binding} = state) do
FarmbotCore.Logger.info(1, "Pinbinding triggered: #{pin_binding}")
FarmbotCore.Logger.info(1, "#{pin_binding} triggered, executing Emergency Lock")
AST.Factory.new()
|> AST.Factory.rpc_request("pin_binding.#{pin_binding.pin_num}")
|> AST.Factory.emergency_lock()
@ -101,7 +101,7 @@ defimpl FarmbotCore.AssetWorker, for: FarmbotCore.Asset.PinBinding do
end
def handle_cast(:trigger, %{pin_binding: %{special_action: "emergency_unlock"} = pin_binding} = state) do
FarmbotCore.Logger.info(1, "Pinbinding triggered: #{pin_binding}")
FarmbotCore.Logger.info(1, "#{pin_binding} triggered, executing Emergency Unlock")
AST.Factory.new()
|> AST.Factory.rpc_request("pin_binding.#{pin_binding.pin_num}")
|> AST.Factory.emergency_unlock()
@ -109,7 +109,7 @@ defimpl FarmbotCore.AssetWorker, for: FarmbotCore.Asset.PinBinding do
end
def handle_cast(:trigger, %{pin_binding: %{special_action: "power_off"} = pin_binding} = state) do
FarmbotCore.Logger.info(1, "Pinbinding triggered: #{pin_binding}")
FarmbotCore.Logger.info(1, "#{pin_binding} triggered, executing Power Off")
AST.Factory.new()
|> AST.Factory.rpc_request("pin_binding.#{pin_binding.pin_num}")
|> AST.Factory.power_off()
@ -117,7 +117,7 @@ defimpl FarmbotCore.AssetWorker, for: FarmbotCore.Asset.PinBinding do
end
def handle_cast(:trigger, %{pin_binding: %{special_action: "read_status"} = pin_binding} = state) do
FarmbotCore.Logger.info(1, "Pinbinding triggered: #{pin_binding}")
FarmbotCore.Logger.info(1, "#{pin_binding} triggered, executing Read Status")
AST.Factory.new()
|> AST.Factory.rpc_request("pin_binding.#{pin_binding.pin_num}")
|> AST.Factory.read_status()
@ -125,7 +125,7 @@ defimpl FarmbotCore.AssetWorker, for: FarmbotCore.Asset.PinBinding do
end
def handle_cast(:trigger, %{pin_binding: %{special_action: "reboot"} = pin_binding} = state) do
FarmbotCore.Logger.info(1, "Pinbinding triggered: #{pin_binding}")
FarmbotCore.Logger.info(1, "#{pin_binding} triggered, executing Reboot")
AST.Factory.new()
|> AST.Factory.rpc_request("pin_binding.#{pin_binding.pin_num}")
|> AST.Factory.reboot()
@ -133,7 +133,7 @@ defimpl FarmbotCore.AssetWorker, for: FarmbotCore.Asset.PinBinding do
end
def handle_cast(:trigger, %{pin_binding: %{special_action: "sync"} = pin_binding} = state) do
FarmbotCore.Logger.info(1, "Pinbinding triggered: #{pin_binding}")
FarmbotCore.Logger.info(1, "#{pin_binding} triggered, executing Sync")
AST.Factory.new()
|> AST.Factory.rpc_request("pin_binding.#{pin_binding.pin_num}")
|> AST.Factory.sync()
@ -141,7 +141,7 @@ defimpl FarmbotCore.AssetWorker, for: FarmbotCore.Asset.PinBinding do
end
def handle_cast(:trigger, %{pin_binding: %{special_action: "take_photo"} = pin_binding} = state) do
FarmbotCore.Logger.info(1, "Pinbinding triggered: #{pin_binding}")
FarmbotCore.Logger.info(1, "#{pin_binding} triggered, executing Take Photo")
AST.Factory.new()
|> AST.Factory.rpc_request("pin_binding.#{pin_binding.pin_num}")
|> AST.Factory.take_photo()