bus-pirate 0.6.1 → 0.6.2
raw patch · 2 files changed
+15/−3 lines, 2 filesdep ~base
Dependency ranges changed: base
Files
- System/Hardware/BusPirate/Core.hs +13/−1
- bus-pirate.cabal +2/−2
System/Hardware/BusPirate/Core.hs view
@@ -10,6 +10,8 @@ import Control.Monad.IO.Class import System.IO import Data.Word+import Data.List (intercalate)+import qualified Numeric import Control.Concurrent (threadDelay) import System.Hardware.Serialport as SP@@ -17,6 +19,9 @@ import qualified Data.ByteString as BS import Data.ByteString (ByteString) +debug :: Bool+debug = False+ newtype BusPirateM a = BPM (EitherT String (ReaderT Handle IO) a) deriving (Functor, Applicative, Monad, MonadIO) @@ -64,7 +69,9 @@ return res put :: ByteString -> BusPirateM ()-put bs = withDevice $ \dev->BPM $ liftIO $ BS.hPut dev bs+put bs = withDevice $ \dev->BPM $ do+ liftIO $ BS.hPut dev bs+ when debug $ liftIO $ print $ showHex bs putByte :: Word8 -> BusPirateM () putByte b = withDevice $ \dev->BPM $ liftIO $ BS.hPut dev (BS.singleton b)@@ -113,3 +120,8 @@ where bit n True = 2^n bit _ _ = 0++showHex :: BS.ByteString -> String+showHex = intercalate " " . map (zeroPad 2 . flip Numeric.showHex "") . BS.unpack+ where+ zeroPad n s = replicate (n - length s) '0' ++ s
bus-pirate.cabal view
@@ -1,5 +1,5 @@ name: bus-pirate-version: 0.6.1+version: 0.6.2 synopsis: Haskell interface to the Bus Pirate binary interface homepage: http://www.github.com/bgamari/bus-pirate license: BSD3@@ -22,7 +22,7 @@ System.Hardware.BusPirate.I2C System.Hardware.BusPirate.SPI other-modules: System.Hardware.BusPirate.Core- build-depends: base >=4.6 && <4.8,+ build-depends: base >=4.6 && <4.9, serialport >=0.4 && <0.5, bytestring >=0.10 && <0.11, errors >=1.4 && <1.5,