From 94ff09b946be3c170103b841633e6ec48b4c0297 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20Elio=20Petten=C3=B2?= Date: Thu, 3 Aug 2023 09:19:38 +0100 Subject: Don't depend on product ID to enable encrypted protocol. 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. --- freestyle_hid/tools/hid_console.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'freestyle_hid/tools/hid_console.py') diff --git a/freestyle_hid/tools/hid_console.py b/freestyle_hid/tools/hid_console.py index 2c395bd..6eec4e2 100755 --- a/freestyle_hid/tools/hid_console.py +++ b/freestyle_hid/tools/hid_console.py @@ -46,6 +46,14 @@ click_log.basic_config(logger) help="Encoding to use to decode commands returned by the meter", default="ascii", ) +@click.option( + "--encrypted-protocol / --no-encrypted-protocol", + default=False, + help=( + "Whether to use the encrypted protocol to communicate to the device." + " This is necessary to talk to Libre2 glucometers." + ), +) @click.argument( "device-path", type=click.Path(exists=True, dir_okay=False, writable=True, allow_dash=False), @@ -59,6 +67,7 @@ def main( product_id: Optional[int], device_path: Optional[pathlib.Path], encoding: str, + encrypted_protocol: bool, ): if not product_id and not device_path: raise click.UsageError( @@ -66,7 +75,12 @@ def main( ) session = freestyle_hid.Session( - product_id, device_path, text_command_type, text_reply_type, encoding=encoding + product_id, + device_path, + text_command_type, + text_reply_type, + encoding=encoding, + encrypted=encrypted_protocol, ) session.connect() -- cgit v1.2.3