Skip to main content

A fast and super useful daemon for decoding and encoding CAN messages.

Project description

CANd

cand (pronounced candy) is the solution to your CAN send/receieve/decode/encode woes.

cand listens to and decodes CAN messages with a provided DBC file, and also listens for, encodes, and sends CAN messages you ask it to send.

Run cand as a daemon and use cand.client to interact with it. For example:

from cand.client import Bus

bus = Bus()
bus.send('dbwNode_Status', {'SystemStatus': 'ESTOP', 'Counter': 11})
print(bus.get('dbwNode_Encoder_Data'))
# (1652836556992745935, {'Encoder0': 133, 'Encoder1': 152, 'Time': 10000})

Performance

cand and the cand.client.Bus interface are very fast. Neither Bus.get() nor Bus.send() calls block for very long, because they simply query or write to the Redis backend. cand monitors its outbound CAN send performance and will leave log messages when the TX buffer starts to grow too large. Messages will not be lost, however.

Note: cand will work through its backlog of messages to be sent regardless of the size; we should change that behavior eventually.

Redis

cand uses Redis as the storage and request backend between itself and clients. You can specify the Redis host and port for cand as well as the client.

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

opencan-cand-0.1.2.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

opencan_cand-0.1.2-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file opencan-cand-0.1.2.tar.gz.

File metadata

  • Download URL: opencan-cand-0.1.2.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.16

File hashes

Hashes for opencan-cand-0.1.2.tar.gz
Algorithm Hash digest
SHA256 9e73212b537cc929143b4e53a4979ba68fd42815b25f36b62080df5bd02994d3
MD5 0edcd55ecbfd64006477007f8986712c
BLAKE2b-256 eb7bf284a0159cb04b8e49d898d78cf07a456bfa2b072f6128fdab9f5c884e3e

See more details on using hashes here.

File details

Details for the file opencan_cand-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for opencan_cand-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cf865d32ce06747b98ce0bb84b237a25369ad044dd26b1d234c0b49946012521
MD5 8ae8cb16336e49a70f4eb56f5b4efdbb
BLAKE2b-256 e8b0c861688dcff1c635f9a9c9ba2b54d2d7a2fa4e069e194d08538f159b76bb

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