{-# LANGUAGE ForeignFunctionInterface #-} module System.PIO.Linux.SPI ( mode0, mode1, mode2, mode3, transferMessage1, setRdMode, setWrMode, setRdLbsFirst, setWrLbsFirst, setRdBitsPerWord, setWrBitsPerWord, setRdMaxSpeedHz, setWrMaxSpeedHz, ) where import Foreign.Ptr(Ptr) import Data.Word(Word8,Word32) foreign import ccall "spi_mode_0" mode0 :: Word8 foreign import ccall "spi_mode_1" mode1 :: Word8 foreign import ccall "spi_mode_2" mode2 :: Word8 foreign import ccall "spi_mode_3" mode3 :: Word8 foreign import ccall "spi_transfer_message_1" transferMessage1 :: Int -> Ptr a -> Int -> Word32 -> Word8 -> IO Int foreign import ccall "spi_set_rd_mode" setRdMode :: Int -> Word8 -> IO Int foreign import ccall "spi_set_wr_mode" setWrMode :: Int -> Word8 -> IO Int foreign import ccall "spi_set_rd_lbs_first" setRdLbsFirst :: Int -> Word8 -> IO Int foreign import ccall "spi_set_wr_lbs_first" setWrLbsFirst :: Int -> Word8 -> IO Int foreign import ccall "spi_set_rd_bits_per_word" setRdBitsPerWord :: Int -> Word8 -> IO Int foreign import ccall "spi_set_wr_bits_per_word" setWrBitsPerWord :: Int -> Word8 -> IO Int foreign import ccall "spi_set_rd_max_speed_hz" setRdMaxSpeedHz :: Int -> Word32 -> IO Int foreign import ccall "spi_set_wr_max_speed_hz" setWrMaxSpeedHz :: Int -> Word32 -> IO Int