summaryrefslogtreecommitdiffstats
path: root/freestyle_hid/_session.py (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-03-03Allow selecting which encoding to use for decoding text commands.Diego Elio Pettenò1-11/+9
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.
2021-03-03Calculate multirecords checksum based on the raw bytes.Diego Elio Pettenò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.