Add led handler for firmware connection and estop status

pull/974/head
connor rigby 2019-07-23 10:18:17 -07:00 committed by Connor Rigby
parent 7fa252e9d7
commit 2b058c9a14
No known key found for this signature in database
GPG Key ID: 29A88B24B70456E0
1 changed files with 8 additions and 2 deletions

View File

@ -3,8 +3,7 @@ defmodule FarmbotCore.FirmwareSideEffects do
@behaviour FarmbotFirmware.SideEffects
require Logger
require FarmbotCore.Logger
alias FarmbotCore.{Asset, BotState}
alias FarmbotCore.FirmwareEstopTimer
alias FarmbotCore.{Asset, BotState, FirmwareEstopTimer, Leds}
@impl FarmbotFirmware.SideEffects
def handle_position(x: x, y: y, z: z) do
@ -60,17 +59,22 @@ defmodule FarmbotCore.FirmwareSideEffects do
case String.split(version, ".") do
# Ramps
[_, _, _, "R"] ->
_ = Leds.red(:solid)
:ok = BotState.set_firmware_hardware("arduino")
# Farmduino
[_, _, _, "F"] ->
_ = Leds.red(:solid)
:ok = BotState.set_firmware_hardware("farmduino")
# Farmduino V14
[_, _, _, "G"] ->
_ = Leds.red(:solid)
:ok = BotState.set_firmware_hardware("farmduino_k14")
# Express V10
[_, _, _, "E"] ->
_ = Leds.red(:solid)
:ok = BotState.set_firmware_hardware("express_k10")
[_, _, _, "S"] ->
_ = Leds.red(:slow_blink)
:ok = BotState.set_firmware_version("none")
:ok = BotState.set_firmware_hardware("none")
end
@ -96,12 +100,14 @@ defmodule FarmbotCore.FirmwareSideEffects do
@impl FarmbotFirmware.SideEffects
def handle_emergency_lock() do
_ = FirmwareEstopTimer.start_timer()
_ = Leds.yellow(:slow_blink)
:ok = BotState.set_firmware_locked()
end
@impl FarmbotFirmware.SideEffects
def handle_emergency_unlock() do
_ = FirmwareEstopTimer.cancel_timer()
_ = Leds.yellow(:off)
:ok = BotState.set_firmware_unlocked()
end