bus-pirate-0.6: System/Hardware/BusPirate.hs
{-# LANGUAGE OverloadedStrings, GeneralizedNewtypeDeriving #-}
module System.Hardware.BusPirate
( -- * General
BusPirateM
, runBusPirate
-- * I2C mode
, runI2c
-- * SPI mode
, runSpi
) where
import Control.Monad (replicateM)
import Control.Monad.IO.Class
import Control.Monad.Trans.Class
import Control.Monad.Trans.Either
import Control.Monad.Trans.Reader
import Control.Applicative
import System.Hardware.BusPirate.Core
import System.Hardware.BusPirate.I2C
import System.Hardware.BusPirate.SPI
-- | Convenient way to run an I2C action
runI2c :: FilePath -> I2cM a -> IO (Either String a)
runI2c path action = runBusPirate path $ i2cMode action
-- | Convenient way to run an I2C action
runSpi :: FilePath -> SpiM a -> IO (Either String a)
runSpi path action = runBusPirate path $ spiMode action