diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-15 07:48:54 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-15 07:48:54 +0000 |
| commit | 856e98c443dcc59f1c40e717201bb4c9c34f3a91 (patch) | |
| tree | 71de03095013cc3fa469416bdc8d8a60094408f5 | |
| parent | a7b02c4720a356a7e5fad774de41866cd8dc193c (diff) | |
automatic import of python-cantact
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-cantact.spec | 482 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 484 insertions, 0 deletions
@@ -0,0 +1 @@ +/cantact-0.1.2.tar.gz diff --git a/python-cantact.spec b/python-cantact.spec new file mode 100644 index 0000000..c630204 --- /dev/null +++ b/python-cantact.spec @@ -0,0 +1,482 @@ +%global _empty_manifest_terminate_build 0 +Name: python-cantact +Version: 0.1.2 +Release: 1 +Summary: Support for the CANtact Controller Area Network Devices +License: MIT License +URL: https://github.com/linklayer/cantact +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/70/75/1c28582fb186b7443e0d2d3030c61cbf100f2e0c48a2414d9f96f29ef360/cantact-0.1.2.tar.gz + + +%description +# CANtact +[](https://crates.io/crates/cantact) +[](https://crates.io/crates/cantact-driver) +[](https://pypi.org/project/cantact/) +[](https://docs.rs/cantact-driver/) + + + +Software support for CANtact devices. Includes a driver (see `driver/`), APIs, and a cross-platform command line interface. + +## Getting a Device + +CANtact Pro is currently a pre-launch project on CrowdSupply. You can subscribe on the [product page](https://www.crowdsupply.com/linklayer-labs/cantact-pro) +to get updates about the hardware release. + +This tool should work fine with other CANtact/gs_usb compatible devices such as CANable. + +## Installing + +The CLI and driver are built using `cargo`, which can be installed using [rustup](https://rustup.rs/). + +Once `cargo` is installed, use it to build and install the `can` binary: + +``` +git clone https://github.com/linklayer/cantact +cd cantact +cargo install --path . +``` + +### Setting udev Rules (Linux only) + +On Linux, only root can access the device by default. This results in a `DeviceNotFound` error when trying to access the device as a normal user. +To allow access for all users, create a file at `/etc/udev/rules.d/99-cantact.rules` which contains: +``` +SUBSYSTEM=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="606f", MODE="0666" +``` + +Then reload the udev rules: +``` +sudo udevadm control --reload-rules +sudo udevadm trigger +``` + + +## Command Line Interface + +The CLI is invoked using the `can` binary: + +``` +can help + +can 0.1.0 +Eric Evenchick <eric@evenchick.com> +Command line utilities for CANtact devices + +USAGE: + can [FLAGS] [SUBCOMMAND] + +FLAGS: + -h, --help Prints help information + -v, --verbose Print verbose debugging information + -V, --version Prints version information + +SUBCOMMANDS: + cfg Set device configurations + dump Receive and display CAN frames + help Prints this message or the help of the given subcommand(s) + send Send a single CAN frame +``` + +The `can cfg` command is used to set the bitrate and other device settings. Once set, other commands will use these options. + +For example, to set channels 0 and 1 to 500000 kbps, then dump all frames on all channels: + +``` +can cfg --channel 0 --bitrate 500000 +can cfg --channel 1 --bitrate 500000 +can dump +``` + +Use `can help [subcommand]` for additional documentation. + +## Rust Support + +The driver can be used from Rust by installing the [`cantact-driver` crate](https://crates.io/crates/cantact-driver). +Documentation for the crate can be found on [docs.rs](https://docs.rs/cantact-driver/). + +## Python Support + +CANtact supports Python 3.5+ on Windows, macOS, and Linux. The Python modules are hosted on [PyPI](https://pypi.org/project/cantact/). +Installation requires `pip 19.0+` (for manylinux2010 wheels). + +Python end-users should not use this repository directly. Instead, install Python support using `pip`: + +``` +python3 -m pip -U pip +python3 -m pip install cantact +``` + +This will attempt to install a binary distribution for your system. If none exists, it will attempt to build +from source. This requires nightly rust, which can be enabled by running `rustup default nightly` before +installing. + +See the `examples/` folder for Python examples. [python-can](https://github.com/hardbyte/python-can/) supports +CANtact, and is recommended over using the `cantact` module directly. To install CANtact, `python-can`, +and run a test: + +``` +python3 -m pip install cantact git+https://github.com/ericevenchick/python-can@cantact +can_logger.py -i cantact -c 0 -b 500000 +``` + +### Building Python Support + +Building Python support is only required if you want to make modifications to the `cantact` Python module, or if +you are using a platform that does not have packaged support. + +Python support is implemented using [PyO3](https://github.com/PyO3/pyo3), and is gated by the `python` feature. +Thanks to [rust-setuptools](https://github.com/PyO3/setuptools-rust), the `cantact` Python module can be built +like any other Python module using `setuptools`. PyO3 requires nightly Rust, which can be configured using `rustup override`. + +``` +cd driver +rustup override set nightly +python setup.py build +``` + +Python builds for Windows, macOS, and manylinux are automated using [Github Actions](https://github.com/linklayer/cantact/actions?query=workflow%3APython). +Tagged releases are automatically pushed to PyPI. + +## C / C++ Support + +C / C++ support is provided by the driver. This is currently used to implement [BUSMASTER](https://rbei-etas.github.io/busmaster/) +support on Windows. + + + + +%package -n python3-cantact +Summary: Support for the CANtact Controller Area Network Devices +Provides: python-cantact +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-cffi +BuildRequires: gcc +BuildRequires: gdb +%description -n python3-cantact +# CANtact +[](https://crates.io/crates/cantact) +[](https://crates.io/crates/cantact-driver) +[](https://pypi.org/project/cantact/) +[](https://docs.rs/cantact-driver/) + + + +Software support for CANtact devices. Includes a driver (see `driver/`), APIs, and a cross-platform command line interface. + +## Getting a Device + +CANtact Pro is currently a pre-launch project on CrowdSupply. You can subscribe on the [product page](https://www.crowdsupply.com/linklayer-labs/cantact-pro) +to get updates about the hardware release. + +This tool should work fine with other CANtact/gs_usb compatible devices such as CANable. + +## Installing + +The CLI and driver are built using `cargo`, which can be installed using [rustup](https://rustup.rs/). + +Once `cargo` is installed, use it to build and install the `can` binary: + +``` +git clone https://github.com/linklayer/cantact +cd cantact +cargo install --path . +``` + +### Setting udev Rules (Linux only) + +On Linux, only root can access the device by default. This results in a `DeviceNotFound` error when trying to access the device as a normal user. +To allow access for all users, create a file at `/etc/udev/rules.d/99-cantact.rules` which contains: +``` +SUBSYSTEM=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="606f", MODE="0666" +``` + +Then reload the udev rules: +``` +sudo udevadm control --reload-rules +sudo udevadm trigger +``` + + +## Command Line Interface + +The CLI is invoked using the `can` binary: + +``` +can help + +can 0.1.0 +Eric Evenchick <eric@evenchick.com> +Command line utilities for CANtact devices + +USAGE: + can [FLAGS] [SUBCOMMAND] + +FLAGS: + -h, --help Prints help information + -v, --verbose Print verbose debugging information + -V, --version Prints version information + +SUBCOMMANDS: + cfg Set device configurations + dump Receive and display CAN frames + help Prints this message or the help of the given subcommand(s) + send Send a single CAN frame +``` + +The `can cfg` command is used to set the bitrate and other device settings. Once set, other commands will use these options. + +For example, to set channels 0 and 1 to 500000 kbps, then dump all frames on all channels: + +``` +can cfg --channel 0 --bitrate 500000 +can cfg --channel 1 --bitrate 500000 +can dump +``` + +Use `can help [subcommand]` for additional documentation. + +## Rust Support + +The driver can be used from Rust by installing the [`cantact-driver` crate](https://crates.io/crates/cantact-driver). +Documentation for the crate can be found on [docs.rs](https://docs.rs/cantact-driver/). + +## Python Support + +CANtact supports Python 3.5+ on Windows, macOS, and Linux. The Python modules are hosted on [PyPI](https://pypi.org/project/cantact/). +Installation requires `pip 19.0+` (for manylinux2010 wheels). + +Python end-users should not use this repository directly. Instead, install Python support using `pip`: + +``` +python3 -m pip -U pip +python3 -m pip install cantact +``` + +This will attempt to install a binary distribution for your system. If none exists, it will attempt to build +from source. This requires nightly rust, which can be enabled by running `rustup default nightly` before +installing. + +See the `examples/` folder for Python examples. [python-can](https://github.com/hardbyte/python-can/) supports +CANtact, and is recommended over using the `cantact` module directly. To install CANtact, `python-can`, +and run a test: + +``` +python3 -m pip install cantact git+https://github.com/ericevenchick/python-can@cantact +can_logger.py -i cantact -c 0 -b 500000 +``` + +### Building Python Support + +Building Python support is only required if you want to make modifications to the `cantact` Python module, or if +you are using a platform that does not have packaged support. + +Python support is implemented using [PyO3](https://github.com/PyO3/pyo3), and is gated by the `python` feature. +Thanks to [rust-setuptools](https://github.com/PyO3/setuptools-rust), the `cantact` Python module can be built +like any other Python module using `setuptools`. PyO3 requires nightly Rust, which can be configured using `rustup override`. + +``` +cd driver +rustup override set nightly +python setup.py build +``` + +Python builds for Windows, macOS, and manylinux are automated using [Github Actions](https://github.com/linklayer/cantact/actions?query=workflow%3APython). +Tagged releases are automatically pushed to PyPI. + +## C / C++ Support + +C / C++ support is provided by the driver. This is currently used to implement [BUSMASTER](https://rbei-etas.github.io/busmaster/) +support on Windows. + + + + +%package help +Summary: Development documents and examples for cantact +Provides: python3-cantact-doc +%description help +# CANtact +[](https://crates.io/crates/cantact) +[](https://crates.io/crates/cantact-driver) +[](https://pypi.org/project/cantact/) +[](https://docs.rs/cantact-driver/) + + + +Software support for CANtact devices. Includes a driver (see `driver/`), APIs, and a cross-platform command line interface. + +## Getting a Device + +CANtact Pro is currently a pre-launch project on CrowdSupply. You can subscribe on the [product page](https://www.crowdsupply.com/linklayer-labs/cantact-pro) +to get updates about the hardware release. + +This tool should work fine with other CANtact/gs_usb compatible devices such as CANable. + +## Installing + +The CLI and driver are built using `cargo`, which can be installed using [rustup](https://rustup.rs/). + +Once `cargo` is installed, use it to build and install the `can` binary: + +``` +git clone https://github.com/linklayer/cantact +cd cantact +cargo install --path . +``` + +### Setting udev Rules (Linux only) + +On Linux, only root can access the device by default. This results in a `DeviceNotFound` error when trying to access the device as a normal user. +To allow access for all users, create a file at `/etc/udev/rules.d/99-cantact.rules` which contains: +``` +SUBSYSTEM=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="606f", MODE="0666" +``` + +Then reload the udev rules: +``` +sudo udevadm control --reload-rules +sudo udevadm trigger +``` + + +## Command Line Interface + +The CLI is invoked using the `can` binary: + +``` +can help + +can 0.1.0 +Eric Evenchick <eric@evenchick.com> +Command line utilities for CANtact devices + +USAGE: + can [FLAGS] [SUBCOMMAND] + +FLAGS: + -h, --help Prints help information + -v, --verbose Print verbose debugging information + -V, --version Prints version information + +SUBCOMMANDS: + cfg Set device configurations + dump Receive and display CAN frames + help Prints this message or the help of the given subcommand(s) + send Send a single CAN frame +``` + +The `can cfg` command is used to set the bitrate and other device settings. Once set, other commands will use these options. + +For example, to set channels 0 and 1 to 500000 kbps, then dump all frames on all channels: + +``` +can cfg --channel 0 --bitrate 500000 +can cfg --channel 1 --bitrate 500000 +can dump +``` + +Use `can help [subcommand]` for additional documentation. + +## Rust Support + +The driver can be used from Rust by installing the [`cantact-driver` crate](https://crates.io/crates/cantact-driver). +Documentation for the crate can be found on [docs.rs](https://docs.rs/cantact-driver/). + +## Python Support + +CANtact supports Python 3.5+ on Windows, macOS, and Linux. The Python modules are hosted on [PyPI](https://pypi.org/project/cantact/). +Installation requires `pip 19.0+` (for manylinux2010 wheels). + +Python end-users should not use this repository directly. Instead, install Python support using `pip`: + +``` +python3 -m pip -U pip +python3 -m pip install cantact +``` + +This will attempt to install a binary distribution for your system. If none exists, it will attempt to build +from source. This requires nightly rust, which can be enabled by running `rustup default nightly` before +installing. + +See the `examples/` folder for Python examples. [python-can](https://github.com/hardbyte/python-can/) supports +CANtact, and is recommended over using the `cantact` module directly. To install CANtact, `python-can`, +and run a test: + +``` +python3 -m pip install cantact git+https://github.com/ericevenchick/python-can@cantact +can_logger.py -i cantact -c 0 -b 500000 +``` + +### Building Python Support + +Building Python support is only required if you want to make modifications to the `cantact` Python module, or if +you are using a platform that does not have packaged support. + +Python support is implemented using [PyO3](https://github.com/PyO3/pyo3), and is gated by the `python` feature. +Thanks to [rust-setuptools](https://github.com/PyO3/setuptools-rust), the `cantact` Python module can be built +like any other Python module using `setuptools`. PyO3 requires nightly Rust, which can be configured using `rustup override`. + +``` +cd driver +rustup override set nightly +python setup.py build +``` + +Python builds for Windows, macOS, and manylinux are automated using [Github Actions](https://github.com/linklayer/cantact/actions?query=workflow%3APython). +Tagged releases are automatically pushed to PyPI. + +## C / C++ Support + +C / C++ support is provided by the driver. This is currently used to implement [BUSMASTER](https://rbei-etas.github.io/busmaster/) +support on Windows. + + + + +%prep +%autosetup -n cantact-0.1.2 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-cantact -f filelist.lst +%dir %{python3_sitearch}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.2-1 +- Package Spec generated @@ -0,0 +1 @@ +94bd77c35ae74c06c05a3fe7341d8702 cantact-0.1.2.tar.gz |
