From 20f2d5facf6cdb7aac5577d9bebc8ebdeeac2863 Mon Sep 17 00:00:00 2001 From: Olivier Martin Date: Sat, 14 May 2022 00:14:53 +0200 Subject: [PATCH] gattlib-py/device: Add support to unregister GATT notification --- gattlib-py/gattlib/device.py | 3 +++ gattlib-py/gattlib/gatt.py | 3 +++ 2 files changed, 6 insertions(+) diff --git a/gattlib-py/gattlib/device.py b/gattlib-py/gattlib/device.py index b40f6dd..93955e2 100644 --- a/gattlib-py/gattlib/device.py +++ b/gattlib-py/gattlib/device.py @@ -222,6 +222,9 @@ class Device: self._gatt_characteristic_callbacks[gatt_characteristic.short_uuid] = { 'callback': callback, 'user_data': user_data } + def _notification_remove_gatt_characteristic_callback(self, gatt_characteristic): + self._gatt_characteristic_callbacks[gatt_characteristic.short_uuid] = None + def __str__(self): name = self._name if name: diff --git a/gattlib-py/gattlib/gatt.py b/gattlib-py/gattlib/gatt.py index 0ceed11..d2cbd13 100644 --- a/gattlib-py/gattlib/gatt.py +++ b/gattlib-py/gattlib/gatt.py @@ -115,6 +115,9 @@ class GattCharacteristic(): def register_notification(self, callback, user_data=None): self._device._notification_add_gatt_characteristic_callback(self, callback, user_data) + def unregister_notification(self): + self._device._notification_remove_gatt_characteristic_callback(self) + def notification_start(self): ret = gattlib_notification_start(self.connection, self._gattlib_characteristic.uuid) handle_return(ret)