Commit ed1b81a7 authored by Amy Blank's avatar Amy Blank 🌈
Browse files

Merge branch 'devel' into 'master'

release 2.9.0

See merge request burt/software/burt-util!52
parents 22a96c12 50efeb4d
Pipeline #11133 failed with stage
in 12 minutes and 11 seconds
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*.class
# C extensions
*.so
# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
.hypothesis/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
target/
# IPython Notebook
.ipynb_checkpoints
# pyenv
.python-version
# celery beat schedule file
celerybeat-schedule
# dotenv
.env
# virtualenv
.venv/
venv/
ENV/
# Spyder project settings
.spyderproject
# Rope project settings
.ropeproject
*~
# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
.vscode
*.csv
*.eds
bin/
*.swp
*.swo
# This file is a template, and might need editing before it works on your project.
# Official language image. Look for the different tagged releases at:
# https://hub.docker.com/r/library/python/tags/
image: "python:3.4"
build:
script:
- ./setup.py install
test:
script:
- ./setup.py test
## Description of Problem
> Describe the problem here:
## Action Plan
> Describe what you are going to do about it here:
## Resolution
> How was the problem resolved:
## References
> What are the CAPA forms and other relevant documents (internal + external):
- CAPA:
/label ~critical
/assign @vg
/due <in 1 week>
/milestone %15
### Description
put content here
### What to focus on
- put content here.
### Reviewers
- [ ] @tn
- [ ] @amyblank
- [ ] @bz
### Resources
### Issues
> What issues does this fix?
- Fixes #issue-number
### Description
> What does this release do?
- **Releases**:
- `<Release Name>` (`<version-to-release>`)
### Changelog
> An enumerated list of important changes
- put content here.
### Reviewers
- [ ] @tn
- [ ] @amyblank
- [ ] @bz
### Resources and Documentation
> Links for resources and documentation go here.
# Change Log
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
## UNRELEASED
## [2.9.0]
- Specified versions of all packages in setup.py
- Removed Makefile and old requirements.txt in favor of pip3 install
- Updated version of pyshark
- added workaround to burt-firmware issue #341
## [2.8.7]
### Fixed
- Changed puck3 inspection mean range from 125 to 250.
## [2.8.6]
### Added
- Ability to calibrate a puck with a single current sensor:
- `p386 calibrate -s ID`
## [2.8.5]
### Added
- Adds the `p386 change_id` command to change puck ids
### Fixed
- Reset can still succeed without bootloader i fnot trying to stay in the bootloader
- Configure can now take a hex code as an id
## [2.8.4]
### Fixed
- Stop simulator before eeprom test.
## [2.8.3]
### Fixed
- Formatting of the calibration data table
## [2.8.2]
### Fixed
- `p386 change_kt` to use read_sdo and send_sdo
## [2.8.1]
### Fixed
- `p386 update` to actually transfer the alpha_correction and beta_correction and save to eeprom
## [2.8.0]
### Added
- `update` commands for `p386`, `cpi`, `elbow` and `mainboard`
- `release.location` to the config file (`/opt/barrett/burt/release`)
### Fixed
- Use `raise SystemExit()` instead of `sys.exit()`
## [2.7.1]
### Fixed
- `mainboard`
- `inspection` to include `startup_simulator`
- `startup_simulator` to work with v2 startup sequence and respond to syncs.
- Default configuration for v2
## [2.7.0]
### Added
- `mainboard` inspection and setup for v2 system
- Config file update based on version number
## [2.6.0]
### Fixed
- elbow and p386 setup_inspection with bug reported from @tn
- elbow inspection for new elbow boards
### Added
- cpi setup_inspection
- config_get to default_config_toml.py
- nuke_eeprom to default_inspection_artifacts_toml
- nuke_eeprom command which uses jtag to load the nuke_eeprom elf file
- elbow calibrate and status commands
### Changed
- Split up cpi.py
- updated cpi inspection
- Split up elbow cli into multiple files
- Cleaned up setup_inspection
- Default config as a dictionary instead of toml in python
- Migration of send_sdo read_sdo, pack_message and unpack_message into BurtUtil class
## [2.5.1]
### Fixed
- Issue with `p386 calibrate` where it could no longer use `read_sdo()` without actually specifying the datatype.
Specified the datatypes for the offsets and gains `UNSIGNED16`
## [2.5.0]
### Added
- Ability to reset a node then reset a second node and lock that (for when program + bootloader id are out of sync)
- Reset other-ids to reset
- FET thermistor to spin motor printout
- Heartbeat command for enabling and disable heartbeats
- REAL32 support to parse_data
- Unpack_message for unpacking bytes into data with REAL32, INTEGER and UNSIGNED support
- A yes to all option for inspection program which always accepts defaults
- Pipfile for pipenv support
- Make develop and make lock
- Update_config command for updateing the config file
- Setup_inspection command
- A command for setting gitlab token in the config file (gl_token)
- New mosfet test od entries
- A ConditionalSpinner type to utils
- Support for named artifacts in artifacts.toml file (dict based)
- Fet thermistor test
### Changed
- Spin motor can now take negative torques
- Spin motor Exits properly on failure to communicate
- Split up p386 sub programs and changed calibrate so it should work with latest calibration program from mfg-scripts
- Increased delay for calibrating gains
- converted the spin_motor options to arguments
- Inspection now fails on first error with an prompt to continue.
- Updated thermistor test to test both internal thermistor and FET.
- Inspection for p386 now returns a non zero exit code on failure
- combine bumpversion.cfg into setup.cfg
- Inspection now requires an id argument
- Updated inspection artifacts to named artifacts (dict instead of list)
- Made jtag commands fail in a way that can be captured when using invoke
### Fixed
- thermistor scaling
- reset_all
- inspection fet test for p386
### Removed
- Removed calibration from inspection program.
- removed username and password options from download_artifacts
## [2.4.1]
### Fixed
- `mainboard versions` command
## [2.4.0]
### Added
- input and output files to the coap command
- prints properly serialied json from coap command when GET
## [2.3.1]
### Fixed
- `flashloader set_node_id` command
## [2.2.0]
### Added
- erase command
### Change
- test command now actually tests erasing properly
## [2.0.0]
### Added
- `AliasedGroup` and `bu` shorthand application. This allows for shortened commands like.
`bu m si` to silence the mainboard.
- `jtag jlink` command for use with Segger JLink.
### Changed
- `elbowboard` to `elbow`
- `cpiboard` to `cpi`
- `test_peripheral` subcommands of all boards changed to `inspection`.
- `p386 test` -> `p386 inspection`
- `blenumerate`, `blping`, `reset`, `flash` all moved to `legacy`
- `BasedIntParamType` deduplicated. uset `constants.TYPE_BASED_INT` now.
- `flashloader flash` now can use the new method of entering the bootloader or the old method. The new method is NMT RESET, wait for heartbeat, SDO to the AutoLaunch od entry to set it to 0.
- `flash` now calls `flashloader flash`
- `reset` now resets using NMT resets
- `mainboard` subcommands: `silence_can` -> `silence`
### Removed
- `pne_jtag` changed to `jtag multilink`
- `upgrade` removed (and related release example file)
-
## [1.2.0]
- Added `extract_canlog` command
## [1.1.0]
- Refined new flashloader support and commands.
- Added blpinging to flash command
## [1.0.0]
- Added support for new flashloader
## [0.8.8]
### Fixed
- requirements.txt and setup.py locking of vital versions
## [0.8.7]
### Fixed
- IOFST bound scompare
- removed connect()
## [0.8.5]
## Fixed
- Fixed adc reading issues
## [0.8.3]
### Fixed
- Removed node 127 default from P386-G.
## [0.8.3]
### Fixed
- Removed node 127 default from P386-G.
## [0.8.2]
### Fixed
- p386-G updated for temperature updates.
## [0.8.1]
### Fixed
- Default toml file was misbehaving
- Updated Mainboard and P3-86 temperature bounds in toml file
## [0.8.0]
### Added
- `mainboard silence_can` to sent the `/silence` command to the mainboard
- `mainboard restart` to sent the `/restart` command to the mainboard
- `mainboard coap` to sent an arbitrary `GET` or `PUT` request to the mainboard at an arbitrary URI with MPACK encoded data (input as JSON)
- `mainboard get_versions` to get all the version numbers of the firmware.
- `coap_put_request` to `burt_util_api.py` to sent CoAP put requests with mpack packed messages
## [0.7.1]
### Changed
- P386-G.csv updated to reflect new constants for puck3_cw firmware 1.11.0
## [0.7.0]
### Added
- IOFST test checks against values before performing MOFST
- IOFST range tests to default config file (with hard coded defaults if not existant)
### Fixed
- Entry for external thermistor in the P3 OD
## [0.6.1]
### Added
- Changelog
## [0.6.0]
### Added
- Added the `download_artifacts` command which takes an input toml file which is a list of `artifact` elements which contain gitlab repository information, tag information, extraction information and end path. They can also take the form of URLs on gitlab or elsewhere to download a file from. You can call it as:
```
burt-util download_artifacts path/to/artifacts.toml
```
- Added `[gitlab]` section to the `burt_util.toml` configuration file. which can contain your private token.
- Added `assets/example_artifacts.toml` as an example input to the `download_artifacts` command
- Added `permissions` entry to the burt_util.toml file which will curate which commands you have access to based on role (0 None, 1 Customer, 2 Manufacturing, 3 Engineering)
### Fixed
- Fixed restart on `configure` bug
## [0.5.0]
### Added
- `p386`, `sdo` commands, `mainboard`, `cpi`, `elbow`, etc.
- Major code base architecture overhaul,
- Most of the work done by Jason Schwartz during his summer internship.
## [0.4.1]
### Added
- same_as to release.toml dictionary for boards which have the same settings (aside from those already set)
### Fixed
Fixed release.toml parsing, now works with python2 and python3
## [0.4.0]
### Added
- Added `pne_jtag`
- Added the ability to select your can device
### Changed
- install instructions.
- yaml to toml formatted release files
- blhost installation method.
## [0.2.3]
- First major stable release.
### Added
- `upgrade`, `flash`, `ping`, `enumerate`, `reset`
[2.8.7]: https://git.barrett.com/burt/software/burt-util/tags/dev-2.8.7
[2.8.7]: https://git.barrett.com/burt/software/burt-util/tags/dev-2.8.7
[2.8.5]: https://git.barrett.com/burt/software/burt-util/tags/dev-2.8.5
[2.8.4]: https://git.barrett.com/burt/software/burt-util/tags/dev-2.8.4
[2.8.3]: https://git.barrett.com/burt/software/burt-util/tags/dev-2.8.3
[2.8.2]: https://git.barrett.com/burt/software/burt-util/tags/dev-2.8.2
[2.8.1]: https://git.barrett.com/burt/software/burt-util/tags/dev-2.8.1
[2.8.0]: https://git.barrett.com/burt/software/burt-util/tags/dev-2.8.0
[2.7.1]: https://git.barrett.com/burt/software/burt-util/tags/dev-2.7.1
[2.7.0]: https://git.barrett.com/burt/software/burt-util/tags/dev-2.7.0
[2.6.0]: https://git.barrett.com/burt/software/burt-util/tags/dev-2.6.0
[2.5.1]: https://git.barrett.com/burt/software/burt-util/tags/dev-2.5.1
[2.5.0]: https://git.barrett.com/burt/software/burt-util/tags/dev-2.5.0
[2.4.1]: https://git.barrett.com/burt/software/burt-util/tags/dev-2.4.1
[2.4.0]: https://git.barrett.com/burt/software/burt-util/tags/dev-2.4.0
[2.3.1]: https://git.barrett.com/burt/software/burt-util/tags/dev-2.3.1
[2.2.0]: https://git.barrett.com/burt/software/burt-util/tags/dev-2.2.0
[2.0.0]: https://git.barrett.com/burt/software/burt-util/tags/dev-2.0.0
[1.2.0]: https://git.barrett.com/burt/software/burt-util/tags/dev-1.2.0
[1.1.0]: https://git.barrett.com/burt/software/burt-util/tags/dev-1.1.0
[1.0.0]: https://git.barrett.com/burt/software/burt-util/tags/dev-1.0.0
[0.8.8]: https://git.barrett.com/burt/software/burt-util/tags/dev-0.8.8
[0.8.7]: https://git.barrett.com/burt/software/burt-util/tags/dev-0.8.7
[0.8.5]: https://git.barrett.com/burt/software/burt-util/tags/dev-0.8.5
[0.8.3]: https://git.barrett.com/burt/software/burt-util/tags/dev-0.8.3
[0.8.2]: https://git.barrett.com/burt/software/burt-util/tags/dev-0.8.2
[0.8.1]: https://git.barrett.com/burt/software/burt-util/tags/dev-0.8.1
[0.8.0]: https://git.barrett.com/burt/software/burt-util/tags/dev-0.8.0
[0.7.1]: https://git.barrett.com/burt/software/burt-util/tags/dev-0.7.1
[0.7.0]: https://git.barrett.com/burt/software/burt-util/tags/dev-0.7.0
[0.6.1]: https://git.barrett.com/burt/software/burt-util/tags/dev-0.6.1
[0.6.0]: https://git.barrett.com/burt/software/burt-util/tags/dev-0.6.0
[0.5.0]: https://git.barrett.com/burt/software/burt-util/tags/dev-0.5.0
[0.4.1]: https://git.barrett.com/burt/software/burt-util/tags/dev-0.4.1
[0.4.0]: https://git.barrett.com/burt/software/burt-util/tags/dev-0.4.0
[0.2.3]: https://git.barrett.com/burt/software/burt-util/tags/dev-0.2.3
# Contributing to Proficio Kinetis Firmware
# Contributing to burt-util
This guide details how to use issues and pull requests to improve Proficio Kinetis Firmware.
This guide details how to use issues and pull requests to improve burt-util.
Please stick as close as possible to the guidelines. That way we ensure quality in our products and merge requests become easier.
......
[[source]]
verify_ssl = true
url = "https://pypi.org/simple"
name = "pypi"
[dev-packages]
burt-util = {editable = true, path = "."}
nosetests-json-extended = "==0.1.0"
nose = "==1.3.7"
[requires]
python_version = "3.4"
[packages]
aiocoap = "==0.3"
canmatrix = "==0.5"
canopen = "==0.5.1"
chardet = "==3.0.4"
click = "==6.6"
click-didyoumean = "==0.0.3"
click-spinner = "==0.1.7"
coverage = "==4.4.1"
msgpack-python = "==0.5.6"
python-can = "*"
python-gitlab = "==0.21.2"
requests = "==2.18.4"
semver = "==2.7.7"
six = "==1.10.0"
toml = "==0.9.2"
"urllib3" = "==1.22"
statistics = "*"
pyshark = "==0.3.8"
This diff is collapsed.
## Installing
# burt-util: Barrett BURT Utility
> `burt-util` is a BURT firmware management Utility with commands
> that allow you to easily upgrade firmware, flash a bootloader,
> connect to the firmware via CAN and CoAP, and much more.
*Requires*: Python 3.4.x
**Build Status**: [![build status](https://git.barrett.com/burt/software/burt-util/badges/devel/build.svg)](https://git.barrett.com/burt/software/burt-util/commits/devel)
**Coverage Report**: [![coverage report](https://git.barrett.com/burt/software/burt-util/badges/devel/coverage.svg)](https://git.barrett.com/burt/software/burt-util/commits/devel)
All requirements are manageed by the setup.py file and the application can be installed by running:
**Origin of the name**: `burt` refers to the name of Barrett's stroke
rehabilitation robot. `util` is short for 'utility'.
## Installation
*Requires*: Python 3.4+, blhost, a device with socket-can running at
1Mbps, (optional) Kinetis Design Studio v3
### Quick Start
The following commands are all you need:
<