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 +5/−0
- README.md +0/−3
- System/FTDI/Properties.hs +1/−1
- ftdi.cabal +7/−7
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 [](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