aboutsummaryrefslogtreecommitdiff
path: root/hsm-status/Hsm/Status.hs
diff options
context:
space:
mode:
Diffstat (limited to 'hsm-status/Hsm/Status.hs')
-rw-r--r--hsm-status/Hsm/Status.hs41
1 files changed, 0 insertions, 41 deletions
diff --git a/hsm-status/Hsm/Status.hs b/hsm-status/Hsm/Status.hs
deleted file mode 100644
index 8154611..0000000
--- a/hsm-status/Hsm/Status.hs
+++ /dev/null
@@ -1,41 +0,0 @@
-{-# LANGUAGE DataKinds #-}
-{-# LANGUAGE OverloadedRecordDot #-}
-{-# LANGUAGE OverloadedStrings #-}
-
-module Hsm.Status
- ( StatusEnv(..)
- , statusEnvDefault
- , status
- ) where
-
-import Foreign.Ptr (Ptr)
-import GHC.Records (HasField)
-import Hsm.GPIO (GPIO(..), LineRequest, active, inactive, setPins)
-import Hsm.Log qualified as L
-
-data StatusEnv = StatusEnv
- { gpioOk :: GPIO
- , gpioError :: GPIO
- }
-
-statusEnvDefault :: StatusEnv
-statusEnvDefault = StatusEnv {gpioOk = GPIO17, gpioError = GPIO27}
-
-status ::
- HasField "statusEnv" env StatusEnv
- => Ptr LineRequest
- -> env
- -> [Bool]
- -> IO ()
-status lineRequest env signals = do
- if and signals
- then do
- logMsg "All signals OK"
- setPins lineRequest [env.statusEnv.gpioError] inactive
- setPins lineRequest [env.statusEnv.gpioOk] active
- else do
- logMsg "Error signal received"
- setPins lineRequest [env.statusEnv.gpioError] active
- setPins lineRequest [env.statusEnv.gpioOk] inactive
- where
- logMsg = L.logMsg ["status"]