This allows to cache remote device RSSI and get it with get property command. --- android/bluetooth.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/android/bluetooth.c b/android/bluetooth.c index 0515468..254ccb4 100644 --- a/android/bluetooth.c +++ b/android/bluetooth.c @@ -97,6 +97,7 @@ struct device { char *name; char *friendly_name; uint32_t class; + int32_t rssi; }; struct browse_req { @@ -822,6 +823,8 @@ static void update_found_device(const bdaddr_t *bdaddr, uint8_t bdaddr_type, } if (rssi) { + dev->rssi = rssi; + size += fill_hal_prop(buf + size, HAL_PROP_DEVICE_RSSI, sizeof(rssi), &rssi); (*num_prop)++; @@ -2306,11 +2309,13 @@ static uint8_t get_device_friendly_name(struct device *dev) static uint8_t get_device_rssi(struct device *dev) { - DBG("Not implemented"); + if (!dev->rssi) + return HAL_STATUS_FAILED; - /* TODO */ + send_device_property(&dev->bdaddr, HAL_PROP_DEVICE_RSSI, + sizeof(dev->rssi), &dev->rssi); - return HAL_STATUS_FAILED; + return HAL_STATUS_SUCCESS; } static uint8_t get_device_version_info(struct device *dev) -- 1.8.3.2 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html