import Control.Monad (forM_) import Data.ByteString.Lazy (writeFile) import Data.Function ((&)) import Effectful (liftIO, runEff) import Hsm.Cam (capturePng, runCam) import Hsm.Log (Severity(Info, Trace), logMsg, runLog) import Prelude hiding (writeFile) main :: IO () main = forM_ [0 .. 31] savePng & runCam & runLog @"cam" Trace & runEff where savePng index = do logMsg Info $ "Saving image to file: " <> path capturePng >>= liftIO . writeFile path where path = "/tmp/hsm-cam-test" <> show @Int index <> ".png"