Canvect is a Python package designed for sending and managing CAN (Controller Area Network) messages related to acceleration control. It provides a simple yet flexible API for creating and dispatching CAN messages, making it ideal for applications in automotive and industrial systems where CAN communication is essential.
Project description
Canvect v0.1.2 Release Notes
Overiew
So, this is the newr version add on's to that Canvect is a Python package designed for sending and managing CAN (Controller Area Network) messages related to acceleration control. It provides a simple yet flexible API for creating and dispatching CAN messages, making it ideal for applications in automotive and industrial systems where CAN communication is essential.
New Features
- Dynamic Parameter Input: Users can now input dynamic parameters for the following
- arbitration_id: Specify the CAN ID as a hexadecimal value.
- seventh_byte: Set the seventh byte for the CAN message (value between 0-15).
- channel: Define the CAN channel (e.g., 'PCAN_USBBUS2').
- interface: Choose the CAN interface (e.g., 'pcan').
- bitrate: Set the bitrate for the CAN bus communication (e.g., 500000).
This enhancement allows users to customize their CAN message sending directly from input prompts, making the package more versatile and user-friendly.
Installation
pip install canvect==0.1.2
Usage Examples
- You can now easily modify parameters like arbitration_id, bitrate, and channel to suit your specific needs:ds
from my_can_package import continuous_acceleration_send
continuous_acceleration_send(
arbitration_id=int(input("Enter arbitration ID (hex): "), 16), # Custom CAN ID
seventh_byte=int(input("Enter the value for the seventh byte (0-15): ")), # Seventh byte
channel=input("Enter CAN channel (e.g., 'PCAN_USBBUS2'): "), # Custom CAN channel
interface=input("Enter CAN interface (e.g., 'pcan'): "), # Custom interface
bitrate=int(input("Enter bitrate (e.g., 500000): ")) # Custom bitrate
)
Example with RingBuffer
from Canvect import RingBuffer
# Create a RingBuffer with a capacity of 5 items
buffer = RingBuffer(capacity=5)
# Append items to the buffer
for i in range(10):
buffer.append(f"message_{i}")
print(f"Buffer after appending message_{i}: {buffer}")
# Access items by index
for i in range(len(buffer)):
print(f"Item at index {i}: {buffer[i]}")
-
The buffer can hold up to 5 items. Once it reaches the maximum capacity, new items will overwrite the oldest ones.
-
You can access items using their index. If you try to access an index that is out of range, an IndexError will be raised.
Note: Here refers to above example
from my_can_package import CANBusHandler, send_Canvect_message
# Initialize CAN bus
bus_handler = CANBusHandler(channel='PCAN_USBBUS2', interface='pcan', bitrate=500000)
# Define custom CAN data (8 bytes)
data = [0x11, 0xC8, 0x00, 0x00, 0x00, 0x00, seventh_byte, 0x00]
# Send CAN message with a custom CAN ID and data
send_Canvect_message(bus_handler.bus, arbitration_id=0x200, data=data)
# Shutdown the bus after sending
bus_handler.shutdown()
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file canvect-0.1.3.tar.gz.
File metadata
- Download URL: canvect-0.1.3.tar.gz
- Upload date:
- Size: 5.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c7613a92183779e4c9550138cb821e48ccfb35bc5759012892db6a2eed8ae3d
|
|
| MD5 |
751bd14460aec5834637a696ca4f7083
|
|
| BLAKE2b-256 |
a21a7197cdde65b40f3e0d67a6c575ef47492afc9bbe55bc9cc52579960f5ab8
|
File details
Details for the file canvect-0.1.3-py3-none-any.whl.
File metadata
- Download URL: canvect-0.1.3-py3-none-any.whl
- Upload date:
- Size: 5.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95eb27f3f765cc7f1653cbd5016063e7d24babd3184879866fc69744db17c6d5
|
|
| MD5 |
e43a5022b0131af8dcc203baef1c2182
|
|
| BLAKE2b-256 |
b77aad33b9663c6cb42938407c604f7e63fe0c189fb4cc8bfdb4ca100519aa16
|