Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | console: allow sending a single command to the device.HEADfreestyle-hid-1.1.1main | Diego Elio Pettenò | 2023-08-03 | 1 | -0/+14 |
| | | | | | | This avoids having to open the session and makes scripting a lot easier particularly when changing the settings of the device and needing a restart to continue. | ||||
* | Use empty `__init__.py` files. | Diego Elio Pettenò | 2023-08-03 | 2 | -6/+0 |
| | | | | This avoids adding SPDX tagging on empty files. | ||||
* | Update typing to PEP 585 style. | Diego Elio Pettenò | 2023-08-03 | 2 | -5/+7 |
| | | | | | This replaces the usage of generics from `typing` with built-in or from `collections.abc` since Python 3.9 is the minimum supported version. | ||||
* | Include Python 3.10 and 3.11 as part of CI. | Diego Elio Pettenò | 2023-08-03 | 2 | -1/+7 |
| | |||||
* | pre-commit autoupdate | Diego Elio Pettenò | 2023-08-03 | 1 | -3/+3 |
| | |||||
* | Update minimum supported version to Python 3.9. | Diego Elio Pettenò | 2023-08-03 | 6 | -11/+5 |
| | |||||
* | Include the encryption extra in the CI.freestyle-hid-1.1.0 | Diego Elio Pettenò | 2023-08-03 | 1 | -1/+1 |
| | | | | This is required for mypy to pass. | ||||
* | Be more verbose on error messages and parsing with construct. | Diego Elio Pettenò | 2023-08-03 | 3 | -44/+119 |
| | | | | | Instead of manually combining and parsing integers (particularly IV that is a 56-bit integer), use construct formats to handle the parsing. | ||||
* | Don't depend on product ID to enable encrypted protocol. | Diego Elio Pettenò | 2023-08-03 | 2 | -6/+21 |
| | | | | | | | | This is a little less automatic in the way it works, but it allows the caller to decide whether to enable the encrypted protocol for the session or not. It also raises earlier in case the encryption keys are not found. | ||||
* | If present, load the actual keys from freestyle-keys package. | Diego Elio Pettenò | 2023-08-03 | 3 | -10/+28 |
| | |||||
* | Reformat to pass pre-commit checks. | Diego Elio Pettenò | 2023-08-03 | 2 | -40/+75 |
| | |||||
* | Update authors and headers information. | Diego Elio Pettenò | 2023-08-03 | 2 | -1/+6 |
| | |||||
* | initial encrypted protocol support | MPM1107 | 2023-08-03 | 2 | -22/+198 |
| | |||||
* | Reformat with the new black. | Diego Elio Pettenò | 2023-04-16 | 1 | -1/+0 |
| | |||||
* | Update pre-commit config. | Diego Elio Pettenò | 2023-04-16 | 1 | -6/+6 |
| | |||||
* | Update mergify configuration. | Diego Elio Pettenò | 2021-11-07 | 1 | -17/+3 |
| | |||||
* | pre-commit autoupdate. | Diego Elio Pettenò | 2021-11-07 | 1 | -4/+4 |
| | |||||
* | Don't select a specific Python version for pypi. | Diego Elio Pettenò | 2021-05-17 | 1 | -1/+1 |
| | |||||
* | CI: name the job with a bit more obvious name. | Diego Elio Pettenò | 2021-05-17 | 2 | -19/+19 |
| | |||||
* | Mergify: make sure to check the status of _all_ actions. | Diego Elio Pettenò | 2021-05-17 | 1 | -2/+18 |
| | | | | | See the documentation at https://docs.mergify.io/conditions/#about-status-checks | ||||
* | Only try publishing tags. | Diego Elio Pettenò | 2021-05-17 | 1 | -0/+1 |
| | | | | | | | Without this change, setuptools_scm will try to publish PEP 440 local versions to PyPI, which will fail. Also this does not require checking out the full history. | ||||
* | Use the new usbmon-tools 3 DeviceAddress command line flags.freestyle-hid-1.0.3 | Diego Elio Pettenò | 2021-05-16 | 2 | -5/+15 |
| | |||||
* | Fix tests: DeviceAddress objects cannot be joined. | Diego Elio Pettenò | 2021-05-16 | 1 | -1/+4 |
| | |||||
* | Run pre-commit autoupdate. | Diego Elio Pettenò | 2021-05-16 | 1 | -5/+5 |
| | |||||
* | Fix thinko in README. | Diego Elio Pettenò | 2021-05-16 | 1 | -1/+1 |
| | |||||
* | Migrate to GitHub Actions rather than Travis CI. | Diego Elio Pettenò | 2021-05-16 | 3 | -26/+33 |
| | |||||
* | Fix fat-fingered copy. | Diego Elio Pettenò | 2021-05-16 | 1 | -1/+1 |
| | |||||
* | Add GitHub action for publishing to PyPI. | Diego Elio Pettenò | 2021-05-16 | 1 | -0/+35 |
| | | | | | | This roughly follows the guide at https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/ but includes local tweaks to follow best practices. | ||||
* | Use the new APIs from usbmon-tools to simplify chatter extraction. | Diego Elio Pettenò | 2021-05-16 | 2 | -49/+21 |
| | | | | | The HID support module, together with the search by IDs make it easier to write a reliable extractor. | ||||
* | travis-ci: work around the wrong version of attrs in Python 3.7freestyle-hid-1.0.2 | Diego Elio Pettenò | 2021-03-03 | 1 | -0/+3 |
| | |||||
* | travis-ci: update to include 3.10-dev and 3.9 final. | Diego Elio Pettenò | 2021-03-03 | 1 | -1/+2 |
| | |||||
* | Allow selecting which encoding to use for decoding text commands. | Diego Elio Pettenò | 2021-03-03 | 2 | -12/+18 |
| | | | | | | | | The FreeStyle Libre at least allows patient names and other strings to be set in UTF-8 so there is no reason to force ascii everywhere. Instead, allow the session to define an encoding for ease of integration with downstream tools. | ||||
* | Calculate multirecords checksum based on the raw bytes. | Diego Elio Pettenò | 2021-03-03 | 1 | -7/+14 |
| | | | | | | | | | | | | | | | | | The original FreeStyle Libre software is known for incorrectly truncating strings with UTF-8, which causes the multi-record strings not to decode correctly. But since the Libre actually sends these as they are provided, we can calculate the checksum correctly if we do that _before_ replacing the invalid codepoints. This splits the `send_text_command` method into a public and a private interface, with the public returning the expected string, while the private returns the raw bytes. It should probably be changed to always return bytes instead. This change fixes https://github.com/glucometers-tech/glucometerutils/issues/103. | ||||
* | Update pre-commit configuration. | Diego Elio Pettenò | 2020-12-12 | 1 | -9/+3 |
| | |||||
* | Add missing pre-commit action configuration.freestyle-hid-1.0.1 | Diego Elio Pettenò | 2020-10-04 | 1 | -0/+24 |
| | |||||
* | Make sure to install usbmon-tools when enabling tools. | Diego Elio Pettenò | 2020-10-04 | 2 | -1/+2 |
| | | | | Also make sure to install tools when running tests. | ||||
* | Backport the one test that was present in glucometerutils. | Diego Elio Pettenò | 2020-10-04 | 5 | -0/+59 |
| | | | | This also sets up the whole pytest configuration and Travis CI integration. | ||||
* | Add missing py.typed files to package. | Diego Elio Pettenò | 2020-10-04 | 1 | -0/+3 |
| | |||||
* | Initial import of freestyle-hid.freestyle-hid-1.0.0 | Diego Elio Pettenò | 2020-10-04 | 25 | -0/+1589 |
This library is a factor-out of https://github.com/glucometers-tech/glucometerutils to only include the FreeStyle implementation, to make it easier to use outside of glucometerutils, and in particular to make it easier to build better reverse engineering tooling around it. Note that since the code was a mix of MIT and Apache-2.0 license, the overall license of the library is written down as Apache-2.0, as that would be a super-set of the requirements from MIT. |