Safe Haskell | None |
---|
System.Hardware.BusPirate.I2C
- data I2cM a
- i2cMode :: I2cM a -> BusPirateM a
- startBit :: I2cM ()
- stopBit :: I2cM ()
- readByte :: I2cM Word8
- ackBit :: I2cM ()
- nackBit :: I2cM ()
- bulkWrite :: ByteString -> I2cM ()
- data PeripheralConfig = PConfig {
- perPower :: Bool
- perPullups :: Bool
- perAux :: Bool
- perChipSelect :: Bool
- setConfig :: PeripheralConfig -> I2cM ()
- data I2cSpeed
- = I2c_5kHz
- | I2c_50kHz
- | I2c_100kHz
- | I2c_400kHz
- setSpeed :: I2cSpeed -> I2cM ()
- data I2CAddress
- from7Bit :: Word8 -> I2CAddress
- from8Bit :: Word8 -> I2CAddress
- readAddr :: I2CAddress -> Word8
- writeAddr :: I2CAddress -> Word8
- writeReg :: I2CAddress -> Word8 -> Word8 -> I2cM ()
- readReg :: I2CAddress -> Word8 -> I2cM Word8
- readReg' :: I2CAddress -> Word8 -> Int -> I2cM ByteString
Types
i2cMode :: I2cM a -> BusPirateM aSource
Enter I2C mode and run given action
Bus operations
bulkWrite :: ByteString -> I2cM ()Source
Write some bytes
Configuration
data PeripheralConfig Source
Constructors
PConfig | |
Fields
|
Instances
setConfig :: PeripheralConfig -> I2cM ()Source
Set Bus Pirate peripheral configuration bits
I2C bus speed
Constructors
I2c_5kHz | |
I2c_50kHz | |
I2c_100kHz | |
I2c_400kHz |
Device addresses
data I2CAddress Source
An I2C address (shifted 7-bit)
from7Bit :: Word8 -> I2CAddressSource
An I2C address from a unshifted 7-bit address
from8Bit :: Word8 -> I2CAddressSource
An I2C address from a shifted 8-bit address (masking out the read/write bit)
readAddr :: I2CAddress -> Word8Source
writeAddr :: I2CAddress -> Word8Source
Register interface
readReg' :: I2CAddress -> Word8 -> Int -> I2cM ByteStringSource
Perform a read of the given length starting at the given register