CAN bus networking using Linux SocketCAN or SLCAN backends.
import qualified Control.Monad
import qualified Network.CAN
import qualified Network.SocketCAN
main :: IO ()
main = do
Network.SocketCAN.withSocketCAN
(Network.SocketCAN.mkCANInterface "vcan0")
$ \can -> do
Network.CAN.send
can
$ Network.CAN.standardMessage
0x123
[0xDE, 0xAD]
Control.Monad.forever
$ Network.CAN.recv
can
>>= putStrLn . Network.CAN.prettyCANMessage