aboutsummaryrefslogtreecommitdiff
path: root/hsm-status/Hsm/Status.hs
diff options
context:
space:
mode:
authorPaul Oliver <contact@pauloliver.dev>2025-07-02 15:06:35 +0200
committerPaul Oliver <contact@pauloliver.dev>2025-08-13 23:54:10 +0000
commit8fe62292f18f4577303a868a8557b0486b218bcb (patch)
treecb9a9108eea479e932f37d03cf399b680e3886b2 /hsm-status/Hsm/Status.hs
parent0be7f1274e0cb8406bd4262b86d5e2e9dda77d7a (diff)
Code now uses `effectful` to manage side-effects
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"]