module System.Hardware.BusPirate
(
BusPirateM
, runBusPirate
, runI2c
, 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
runI2c :: FilePath -> I2cM a -> IO (Either String a)
runI2c path action = runBusPirate path $ i2cMode action
runSpi :: FilePath -> SpiM a -> IO (Either String a)
runSpi path action = runBusPirate path $ spiMode action