packages feed

ftdi 0.3.0.3 → 0.3.0.4

raw patch · 4 files changed

+13/−11 lines, 4 filesdep ~basedep ~randomPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

Dependency ranges changed: base, random

API changes (from Hackage documentation)

+ System.FTDI.Internal: BRDiv :: a -> BRDiv a
+ System.FTDI.Internal: BRSubDiv :: a -> BRSubDiv a
+ System.FTDI.Internal: BaudRate :: a -> BaudRate a
+ System.FTDI.Internal: BitMode_BitBang :: BitMode
+ System.FTDI.Internal: BitMode_CBus :: BitMode
+ System.FTDI.Internal: BitMode_MCU :: BitMode
+ System.FTDI.Internal: BitMode_MPSSE :: BitMode
+ System.FTDI.Internal: BitMode_Opto :: BitMode
+ System.FTDI.Internal: BitMode_Reset :: BitMode
+ System.FTDI.Internal: BitMode_SyncBitBang :: BitMode
+ System.FTDI.Internal: BitMode_SyncFIFO :: BitMode
+ System.FTDI.Internal: Bits_7 :: BitDataFormat
+ System.FTDI.Internal: Bits_8 :: BitDataFormat
+ System.FTDI.Internal: ChipType_2232C :: ChipType
+ System.FTDI.Internal: ChipType_2232H :: ChipType
+ System.FTDI.Internal: ChipType_4232H :: ChipType
+ System.FTDI.Internal: ChipType_AM :: ChipType
+ System.FTDI.Internal: ChipType_BM :: ChipType
+ System.FTDI.Internal: ChipType_R :: ChipType
+ System.FTDI.Internal: ChunkedReaderT :: StateT ByteString m a -> ChunkedReaderT (m :: Type -> Type) a
+ System.FTDI.Internal: DTR_DSR :: FlowCtrl
+ System.FTDI.Internal: Device :: Device -> ConfigDesc -> ChipType -> Device
+ System.FTDI.Internal: DeviceHandle :: DeviceHandle -> Device -> Int -> DeviceHandle
+ System.FTDI.Internal: InterfaceHandle :: DeviceHandle -> Interface -> EndpointDesc -> EndpointDesc -> InterfaceHandle
+ System.FTDI.Internal: InterfaceNotFound :: FTDIException
+ System.FTDI.Internal: Interface_A :: Interface
+ System.FTDI.Internal: Interface_B :: Interface
+ System.FTDI.Internal: Interface_C :: Interface
+ System.FTDI.Internal: Interface_D :: Interface
+ System.FTDI.Internal: ModemStatus :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> ModemStatus
+ System.FTDI.Internal: Parity_Even :: Parity
+ System.FTDI.Internal: Parity_Mark :: Parity
+ System.FTDI.Internal: Parity_Odd :: Parity
+ System.FTDI.Internal: Parity_Space :: Parity
+ System.FTDI.Internal: RTS_CTS :: FlowCtrl
+ System.FTDI.Internal: StopBit_1 :: StopBits
+ System.FTDI.Internal: StopBit_15 :: StopBits
+ System.FTDI.Internal: StopBit_2 :: StopBits
+ System.FTDI.Internal: XOnXOff :: FlowCtrl
+ System.FTDI.Internal: [devChipType] :: Device -> ChipType
+ System.FTDI.Internal: [devHndDev] :: DeviceHandle -> Device
+ System.FTDI.Internal: [devHndTimeout] :: DeviceHandle -> Int
+ System.FTDI.Internal: [devHndUSB] :: DeviceHandle -> DeviceHandle
+ System.FTDI.Internal: [devUSBConf] :: Device -> ConfigDesc
+ System.FTDI.Internal: [devUSB] :: Device -> Device
+ System.FTDI.Internal: [ifHndDevHnd] :: InterfaceHandle -> DeviceHandle
+ System.FTDI.Internal: [ifHndInEPDesc] :: InterfaceHandle -> EndpointDesc
+ System.FTDI.Internal: [ifHndInterface] :: InterfaceHandle -> Interface
+ System.FTDI.Internal: [ifHndOutEPDesc] :: InterfaceHandle -> EndpointDesc
+ System.FTDI.Internal: [msBreakInterrupt] :: ModemStatus -> Bool
+ System.FTDI.Internal: [msClearToSend] :: ModemStatus -> Bool
+ System.FTDI.Internal: [msDataReady] :: ModemStatus -> Bool
+ System.FTDI.Internal: [msDataSetReady] :: ModemStatus -> Bool
+ System.FTDI.Internal: [msErrorInReceiverFIFO] :: ModemStatus -> Bool
+ System.FTDI.Internal: [msFramingError] :: ModemStatus -> Bool
+ System.FTDI.Internal: [msOverrunError] :: ModemStatus -> Bool
+ System.FTDI.Internal: [msParityError] :: ModemStatus -> Bool
+ System.FTDI.Internal: [msReceiveLineSignalDetect] :: ModemStatus -> Bool
+ System.FTDI.Internal: [msRingIndicator] :: ModemStatus -> Bool
+ System.FTDI.Internal: [msTransmitterEmpty] :: ModemStatus -> Bool
+ System.FTDI.Internal: [msTransmitterHoldingRegister] :: ModemStatus -> Bool
+ System.FTDI.Internal: [unBRDiv] :: BRDiv a -> a
+ System.FTDI.Internal: [unBRSubDiv] :: BRSubDiv a -> a
+ System.FTDI.Internal: [unBaudRate] :: BaudRate a -> a
+ System.FTDI.Internal: [unCR] :: ChunkedReaderT (m :: Type -> Type) a -> StateT ByteString m a
+ System.FTDI.Internal: calcBaudRate :: (Eq a, Fractional a) => BRDiv Int -> BRSubDiv a -> BaudRate a
+ System.FTDI.Internal: calcBaudRateDivisors :: RealFrac a => ChipType -> BaudRate a -> (BRDiv Int, BRSubDiv Int, BaudRate a)
+ System.FTDI.Internal: closeDevice :: DeviceHandle -> IO ()
+ System.FTDI.Internal: closeInterface :: InterfaceHandle -> IO ()
+ System.FTDI.Internal: control :: InterfaceHandle -> RequestCode -> Value -> IO ()
+ System.FTDI.Internal: data BitDataFormat
+ System.FTDI.Internal: data BitMode
+ System.FTDI.Internal: data ChipType
+ System.FTDI.Internal: data Device
+ System.FTDI.Internal: data DeviceHandle
+ System.FTDI.Internal: data FTDIException
+ System.FTDI.Internal: data FlowCtrl
+ System.FTDI.Internal: data Interface
+ System.FTDI.Internal: data InterfaceHandle
+ System.FTDI.Internal: data ModemStatus
+ System.FTDI.Internal: data Parity
+ System.FTDI.Internal: data StopBits
+ System.FTDI.Internal: defaultTimeout :: Int
+ System.FTDI.Internal: encodeBaudRateDivisors :: ChipType -> BRDiv Int -> BRSubDiv Int -> (Word16, Word16)
+ System.FTDI.Internal: fromUSBDevice :: Device -> ChipType -> IO Device
+ System.FTDI.Internal: genControl :: USBControl a -> Index -> InterfaceHandle -> RequestCode -> RequestValue -> a
+ System.FTDI.Internal: genSetCharacter :: RequestCode -> InterfaceHandle -> Maybe Word8 -> IO ()
+ System.FTDI.Internal: getChipType :: Device -> ChipType
+ System.FTDI.Internal: getDeviceHandle :: InterfaceHandle -> DeviceHandle
+ System.FTDI.Internal: getInterface :: InterfaceHandle -> Interface
+ System.FTDI.Internal: getLatencyTimer :: InterfaceHandle -> IO Word8
+ System.FTDI.Internal: getTimeout :: DeviceHandle -> Int
+ System.FTDI.Internal: guessChipType :: DeviceDesc -> Maybe ChipType
+ System.FTDI.Internal: instance Control.Monad.Fix.MonadFix m => Control.Monad.Fix.MonadFix (System.FTDI.Internal.ChunkedReaderT m)
+ System.FTDI.Internal: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (System.FTDI.Internal.ChunkedReaderT m)
+ System.FTDI.Internal: instance Control.Monad.Trans.Class.MonadTrans System.FTDI.Internal.ChunkedReaderT
+ System.FTDI.Internal: instance Data.Data.Data System.FTDI.Internal.BitMode
+ System.FTDI.Internal: instance Data.Data.Data System.FTDI.Internal.ChipType
+ System.FTDI.Internal: instance Data.Data.Data System.FTDI.Internal.FTDIException
+ System.FTDI.Internal: instance Data.Data.Data System.FTDI.Internal.Interface
+ System.FTDI.Internal: instance Data.Data.Data System.FTDI.Internal.ModemStatus
+ System.FTDI.Internal: instance Data.Data.Data System.FTDI.Internal.Parity
+ System.FTDI.Internal: instance GHC.Base.Functor m => GHC.Base.Functor (System.FTDI.Internal.ChunkedReaderT m)
+ System.FTDI.Internal: instance GHC.Base.Monad m => GHC.Base.Applicative (System.FTDI.Internal.ChunkedReaderT m)
+ System.FTDI.Internal: instance GHC.Base.Monad m => GHC.Base.Monad (System.FTDI.Internal.ChunkedReaderT m)
+ System.FTDI.Internal: instance GHC.Base.MonadPlus m => GHC.Base.Alternative (System.FTDI.Internal.ChunkedReaderT m)
+ System.FTDI.Internal: instance GHC.Base.MonadPlus m => GHC.Base.MonadPlus (System.FTDI.Internal.ChunkedReaderT m)
+ System.FTDI.Internal: instance GHC.Classes.Eq System.FTDI.Internal.BitMode
+ System.FTDI.Internal: instance GHC.Classes.Eq System.FTDI.Internal.ChipType
+ System.FTDI.Internal: instance GHC.Classes.Eq System.FTDI.Internal.Interface
+ System.FTDI.Internal: instance GHC.Classes.Eq System.FTDI.Internal.ModemStatus
+ System.FTDI.Internal: instance GHC.Classes.Eq System.FTDI.Internal.Parity
+ System.FTDI.Internal: instance GHC.Classes.Eq a => GHC.Classes.Eq (System.FTDI.Internal.BRDiv a)
+ System.FTDI.Internal: instance GHC.Classes.Eq a => GHC.Classes.Eq (System.FTDI.Internal.BRSubDiv a)
+ System.FTDI.Internal: instance GHC.Classes.Eq a => GHC.Classes.Eq (System.FTDI.Internal.BaudRate a)
+ System.FTDI.Internal: instance GHC.Classes.Ord System.FTDI.Internal.BitMode
+ System.FTDI.Internal: instance GHC.Classes.Ord System.FTDI.Internal.ChipType
+ System.FTDI.Internal: instance GHC.Classes.Ord System.FTDI.Internal.Interface
+ System.FTDI.Internal: instance GHC.Classes.Ord System.FTDI.Internal.ModemStatus
+ System.FTDI.Internal: instance GHC.Classes.Ord System.FTDI.Internal.Parity
+ System.FTDI.Internal: instance GHC.Classes.Ord a => GHC.Classes.Ord (System.FTDI.Internal.BRDiv a)
+ System.FTDI.Internal: instance GHC.Classes.Ord a => GHC.Classes.Ord (System.FTDI.Internal.BRSubDiv a)
+ System.FTDI.Internal: instance GHC.Classes.Ord a => GHC.Classes.Ord (System.FTDI.Internal.BaudRate a)
+ System.FTDI.Internal: instance GHC.Enum.Enum System.FTDI.Internal.ChipType
+ System.FTDI.Internal: instance GHC.Enum.Enum System.FTDI.Internal.Interface
+ System.FTDI.Internal: instance GHC.Enum.Enum System.FTDI.Internal.Parity
+ System.FTDI.Internal: instance GHC.Enum.Enum System.FTDI.Internal.StopBits
+ System.FTDI.Internal: instance GHC.Enum.Enum a => GHC.Enum.Enum (System.FTDI.Internal.BRDiv a)
+ System.FTDI.Internal: instance GHC.Enum.Enum a => GHC.Enum.Enum (System.FTDI.Internal.BRSubDiv a)
+ System.FTDI.Internal: instance GHC.Enum.Enum a => GHC.Enum.Enum (System.FTDI.Internal.BaudRate a)
+ System.FTDI.Internal: instance GHC.Exception.Type.Exception System.FTDI.Internal.FTDIException
+ System.FTDI.Internal: instance GHC.Generics.Generic System.FTDI.Internal.ChipType
+ System.FTDI.Internal: instance GHC.Generics.Generic System.FTDI.Internal.ModemStatus
+ System.FTDI.Internal: instance GHC.Num.Num a => GHC.Enum.Bounded (System.FTDI.Internal.BRDiv a)
+ System.FTDI.Internal: instance GHC.Num.Num a => GHC.Enum.Bounded (System.FTDI.Internal.BRSubDiv a)
+ System.FTDI.Internal: instance GHC.Num.Num a => GHC.Enum.Bounded (System.FTDI.Internal.BaudRate a)
+ System.FTDI.Internal: instance GHC.Num.Num a => GHC.Num.Num (System.FTDI.Internal.BRDiv a)
+ System.FTDI.Internal: instance GHC.Num.Num a => GHC.Num.Num (System.FTDI.Internal.BRSubDiv a)
+ System.FTDI.Internal: instance GHC.Num.Num a => GHC.Num.Num (System.FTDI.Internal.BaudRate a)
+ System.FTDI.Internal: instance GHC.Read.Read a => GHC.Read.Read (System.FTDI.Internal.BRDiv a)
+ System.FTDI.Internal: instance GHC.Read.Read a => GHC.Read.Read (System.FTDI.Internal.BRSubDiv a)
+ System.FTDI.Internal: instance GHC.Read.Read a => GHC.Read.Read (System.FTDI.Internal.BaudRate a)
+ System.FTDI.Internal: instance GHC.Real.Fractional a => GHC.Real.Fractional (System.FTDI.Internal.BRDiv a)
+ System.FTDI.Internal: instance GHC.Real.Fractional a => GHC.Real.Fractional (System.FTDI.Internal.BRSubDiv a)
+ System.FTDI.Internal: instance GHC.Real.Fractional a => GHC.Real.Fractional (System.FTDI.Internal.BaudRate a)
+ System.FTDI.Internal: instance GHC.Real.Integral a => GHC.Real.Integral (System.FTDI.Internal.BRDiv a)
+ System.FTDI.Internal: instance GHC.Real.Integral a => GHC.Real.Integral (System.FTDI.Internal.BRSubDiv a)
+ System.FTDI.Internal: instance GHC.Real.Integral a => GHC.Real.Integral (System.FTDI.Internal.BaudRate a)
+ System.FTDI.Internal: instance GHC.Real.Real a => GHC.Real.Real (System.FTDI.Internal.BRDiv a)
+ System.FTDI.Internal: instance GHC.Real.Real a => GHC.Real.Real (System.FTDI.Internal.BRSubDiv a)
+ System.FTDI.Internal: instance GHC.Real.Real a => GHC.Real.Real (System.FTDI.Internal.BaudRate a)
+ System.FTDI.Internal: instance GHC.Real.RealFrac a => GHC.Real.RealFrac (System.FTDI.Internal.BRDiv a)
+ System.FTDI.Internal: instance GHC.Real.RealFrac a => GHC.Real.RealFrac (System.FTDI.Internal.BRSubDiv a)
+ System.FTDI.Internal: instance GHC.Real.RealFrac a => GHC.Real.RealFrac (System.FTDI.Internal.BaudRate a)
+ System.FTDI.Internal: instance GHC.Show.Show System.FTDI.Internal.BitMode
+ System.FTDI.Internal: instance GHC.Show.Show System.FTDI.Internal.ChipType
+ System.FTDI.Internal: instance GHC.Show.Show System.FTDI.Internal.FTDIException
+ System.FTDI.Internal: instance GHC.Show.Show System.FTDI.Internal.Interface
+ System.FTDI.Internal: instance GHC.Show.Show System.FTDI.Internal.ModemStatus
+ System.FTDI.Internal: instance GHC.Show.Show System.FTDI.Internal.Parity
+ System.FTDI.Internal: instance GHC.Show.Show a => GHC.Show.Show (System.FTDI.Internal.BRDiv a)
+ System.FTDI.Internal: instance GHC.Show.Show a => GHC.Show.Show (System.FTDI.Internal.BRSubDiv a)
+ System.FTDI.Internal: instance GHC.Show.Show a => GHC.Show.Show (System.FTDI.Internal.BaudRate a)
+ System.FTDI.Internal: interfaceEndPointIn :: Interface -> EndpointAddress
+ System.FTDI.Internal: interfaceEndPointOut :: Interface -> EndpointAddress
+ System.FTDI.Internal: interfaceIndex :: Interface -> Word16
+ System.FTDI.Internal: interfaceToUSB :: Interface -> InterfaceNumber
+ System.FTDI.Internal: marshalBitMode :: BitMode -> Word8
+ System.FTDI.Internal: marshalFlowControl :: FlowCtrl -> Word16
+ System.FTDI.Internal: marshalModemStatus :: ModemStatus -> (Word8, Word8)
+ System.FTDI.Internal: nearestBaudRate :: RealFrac a => ChipType -> BaudRate a -> BaudRate a
+ System.FTDI.Internal: newtype BRDiv a
+ System.FTDI.Internal: newtype BRSubDiv a
+ System.FTDI.Internal: newtype BaudRate a
+ System.FTDI.Internal: newtype ChunkedReaderT (m :: Type -> Type) a
+ System.FTDI.Internal: openDevice :: Device -> IO DeviceHandle
+ System.FTDI.Internal: openInterface :: DeviceHandle -> Interface -> IO InterfaceHandle
+ System.FTDI.Internal: pollModemStatus :: InterfaceHandle -> IO ModemStatus
+ System.FTDI.Internal: purgeReadBuffer :: InterfaceHandle -> IO ()
+ System.FTDI.Internal: purgeWriteBuffer :: InterfaceHandle -> IO ()
+ System.FTDI.Internal: readBulk :: InterfaceHandle -> Int -> IO (ByteString, Status)
+ System.FTDI.Internal: readControl :: InterfaceHandle -> RequestCode -> Value -> Size -> IO (ByteString, Status)
+ System.FTDI.Internal: readData :: MonadIO m => InterfaceHandle -> m Bool -> Int -> ChunkedReaderT m [ByteString]
+ System.FTDI.Internal: reqEraseEEPROM :: RequestCode
+ System.FTDI.Internal: reqGetLatencyTimer :: RequestCode
+ System.FTDI.Internal: reqPollModemStatus :: RequestCode
+ System.FTDI.Internal: reqReadEEPROM :: RequestCode
+ System.FTDI.Internal: reqReadPins :: RequestCode
+ System.FTDI.Internal: reqReset :: RequestCode
+ System.FTDI.Internal: reqSetBaudRate :: RequestCode
+ System.FTDI.Internal: reqSetBitMode :: RequestCode
+ System.FTDI.Internal: reqSetData :: RequestCode
+ System.FTDI.Internal: reqSetErrorChar :: RequestCode
+ System.FTDI.Internal: reqSetEventChar :: RequestCode
+ System.FTDI.Internal: reqSetFlowCtrl :: RequestCode
+ System.FTDI.Internal: reqSetLatencyTimer :: RequestCode
+ System.FTDI.Internal: reqSetModemCtrl :: RequestCode
+ System.FTDI.Internal: reqWriteEEPROM :: RequestCode
+ System.FTDI.Internal: reset :: InterfaceHandle -> IO ()
+ System.FTDI.Internal: resetUSB :: DeviceHandle -> IO ()
+ System.FTDI.Internal: runChunkedReaderT :: ChunkedReaderT m a -> ByteString -> m (a, ByteString)
+ System.FTDI.Internal: setBaudRate :: RealFrac a => InterfaceHandle -> BaudRate a -> IO (BaudRate a)
+ System.FTDI.Internal: setBitMode :: InterfaceHandle -> Word8 -> BitMode -> IO ()
+ System.FTDI.Internal: setChipType :: Device -> ChipType -> Device
+ System.FTDI.Internal: setDTR :: InterfaceHandle -> Bool -> IO ()
+ System.FTDI.Internal: setErrorCharacter :: InterfaceHandle -> Maybe Word8 -> IO ()
+ System.FTDI.Internal: setEventCharacter :: InterfaceHandle -> Maybe Word8 -> IO ()
+ System.FTDI.Internal: setFlowControl :: InterfaceHandle -> Maybe FlowCtrl -> IO ()
+ System.FTDI.Internal: setLatencyTimer :: InterfaceHandle -> Word8 -> IO ()
+ System.FTDI.Internal: setLineProperty :: InterfaceHandle -> BitDataFormat -> StopBits -> Maybe Parity -> Bool -> IO ()
+ System.FTDI.Internal: setRTS :: InterfaceHandle -> Bool -> IO ()
+ System.FTDI.Internal: setTimeout :: DeviceHandle -> Int -> DeviceHandle
+ System.FTDI.Internal: type RequestCode = Word8
+ System.FTDI.Internal: type RequestValue = Word16
+ System.FTDI.Internal: type USBControl a = DeviceHandle -> ControlSetup -> Timeout -> a
+ System.FTDI.Internal: unmarshalModemStatus :: Word8 -> Word8 -> ModemStatus
+ System.FTDI.Internal: valPurgeReadBuffer :: RequestValue
+ System.FTDI.Internal: valPurgeWriteBuffer :: RequestValue
+ System.FTDI.Internal: valResetSIO :: RequestValue
+ System.FTDI.Internal: valSetDTRHigh :: RequestValue
+ System.FTDI.Internal: valSetDTRLow :: RequestValue
+ System.FTDI.Internal: valSetRTSHigh :: RequestValue
+ System.FTDI.Internal: valSetRTSLow :: RequestValue
+ System.FTDI.Internal: withDetachedKernelDriver :: DeviceHandle -> Interface -> IO a -> IO a
+ System.FTDI.Internal: withDeviceHandle :: Device -> (DeviceHandle -> IO a) -> IO a
+ System.FTDI.Internal: withInterfaceHandle :: DeviceHandle -> Interface -> (InterfaceHandle -> IO a) -> IO a
+ System.FTDI.Internal: writeBulk :: InterfaceHandle -> ByteString -> IO (Int, Status)
+ System.FTDI.Internal: writeControl :: InterfaceHandle -> RequestCode -> Value -> ByteString -> IO (Size, Status)

Files

CHANGELOG.md view
@@ -1,5 +1,10 @@ # Revision history for ftdi +## 0.3.0.4 -- 2025-02-18++* Export `System.FTDI.Internal`+* Update dependency bounds+ ## 0.3.0.3 -- 2024-06-01  * Remove base-unicode-symbols
README.md view
@@ -1,7 +1,6 @@ # FTDI [![Haskell CI](https://github.com/standardsemiconductor/ftdi/actions/workflows/haskell.yml/badge.svg)](https://github.com/standardsemiconductor/ftdi/actions/workflows/haskell.yml) [![Hackage][hackage-badge]][hackage]-[![Hackage Dependencies][hackage-deps-badge]][hackage-deps]  This library enables you to communicate with FTDI USB devices. It is implemented as a lightweight wrapper around the [usb](https://hackage.haskell.org/package/usb) library. @@ -83,5 +82,3 @@  [hackage]:            <https://hackage.haskell.org/package/ftdi> [hackage-badge]:      <https://img.shields.io/hackage/v/ftdi.svg?color=success>-[hackage-deps-badge]: <https://img.shields.io/hackage-deps/v/ftdi.svg>-[hackage-deps]:       <http://packdeps.haskellers.com/feed?needle=ftdi>
System/FTDI/Properties.hs view
@@ -5,7 +5,7 @@  import Control.Applicative import Control.Arrow-import Data.Bits             ( (.&.) )+import Data.Bits import Data.Word import Generic.Random        ( genericArbitrary, uniform ) import System.FTDI           ( ModemStatus(..), ChipType(..)
ftdi.cabal view
@@ -1,11 +1,11 @@ name:          ftdi-version:       0.3.0.3+version:       0.3.0.4 cabal-version: >=1.10 build-type:    Simple stability:     experimental author:        Roel van Dijk <vandijk.roel@gmail.com>, Ben Gamari <ben@smart-cactus.org>, David Cox <standardsemiconductor@gmail.com> maintainer:    David Cox <standardsemiconductor@gmail.com-copyright:     (c) 2009, 2010 Roel van Dijk, (c) 2018 Ben Gamari, (c) 2021-2024 David Cox+copyright:     (c) 2009, 2010 Roel van Dijk, (c) 2018 Ben Gamari, (c) 2021-2025 David Cox license:       BSD3 license-file:  LICENSE category:      System, Hardware@@ -22,10 +22,10 @@ library   exposed-modules: System.FTDI                  , System.FTDI.MPSSE-  other-modules: System.FTDI.Internal-               , System.FTDI.Utils+                 , System.FTDI.Internal+  other-modules: System.FTDI.Utils   build-depends: async                >= 2.2   && < 2.3-               , base                 >= 4.5   && < 4.21+               , base                 >= 4.5   && < 4.22                , bytestring           >= 0.10  && < 0.13                , transformers         >= 0.5   && < 0.7                , usb                  >= 1.3   && < 1.4@@ -43,11 +43,11 @@                , System.FTDI.Utils.Properties   ghc-options: -Wall -fno-warn-orphans   default-language: Haskell2010-  build-depends: base+  build-depends: base                                   < 4.22                , bytestring                , QuickCheck                 >= 2.11  && < 2.16                , generic-random             >= 1.3   && < 1.6-               , random                     >= 1.0.0 && < 1.3+               , random                     >= 1.0.0 && < 1.4                , tagged                     >= 0.8   && < 0.9                , test-framework             >= 0.8   && < 0.9                , test-framework-quickcheck2 >= 0.3   && < 0.4