Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zariiii9003/pycanape
Pythonic wrapper around the VECTOR CANape API
https://github.com/zariiii9003/pycanape
automotive canape python
Last synced: 4 months ago
JSON representation
Pythonic wrapper around the VECTOR CANape API
- Host: GitHub
- URL: https://github.com/zariiii9003/pycanape
- Owner: zariiii9003
- License: mit
- Created: 2020-09-27T15:56:57.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-06-24T21:16:57.000Z (7 months ago)
- Last Synced: 2024-09-27T20:17:26.619Z (4 months ago)
- Topics: automotive, canape, python
- Language: Python
- Homepage: http://pycanape.readthedocs.io/
- Size: 153 KB
- Stars: 17
- Watchers: 3
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# pyCANape
[![PyPI - Version](https://img.shields.io/pypi/v/pycanape.svg)](https://pypi.org/project/pycanape)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pycanape.svg)](https://pypi.org/project/pycanape)
[![Documentation Status](https://readthedocs.org/projects/pycanape/badge/?version=latest)](https://pycanape.readthedocs.io/en/latest/?badge=latest)This is a pythonic wrapper around the VECTOR CANape API.
The documentation is available [here](https://pycanape.readthedocs.io/en/latest).## Example usage
### Open and close CANape
````python
import pycanapecanape = pycanape.CANape(
project_path="C:\\Users\\Public\\Documents\\Vector CANape 17\\Examples\\XCPDemo",
modal_mode=True,
)
canape.exit(close_canape=True)
````### Create Module
````python
from pycanape import DriverType, Channels# Create XCPsim module
xcpsim = canape.create_module(
module_name="XCPSim",
database_filename=r"C:\Users\Public\Documents\Vector CANape 17\Examples\XCPDemo\XCPsim.a2l",
driver=DriverType.ASAP3_DRIVER_XCP,
channel=Channels.DEV_CAN1,
go_online=True,
)
````### Calibration
````python
# get scalar (0D) calibration object
scalar_obj = xcpsim.get_calibration_object("map1Counter")# read scalar value
print(scalar_obj.value)# set scalar value
scalar_obj.value = 2.0# get axis (1D) calibration object
axis_obj = xcpsim.get_calibration_object("Curve1")# read axis length
axis_dim = axis_obj.dimension# read axis values
print(axis_obj.axis)# set axis values
axis_obj.axis = [0] * axis_dim
````## How to contribute
Setup your development environment:
```shell script
# clone the repository
git clone https://github.com/zariiii9003/pycanape.git# install pyCANape in editable mode with all development dependencies
pip install -e .[dev,doc]# install the pre-commit hook
pre-commit install
```After you implement your changes you should run the static code analysis and check the documentation:
```shell script
# install pycanape in editable mode
python -m pip install -e .[dev,doc]# format the code with black
black .# run the linter
ruff check --fix src# run the type checker
mypy .# run the tests
python -m pytest --cov-config=./pyproject.toml --cov=pycanape --cov-report=term --cov-report=html# build the documentation
python -m sphinx -Wan --keep-going docs build
```