| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This replaces the usage of generics from `typing` with built-in or from
`collections.abc` since Python 3.9 is the minimum supported version.
|
|
|
|
|
| |
Instead of manually combining and parsing integers (particularly IV that
is a 56-bit integer), use construct formats to handle the parsing.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The HID support module, together with the search by IDs make it easier
to write a reliable extractor.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This also sets up the whole pytest configuration and Travis CI integration.
|
|
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.
|