packages feed

bglib 1.0.0.0 → 1.0.0.1

raw patch · 2 files changed

+19/−6 lines, 2 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- BGLib.Types: type UInt16 = Word16
- BGLib.Types: type UInt32 = Word32
+ BGLib.Types: data UInt16
+ BGLib.Types: data UInt32
+ BGLib.Types: instance Data.Binary.Class.Binary BGLib.Types.UInt16
+ BGLib.Types: instance Data.Binary.Class.Binary BGLib.Types.UInt32
+ BGLib.Types: instance Data.Bits.Bits BGLib.Types.UInt16
+ BGLib.Types: instance Data.Bits.Bits BGLib.Types.UInt32
+ BGLib.Types: instance Data.Bits.FiniteBits BGLib.Types.UInt16
+ BGLib.Types: instance Data.Bits.FiniteBits BGLib.Types.UInt32
+ BGLib.Types: instance Data.Data.Data BGLib.Types.UInt16
+ BGLib.Types: instance Data.Data.Data BGLib.Types.UInt32
+ BGLib.Types: instance Foreign.Storable.Storable BGLib.Types.UInt16
+ BGLib.Types: instance Foreign.Storable.Storable BGLib.Types.UInt32
+ BGLib.Types: instance GHC.Arr.Ix BGLib.Types.UInt16
+ BGLib.Types: instance GHC.Arr.Ix BGLib.Types.UInt32
+ BGLib.Types: instance GHC.Classes.Eq BGLib.Types.UInt16
+ BGLib.Types: instance GHC.Classes.Eq BGLib.Types.UInt32
+ BGLib.Types: instance GHC.Classes.Ord BGLib.Types.UInt16
+ BGLib.Types: instance GHC.Classes.Ord BGLib.Types.UInt32
+ BGLib.Types: instance GHC.Enum.Bounded BGLib.Types.UInt16
+ BGLib.Types: instance GHC.Enum.Bounded BGLib.Types.UInt32
+ BGLib.Types: instance GHC.Enum.Enum BGLib.Types.UInt16
+ BGLib.Types: instance GHC.Enum.Enum BGLib.Types.UInt32
+ BGLib.Types: instance GHC.Num.Num BGLib.Types.UInt16
+ BGLib.Types: instance GHC.Num.Num BGLib.Types.UInt32
+ BGLib.Types: instance GHC.Read.Read BGLib.Types.UInt16
+ BGLib.Types: instance GHC.Read.Read BGLib.Types.UInt32
+ BGLib.Types: instance GHC.Real.Integral BGLib.Types.UInt16
+ BGLib.Types: instance GHC.Real.Integral BGLib.Types.UInt32
+ BGLib.Types: instance GHC.Real.Real BGLib.Types.UInt16
+ BGLib.Types: instance GHC.Real.Real BGLib.Types.UInt32
+ BGLib.Types: instance GHC.Show.Show BGLib.Types.UInt16
+ BGLib.Types: instance GHC.Show.Show BGLib.Types.UInt32
+ BGLib.Types: instance Text.Printf.PrintfArg BGLib.Types.UInt16
+ BGLib.Types: instance Text.Printf.PrintfArg BGLib.Types.UInt32

Files

bglib.cabal view
@@ -1,5 +1,5 @@ name:                bglib-version:             1.0.0.0+version:             1.0.0.1 synopsis:            Implementation of the BGAPI serial protocol description:         This library implements Silicon Labs' (formerly BlueGiga)                      serial protocol to communicate with certain Bluetooth and
src/BGLib/Types.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE DeriveDataTypeable #-}  module BGLib.Types     ( Int8@@ -61,7 +62,6 @@     , BGResult(..)     ) where -import           Control.Concurrent import           Control.Concurrent.STM.TChan import           Control.Monad.Reader import           Control.Concurrent.STM@@ -70,9 +70,12 @@ import           Data.Binary.Put import           Data.Bits import qualified Data.ByteString as BSS+import           Data.Data import qualified Data.Int as I+import           Data.Ix import           Data.String import qualified Data.Word as W+import           Foreign.Storable import           Numeric import           System.Hardware.Serialport import           Text.Printf@@ -84,11 +87,21 @@ type UInt8 = W.Word8  -- uint16         2 bytes Unsigned 16-bit integer-type UInt16 = W.Word16+newtype UInt16 = UInt16 { fromUInt16 :: W.Word16 }+    deriving (Bounded, Enum, Eq, Integral, Data, Num, Ord, Read, Real, Show, Ix, FiniteBits, Bits, Storable, PrintfArg) +instance Binary UInt16 where+    get = UInt16 <$> getWord16le+    put = putWord16le . fromUInt16+ -- uint32         4 bytes Unsigned 32-bit integer-type UInt32 = W.Word32+newtype UInt32 = UInt32 { fromUInt32 :: W.Word32 }+    deriving (Bounded, Enum, Eq, Integral, Data, Num, Ord, Read, Real, Show, Ix, FiniteBits, Bits, Storable, PrintfArg) +instance Binary UInt32 where+    get = UInt32 <$> getWord32le+    put = putWord32le . fromUInt32+ -- uint8array     byte array, first byte is array size newtype UInt8Array = UInt8Array { fromUInt8Array :: BSS.ByteString } deriving (Show, IsString) @@ -890,7 +903,7 @@             BGRUnsupportedGroupType            -> 0x0410             BGRInsufficientResources           -> 0x0411             BGRApplicationErrorCode errC       -> (fromIntegral errC .&. 0x001f) .|. 0x0480-            BGRUnknown errC                    -> errC+            BGRUnknown errC                    -> fromIntegral errC      get = do         errC <- getWord16le@@ -955,4 +968,4 @@             _      ->                 if errC >= 0x0480 && errC <= 0x049f                     then BGRApplicationErrorCode $ fromIntegral (errC .&. 0x1f)-                    else BGRUnknown errC+                    else BGRUnknown $ fromIntegral errC