gattlib-py/device: Re-enable RSSI

fix-build
Olivier Martin 2022-05-13 22:38:06 +02:00 committed by Olivier Martin
parent ac1f3d44d5
commit 59820e2cad
3 changed files with 15 additions and 12 deletions

View File

@ -862,9 +862,12 @@ int get_bluez_device_from_mac(struct gattlib_adapter *adapter, const char *mac_a
return GATTLIB_SUCCESS;
}
#if 0 // Disable until https://github.com/labapart/gattlib/issues/75 is resolved
int gattlib_get_rssi(gatt_connection_t *connection, int16_t *rssi)
{
if (connection == NULL) {
return GATTLIB_INVALID_PARAMETER;
}
gattlib_context_t* conn_context = connection->context;
if (rssi == NULL) {
@ -875,7 +878,6 @@ int gattlib_get_rssi(gatt_connection_t *connection, int16_t *rssi)
return GATTLIB_SUCCESS;
}
#endif
int gattlib_get_rssi_from_mac(void *adapter, const char *mac_address, int16_t *rssi)
{

View File

@ -144,10 +144,9 @@ gattlib_register_notification.argtypes = [c_void_p, py_object, py_object]
gattlib_register_on_disconnect = gattlib.gattlib_register_on_disconnect_python
gattlib_register_on_disconnect.argtypes = [c_void_p, py_object, py_object]
# Disable until https://github.com/labapart/gattlib/issues/75 is resolved
# int gattlib_get_rssi(gatt_connection_t *connection, int16_t *rssi)
# gattlib_get_rssi = gattlib.gattlib_get_rssi
# gattlib_get_rssi.argtypes = [c_void_p, POINTER(c_int16)]
gattlib_get_rssi = gattlib.gattlib_get_rssi
gattlib_get_rssi.argtypes = [c_void_p, POINTER(c_int16)]
# int gattlib_get_rssi_from_mac(void *adapter, const char *mac_address, int16_t *rssi)
gattlib_get_rssi_from_mac = gattlib.gattlib_get_rssi_from_mac

View File

@ -63,13 +63,15 @@ class Device:
if self._connection == 0:
raise DeviceError()
# Disable until https://github.com/labapart/gattlib/issues/75 is resolved
# @property
# def rssi(self):
# _rssi = c_int16(0)
# ret = gattlib_get_rssi(self._connection, byref(_rssi))
# handle_return(ret)
# return _rssi.value
@property
def rssi(self):
_rssi = c_int16(0)
if self._connection:
ret = gattlib_get_rssi(self._connection, byref(_rssi))
handle_return(ret)
return _rssi.value
else:
return self._adapter.get_rssi_from_mac(self._addr)
@staticmethod
def on_disconnection(user_data):