Skip to main content

DroneCAN Bus Management and Diagnostics App

Project description

DroneCAN GUI Tool

DroneCAN GUI Tool is a cross-platform (Windows/Linux/OSX) application for UAVCAN v0.9 and/or DroneCAN V1 management and diagnostics.

Read the docs at https://dronecan.org.

Ask questions at https://ardupilot.org/copter/docs/common-contact-us.html.

Read installation instructions:

DroneCAN GUI Tool screenshot

Installing on GNU/Linux

The general approach is simple:

  1. Install PyQt5 for Python 3 using your OS' package manager (e.g. APT).
  2. Install the application itself from Git via PIP: pip3 install git+https://github.com/DroneCAN/gui_tool@master (it is not necessary to clone this repository manually). Alternatively, if you're a developer and you want to install your local copy, use pip3 install ..

It also may be necessary to install additional dependencies, depending on your distribution (see details below).

Once the application is installed, you should see new desktop entries available in your desktop menu; also a new executable dronecan_gui_tool will be available in your PATH. If your desktop environment doesn't update the menu automatically, you may want to do it manually, e.g. by invoking sudo update-desktop-database (command depends on the distribution).

It is also recommended to install Matplotlib - it is not used by the application itself, but it may come in handy when using the embedded IPython console.

Debian-based distributions

sudo apt-get install -y python3-pip python3-setuptools python3-wheel
sudo apt-get install -y python3-numpy python3-pyqt5 python3-pyqt5.qtsvg git-core
sudo pip3 install git+https://github.com/DroneCAN/gui_tool@master

Troubleshooting

If installation fails with an error like below, try to install IPython directly with sudo pip3 install ipython:

error: Setup script exited with error in ipython setup command: Invalid environment marker: sys_platform == "darwin" and platform_python_implementation == "CPython"

If you're still unable to install the package, please open a ticket.

RPM-based distributions

Maintainers wanted

Fedora 29+

sudo dnf install python3-PyQt5
sudo pip3 install git+https://github.com/DroneCAN/gui_tool@master

Installing on Windows

In order to install this application, download and install the latest .msi package from here: https://firmware.ardupilot.org/Tools/CAN_GUI/.

Building the MSI package

Please see the file winbuild.bat in this directory, or use the MSI file build by github actions on any commit

Installing on macOS

OSX support is a bit lacking in the way that installation doesn't create an entry in the applications menu, but this issue should be fixed someday in the future. Other than that, everything appears to function more or less correctly. If you have a choice, it is recommended to use Linux or Windows instead, as these ports are supported much better at the moment.

Homebrew option

  • Install the Homebrew package manager for OSX.
  • Run the following commands:
brew install python3
brew postinstall python3
pip3 install PyQt5
pip3 install git+https://github.com/DroneCAN/gui_tool@master
dronecan_gui_tool

MacPorts option

Install XCode from App Store, install MacPorts from https://www.macports.org/install.php, then run the commands below. If you're prompted to install Command Line Developer Tools, agree.

sudo port selfupdate
sudo port install curl-ca-bundle py35-pip py35-pyqt5 py35-numpy
sudo python3.5 -m pip install git+https://github.com/DroneCAN/gui_tool@master

We would like to provide prebuilt application packages instead of the mess above. Contributions adding this capability would be welcome.

Development

Releasing new version

First, deploy the new version to PyPI. In order to do that, perform the following steps:

  1. Update the version tuple in version.py, e.g. 1, 0, and commit this change.
  2. Create a new tag with the same version number as in the version file, e.g. git tag -a 1.0 -m v1.0.
  3. Push to master: git push && git push --tags

Then, build a Windows MSI package using the instructions above, and upload the resulting MSI to the distribution server.

Code style

Please follow the existing code styles .

History

Much of the development of this tool is based upon original work by Pavel Kirienko and others from the UAVCAN Development Team. See https://github.com/UAVCAN/gui_tool for contributors.

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

dronecan_gui_tool-1.2.12.tar.gz (451.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dronecan_gui_tool-1.2.12-py3-none-any.whl (140.8 kB view details)

Uploaded Python 3

File details

Details for the file dronecan_gui_tool-1.2.12.tar.gz.

File metadata

  • Download URL: dronecan_gui_tool-1.2.12.tar.gz
  • Upload date:
  • Size: 451.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for dronecan_gui_tool-1.2.12.tar.gz
Algorithm Hash digest
SHA256 4f495c5610d2426015cbf127473151db3308d4a8597e01410403c16f3d8c4e16
MD5 252c170dac3684ab10ecacd1b5260b3e
BLAKE2b-256 68da3754649253040a4865a3ca28220f9c04319e4da6f2e3740acd327d129e81

See more details on using hashes here.

File details

Details for the file dronecan_gui_tool-1.2.12-py3-none-any.whl.

File metadata

File hashes

Hashes for dronecan_gui_tool-1.2.12-py3-none-any.whl
Algorithm Hash digest
SHA256 c1d5f32c3f6ee6d914b32d3d0db1211c55beffd5453be0f0a69e8bda3513ac12
MD5 5ef03bc8db6600f89699ff925b269627
BLAKE2b-256 3987509c6b2807fb042be02c640bfa04c2d8be7625b4e61a5cc3e8a7d56f9fa0

See more details on using hashes here.

Supported by

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