network-can: CAN bus networking

[ bsd3, library, network ] [ Propose Tags ] [ Report a vulnerability ]

Talk to CAN buses using Linux SocketCAN and SLCAN


[Skip to Readme]

Flags

Automatic Flags
NameDescriptionDefault
build-apps

Build example applications

Disabled
build-readme

Build readme example

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.2.0.0
Change log CHANGELOG.md
Dependencies attoparsec (>=0.14), base (>=4.7 && <5), bytestring, containers, data-default, io-classes, network (>=3.1), network-can, QuickCheck, serialport (>=0.5.5) [details]
License BSD-3-Clause
Copyright 2024 sorki
Author sorki
Maintainer srk@48.io
Uploaded by srk at 2026-04-29T12:08:37Z
Category Network
Home page https://github.com/DistRap/network-can
Source repo head: git clone https://github.com/DistRap/network-can
Distributions
Executables readme, hslcanudp, hslcanserial, hcanbridge, hcandump
Downloads 41 total (3 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2026-04-29 [all 1 reports]

Readme for network-can-0.2.0.0

[back to package description]

network-can

GitHub Workflow Status Hackage version

CAN bus networking using Linux SocketCAN or SLCAN backends.

Usage

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