Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
- newtype IndividualAddress = IndividualAddress Word16
- fromIndividualAddress :: IndividualAddress -> (Word8, Word8, Word8)
- toIndividualAddress :: Word8 -> Word8 -> Word8 -> IndividualAddress
- newtype GroupAddress = GroupAddress Word16
- fromGroupAddress :: GroupAddress -> (Word8, Word8, Word8)
- toGroupAddress :: Word8 -> Word8 -> Word8 -> GroupAddress
Individual Addresses
newtype IndividualAddress Source
Used to determine a message's origin. Each individual address points to a single device in the system. It is used as follows:
myDeviceAddr :: IndividualAddress myDeviceAddr = "1.2.3" -- With OverloadedStrings only
or
myDeviceAddr :: IndividualAddress myDeviceAddr = toIndividualAddress 1 2 3
Use fromIndividualAddress
, in order to dissect an individual address:
(a, b, c) = fromIndividualAddress myDeviceAddr
where (a, b, c)
are the main-line, sub-line and device address.
Eq IndividualAddress | |
Ord IndividualAddress | |
Show IndividualAddress | |
IsString IndividualAddress | Instance for the OverloadedStrings extension |
fromIndividualAddress :: IndividualAddress -> (Word8, Word8, Word8) Source
Inspect an individual address.
toIndividualAddress :: Word8 -> Word8 -> Word8 -> IndividualAddress Source
Create an individual address.
Group Addresses
newtype GroupAddress Source
Used to identify communication groups. Individual and group addresses are created and inspected in similiar fashion.
myGrpAddr :: GroupAddress myGrpAddr = "1/2/3"
or
myGrpAddr :: GroupAddress myGrpAddr = toGroupAddress 1 2 3
Inspect the components of a group address in the following manner:
(a, b, c) = fromGroupAddress myGrpAddr
Eq GroupAddress | |
Ord GroupAddress | |
Show GroupAddress | |
IsString GroupAddress | Instance for the OverloadedStrings extension |
fromGroupAddress :: GroupAddress -> (Word8, Word8, Word8) Source
Inspect a group address.
toGroupAddress :: Word8 -> Word8 -> Word8 -> GroupAddress Source
Create a group address.