2015-12-08 11:00:52

by Gowtham Anandha Babu

[permalink] [raw]
Subject: [PATCH] test: Add device discovery filter

This patch adds the below mentioned device discovery
filters.
UUIDs, RSSI, Pathloss, Transport.
---
test/test-discovery | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

diff --git a/test/test-discovery b/test/test-discovery
index 9a2c6b9..cea7768 100755
--- a/test/test-discovery
+++ b/test/test-discovery
@@ -115,6 +115,18 @@ if __name__ == '__main__':
option_list = [
make_option("-i", "--device", action="store",
type="string", dest="dev_id"),
+ make_option("-u", "--uuids", action="store",
+ type="string", dest="uuids",
+ help="Filtered service UUIDs [uuid1,uuid2,...]"),
+ make_option("-r", "--rssi", action="store",
+ type="int", dest="rssi",
+ help="RSSI threshold value"),
+ make_option("-p", "--pathloss", action="store",
+ type="int", dest="pathloss",
+ help="Pathloss threshold value"),
+ make_option("-t", "--transport", action="store",
+ type="string", dest="transport",
+ help="Type of scan to run (le/bredr/auto)"),
make_option("-c", "--compact",
action="store_true", dest="compact"),
]
@@ -144,6 +156,26 @@ if __name__ == '__main__':
if "org.bluez.Device1" in interfaces:
devices[path] = interfaces["org.bluez.Device1"]

+ scan_filter = dict()
+
+ if options.uuids:
+ uuids = []
+ uuid_list = options.uuids.split(',')
+ for uuid in uuid_list:
+ uuids.append(uuid)
+
+ scan_filter.update({ "UUIDs": uuids })
+
+ if options.rssi:
+ scan_filter.update({ "RSSI": dbus.Int16(options.rssi) })
+
+ if options.pathloss:
+ scan_filter.update({ "Pathloss": dbus.UInt16(options.pathloss) })
+
+ if options.transport:
+ scan_filter.update({ "Transport": options.transport })
+
+ adapter.SetDiscoveryFilter(scan_filter)
adapter.StartDiscovery()

mainloop = GObject.MainLoop()
--
1.9.1



2016-01-19 07:02:18

by Johan Hedberg

[permalink] [raw]
Subject: Re: [PATCH] test: Add device discovery filter

Hi Gowtham,

On Tue, Dec 08, 2015, Gowtham Anandha Babu wrote:
> This patch adds the below mentioned device discovery
> filters.
> UUIDs, RSSI, Pathloss, Transport.
> ---
> test/test-discovery | 32 ++++++++++++++++++++++++++++++++
> 1 file changed, 32 insertions(+)

Sorry for the delay with this one, I seem to have missed it. Applied
now. Thanks.

Johan

2016-01-19 05:13:12

by Gowtham Anandha Babu

[permalink] [raw]
Subject: RE: [PATCH] test: Add device discovery filter

Ping.

> -----Original Message-----
> From: Gowtham Anandha Babu [mailto:[email protected]]
> Sent: Tuesday, December 08, 2015 4:31 PM
> To: [email protected]
> Cc: [email protected]; Gowtham Anandha Babu
> Subject: [PATCH] test: Add device discovery filter
>
> This patch adds the below mentioned device discovery filters.
> UUIDs, RSSI, Pathloss, Transport.
> ---
> test/test-discovery | 32 ++++++++++++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
>
> diff --git a/test/test-discovery b/test/test-discovery index
9a2c6b9..cea7768
> 100755
> --- a/test/test-discovery
> +++ b/test/test-discovery
> @@ -115,6 +115,18 @@ if __name__ == '__main__':
> option_list = [
> make_option("-i", "--device", action="store",
> type="string", dest="dev_id"),
> + make_option("-u", "--uuids", action="store",
> + type="string", dest="uuids",
> + help="Filtered service UUIDs
> [uuid1,uuid2,...]"),
> + make_option("-r", "--rssi", action="store",
> + type="int", dest="rssi",
> + help="RSSI threshold value"),
> + make_option("-p", "--pathloss", action="store",
> + type="int", dest="pathloss",
> + help="Pathloss threshold value"),
> + make_option("-t", "--transport", action="store",
> + type="string", dest="transport",
> + help="Type of scan to run
> (le/bredr/auto)"),
> make_option("-c", "--compact",
> action="store_true",
> dest="compact"),
> ]
> @@ -144,6 +156,26 @@ if __name__ == '__main__':
> if "org.bluez.Device1" in interfaces:
> devices[path] = interfaces["org.bluez.Device1"]
>
> + scan_filter = dict()
> +
> + if options.uuids:
> + uuids = []
> + uuid_list = options.uuids.split(',')
> + for uuid in uuid_list:
> + uuids.append(uuid)
> +
> + scan_filter.update({ "UUIDs": uuids })
> +
> + if options.rssi:
> + scan_filter.update({ "RSSI": dbus.Int16(options.rssi) })
> +
> + if options.pathloss:
> + scan_filter.update({ "Pathloss":
> dbus.UInt16(options.pathloss) })
> +
> + if options.transport:
> + scan_filter.update({ "Transport": options.transport })
> +
> + adapter.SetDiscoveryFilter(scan_filter)
> adapter.StartDiscovery()
>
> mainloop = GObject.MainLoop()
> --
> 1.9.1