Parachute
=========
Parachute is a swiss army knife for ArduPilot settings. It helps you quickly and
easily back up all your parameters to a file (and restore them). It also lets
you get/set them, filter them, diff them, restore them or convert them to
parameter files compatible with Mission Planner/QGroundControl.
Installation
------------
Installing Parachute is simple. You can use `pipx` (recommended):
```bash
$ pipx install parachute
```
Or `pip` (less recommended):
```bash
$ pip install parachute
```
You can also download pre-built binaries for Windows and Linux from the
[artifacts page](https://gitlab.com/stavros/parachute/-/pipelines).
Usage
-----
Parachute is called like so:
```bash
$ parachute backup <craft name>
```
For example:
```bash
$ parachute backup Mini-Drak
```
To restore:
```bash
$ parachute restore backup.chute
```
Conversion
----------
You can also convert a Parachute file to a file compatible with Mission Planner or QGroundControl:
```bash
$ parachute convert qgc Mini-Drak_2021-03-02_02-29.chute Mini-Drak.params
```
Filtering
---------
You can filter parameters based on a regular expression:
```bash
$ parachute filter "serial[123]_" Mini-Drak_2021-03-02_02-29.chute filtered.chute
```
Since all parameter names are uppercase, the regex is case-insensitive, for convenience.
You can also filter when converting:
```bash
$ parachute convert --filter=yaw mp Mini-Drak_2021-03-02_02-29.chute -
```
Comparing
---------
You can compare parameters in a backup with parameters on the craft:
```bash
$ parachute compare backup.chute
```
Getting/setting
---------------
You can get and set parameters:
```bash
$ parachute get BATT_AMP_OFFSET BATT_AMP_PERVLT
```
```bash
$ parachute set BATT_AMP_OFFSET=-0.0135 BATT_AMP_PERVLT=63.8826
```
You can get and set a single bit like so:
```bash
$ parachute get --binary FLIGHT_OPTIONS
```
```bash
$ parachute set FLIGHT_OPTIONS:5=1
```
Shell completions
------------------
Parachute includes shell completion for AP parameters for various shells. After you've
enabled completions, you can get parameter completion for the `get` and `set` commands.
For example, try typing `parachute get acr<TAB>`.
The way to enable it depends on your shell:
### fish
Save the completion script to ~/.config/fish/completions/parachute.fish:
```bash
_PARACHUTE_COMPLETE=fish_source parachute > ~/.config/fish/completions/parachute.fish
```
### bash
Save the completion script somewhere.
```bash
_PARACHUTE_COMPLETE=bash_source parachute > ~/.parachute-complete.bash
```
Source the file in ~/.bashrc.
```bash
. ~/.parachute-complete.bash
```
### zsh
Save the completion script somewhere.
```bash
_PARACHUTE_COMPLETE=zsh_source parachute > ~/.parachute-complete.zsh
```
Source the file in ~/.zshrc.
```bash
. ~/.parachute-complete.zsh
```
# Changelog
## v0.4.3 (2023-01-27)
### Fixes
* Complain if `get` and `set` are mixed up. [Stavros Korokithakis]
## v0.4.2 (2023-01-07)
### Features
* Add the `force-accept-calibration` command. [Stavros Korokithakis]
### Fixes
* Fix parameter display order. [Stavros Korokithakis]
## v0.4.1 (2022-11-05)
### Features
* Don't exit on missing parameters when restoring. [Stavros Korokithakis]
### Fixes
* Fix bug where negative numbers were erroneously not accepted. [Stavros Korokithakis]
## v0.4.0 (2022-07-02)
### Features
* Add getting and setting bits directly. [Stavros Korokithakis]
* Add the "--binary" parameter to display bit indexes. [Stavros Korokithakis]
### Fixes
* Remove unused code. [Stavros Korokithakis]
## v0.3.11 (2022-02-26)
### Features
* Add "--compare" flag to "restore" [Stavros Korokithakis]
### Fixes
* Name files a bit better. [Stavros Korokithakis]
## v0.3.10 (2021-12-17)
### Fixes
* Improve autodetection even more again. [Stavros Korokithakis]
* Improve autodetection even more. [Stavros Korokithakis]
* Improve autodetection default. [Stavros Korokithakis]
## v0.3.9 (2021-11-02)
### Fixes
* Show the correct parameter name when diffing. [Stavros Korokithakis]
## v0.3.8 (2021-10-29)
### Features
* Colorize tables. [Stavros Korokithakis]
* Make table Markdown-compatible. [Stavros Korokithakis]
### Fixes
* Fix inverted `compare` display. [Stavros Korokithakis]
## v0.3.7 (2021-10-23)
### Features
* Include parameter completions. [Stavros Korokithakis]
* Add `--baud-rate` cli option` [Stavros Korokithakis]
### Fixes
* Display accurate names when diffing. [Stavros Korokithakis]
* Fix port detection on Windows. [Stavros Korokithakis]
## v0.3.6 (2021-08-29)
### Fixes
* Make messages more consistent. [Stavros Korokithakis]
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/stavros/parachute",
"name": "parachute",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6,<4.0",
"maintainer_email": "",
"keywords": "",
"author": "Stavros Korokithakis",
"author_email": "hi@stavros.io",
"download_url": "https://files.pythonhosted.org/packages/4a/a7/a968ee01dd7cbef2725a34094e2c11ddd30cd9636d19f8b88137f0d14e32/parachute-0.4.3.tar.gz",
"platform": null,
"description": "Parachute\n=========\n\nParachute is a swiss army knife for ArduPilot settings. It helps you quickly and\neasily back up all your parameters to a file (and restore them). It also lets\nyou get/set them, filter them, diff them, restore them or convert them to\nparameter files compatible with Mission Planner/QGroundControl.\n\n\nInstallation\n------------\n\nInstalling Parachute is simple. You can use `pipx` (recommended):\n\n```bash\n$ pipx install parachute\n```\n\nOr `pip` (less recommended):\n\n```bash\n$ pip install parachute\n```\n\nYou can also download pre-built binaries for Windows and Linux from the\n[artifacts page](https://gitlab.com/stavros/parachute/-/pipelines).\n\n\nUsage\n-----\n\nParachute is called like so:\n\n```bash\n$ parachute backup <craft name>\n```\n\nFor example:\n\n```bash\n$ parachute backup Mini-Drak\n```\n\nTo restore:\n\n```bash\n$ parachute restore backup.chute\n```\n\n\nConversion\n----------\n\nYou can also convert a Parachute file to a file compatible with Mission Planner or QGroundControl:\n\n```bash\n$ parachute convert qgc Mini-Drak_2021-03-02_02-29.chute Mini-Drak.params\n```\n\n\nFiltering\n---------\n\nYou can filter parameters based on a regular expression:\n\n```bash\n$ parachute filter \"serial[123]_\" Mini-Drak_2021-03-02_02-29.chute filtered.chute\n```\n\nSince all parameter names are uppercase, the regex is case-insensitive, for convenience.\n\nYou can also filter when converting:\n\n```bash\n$ parachute convert --filter=yaw mp Mini-Drak_2021-03-02_02-29.chute -\n```\n\n\nComparing\n---------\n\nYou can compare parameters in a backup with parameters on the craft:\n\n```bash\n$ parachute compare backup.chute\n```\n\n\nGetting/setting\n---------------\n\nYou can get and set parameters:\n\n```bash\n$ parachute get BATT_AMP_OFFSET BATT_AMP_PERVLT\n```\n\n```bash\n$ parachute set BATT_AMP_OFFSET=-0.0135 BATT_AMP_PERVLT=63.8826\n```\n\nYou can get and set a single bit like so:\n\n```bash\n$ parachute get --binary FLIGHT_OPTIONS\n```\n\n```bash\n$ parachute set FLIGHT_OPTIONS:5=1\n```\n\n\nShell completions\n------------------\n\nParachute includes shell completion for AP parameters for various shells. After you've\nenabled completions, you can get parameter completion for the `get` and `set` commands.\nFor example, try typing `parachute get acr<TAB>`.\n\nThe way to enable it depends on your shell:\n\n\n### fish\n\nSave the completion script to ~/.config/fish/completions/parachute.fish:\n\n```bash\n_PARACHUTE_COMPLETE=fish_source parachute > ~/.config/fish/completions/parachute.fish\n```\n\n\n### bash\n\nSave the completion script somewhere.\n\n```bash\n_PARACHUTE_COMPLETE=bash_source parachute > ~/.parachute-complete.bash\n```\n\nSource the file in ~/.bashrc.\n\n```bash\n. ~/.parachute-complete.bash\n```\n\n\n### zsh\n\nSave the completion script somewhere.\n\n```bash\n_PARACHUTE_COMPLETE=zsh_source parachute > ~/.parachute-complete.zsh\n```\n\nSource the file in ~/.zshrc.\n\n```bash\n. ~/.parachute-complete.zsh\n```\n\n# Changelog\n\n\n## v0.4.3 (2023-01-27)\n\n### Fixes\n\n* Complain if `get` and `set` are mixed up. [Stavros Korokithakis]\n\n\n## v0.4.2 (2023-01-07)\n\n### Features\n\n* Add the `force-accept-calibration` command. [Stavros Korokithakis]\n\n### Fixes\n\n* Fix parameter display order. [Stavros Korokithakis]\n\n\n## v0.4.1 (2022-11-05)\n\n### Features\n\n* Don't exit on missing parameters when restoring. [Stavros Korokithakis]\n\n### Fixes\n\n* Fix bug where negative numbers were erroneously not accepted. [Stavros Korokithakis]\n\n\n## v0.4.0 (2022-07-02)\n\n### Features\n\n* Add getting and setting bits directly. [Stavros Korokithakis]\n\n* Add the \"--binary\" parameter to display bit indexes. [Stavros Korokithakis]\n\n### Fixes\n\n* Remove unused code. [Stavros Korokithakis]\n\n\n## v0.3.11 (2022-02-26)\n\n### Features\n\n* Add \"--compare\" flag to \"restore\" [Stavros Korokithakis]\n\n### Fixes\n\n* Name files a bit better. [Stavros Korokithakis]\n\n\n## v0.3.10 (2021-12-17)\n\n### Fixes\n\n* Improve autodetection even more again. [Stavros Korokithakis]\n\n* Improve autodetection even more. [Stavros Korokithakis]\n\n* Improve autodetection default. [Stavros Korokithakis]\n\n\n## v0.3.9 (2021-11-02)\n\n### Fixes\n\n* Show the correct parameter name when diffing. [Stavros Korokithakis]\n\n\n## v0.3.8 (2021-10-29)\n\n### Features\n\n* Colorize tables. [Stavros Korokithakis]\n\n* Make table Markdown-compatible. [Stavros Korokithakis]\n\n### Fixes\n\n* Fix inverted `compare` display. [Stavros Korokithakis]\n\n\n## v0.3.7 (2021-10-23)\n\n### Features\n\n* Include parameter completions. [Stavros Korokithakis]\n\n* Add `--baud-rate` cli option` [Stavros Korokithakis]\n\n### Fixes\n\n* Display accurate names when diffing. [Stavros Korokithakis]\n\n* Fix port detection on Windows. [Stavros Korokithakis]\n\n\n## v0.3.6 (2021-08-29)\n\n### Fixes\n\n* Make messages more consistent. [Stavros Korokithakis]\n\n\n\n",
"bugtrack_url": null,
"license": "AGPL-3.0-or-later",
"summary": "A lifeline for ArduPilot craft.",
"version": "0.4.3",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5fbc923f23250c52572b21462838cd273de2749fcb4636ee0fdc3e4c1a8cd49d",
"md5": "0e2c9b509495f1b46cfbcf070cf5832c",
"sha256": "efdf8e45b0a26b574cf8c3defb2ab534786de0460f66b18b5b582c22ab19d715"
},
"downloads": -1,
"filename": "parachute-0.4.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0e2c9b509495f1b46cfbcf070cf5832c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6,<4.0",
"size": 35035,
"upload_time": "2023-01-27T22:50:47",
"upload_time_iso_8601": "2023-01-27T22:50:47.709145Z",
"url": "https://files.pythonhosted.org/packages/5f/bc/923f23250c52572b21462838cd273de2749fcb4636ee0fdc3e4c1a8cd49d/parachute-0.4.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4aa7a968ee01dd7cbef2725a34094e2c11ddd30cd9636d19f8b88137f0d14e32",
"md5": "8c3842ef8bfafb2a3f2b748bb65f3225",
"sha256": "d9ce17ef55d4ed3d40bc48e1bc1296e640eb1df3641d0c1157881b9d624dab3a"
},
"downloads": -1,
"filename": "parachute-0.4.3.tar.gz",
"has_sig": false,
"md5_digest": "8c3842ef8bfafb2a3f2b748bb65f3225",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6,<4.0",
"size": 36897,
"upload_time": "2023-01-27T22:50:49",
"upload_time_iso_8601": "2023-01-27T22:50:49.275515Z",
"url": "https://files.pythonhosted.org/packages/4a/a7/a968ee01dd7cbef2725a34094e2c11ddd30cd9636d19f8b88137f0d14e32/parachute-0.4.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-27 22:50:49",
"github": false,
"gitlab": true,
"bitbucket": false,
"gitlab_user": "stavros",
"gitlab_project": "parachute",
"lcname": "parachute"
}