{-# LANGUAGE CPP #-} {- | @ s <- openSerial \"\/dev\/ttyUSB0\" B9600 8 One NoParity NoFlowControl forM_ \"AT\\r\" $ sendChar s -- from Control.Monad.Loops response <- unfoldM (recvChar s) print response closeSerial s @ -} module System.Hardware.Serialport ( -- * Types StopBits(..) ,Parity(..) ,FlowControl(..) ,BaudRate(..) ,SerialPort #if defined(linux_HOST_OS) -- * Simple, non-portable. ,hOpenSerial #endif -- * Portable methods. ,openSerial ,sendChar ,recvChar ,closeSerial ) where #if defined(mingw32_HOST_OS) import System.Hardware.Serialport.Windows import System.Win32.Comm #elif defined(linux_HOST_OS) import System.Hardware.Serialport.Posix import System.Posix.Terminal #endif