Skip to main content

Python wrapper around common Linux SocketCAN commands

Project description

PySocketCAN

The pysocketcan module provides a class to quickly modify Linux SocketCAN parameters directly from Python.

For example, to change the baudrate in Linux you need to run

$ sudo ip link set can0 down
$ sudo ip link set can0 type can bitrate 250000
$ sudo ip link set can0 up

The pysocketcan equivalent is

>>> can0.baud = 250000

Installation

Use pip to install

$ pip install pysocketcan

Usage

import pysocket as pysc

>>> pysc.view_available() # returns available interfaces
'can0'
>>> can0 = pysc.Interface("can0") # instantiate interface object

>>> can0.on() # set interface up
>>> can0.off() # set interface down
>>> can0.state # returns current state of interface
'STOPPED'

>>> can0.baud = 250000 # sets the baudrate
>>> can0.baud # returns current baudrate
'250000'

>>> can0.status # returns currently active modes
'LOOPBACK,LISTEN-ONLY,TRIPLE-SAMPLING'
>>> can0.listen_only = False # turns mode off
>>> can0.status
'LOOPBACK,TRIPLE-SAMPLING'

If can-utils is installed you can also use

>>> can0.receive() # returns bus message
>>> can0.send(100, 12345678) # adds message to bus

Note:

To function correctly Python needs root priveleges

$ sudo python3
     # or
$ sudo venv/bin/python3

Contributing

Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysocketcan-0.0.2.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

pysocketcan-0.0.2-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

Details for the file pysocketcan-0.0.2.tar.gz.

File metadata

  • Download URL: pysocketcan-0.0.2.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for pysocketcan-0.0.2.tar.gz
Algorithm Hash digest
SHA256 b7bfb318e9fcb3cb01e968f0cb2d785c31619e16536ba6009cbcb6815f06df25
MD5 f9bf8aac5e9c2b01eb22df86554c94cc
BLAKE2b-256 d493cebc77730c56166b863fac783e58089764e7393bc7afacaf8643ac3f6135

See more details on using hashes here.

File details

Details for the file pysocketcan-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: pysocketcan-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 4.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for pysocketcan-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 97a8df75dc62260fde1469d38d92d13ecaa545fd5030c77243a230190c2eff95
MD5 92ee7c830dac4f505180f38f4d4e1555
BLAKE2b-256 6bd6792dacf3173e927a5c391c53e9132229a0a2b01c6e851b626815a5f5aba8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page