From: Archie Pusaka <apusaka@google.com>
To: linux-bluetooth <linux-bluetooth@vger.kernel.org>,
Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Cc: CrosBT Upstreaming <chromeos-bluetooth-upstreaming@chromium.org>,
Archie Pusaka <apusaka@chromium.org>,
Manish Mandlik <mmandlik@chromium.org>,
Miao-chen Chou <mcchou@chromium.org>,
Yun-Hao Chung <howardchung@google.com>
Subject: [Bluez PATCH v3 1/2] doc/mgmt-api: Add opcode for adding advertisement monitor with RSSI
Date: Wed, 16 Dec 2020 11:42:56 +0800 [thread overview]
Message-ID: <20201216114231.Bluez.v3.1.Iab784797733f28413e9de4f0d7fc0d4e1a00d9ef@changeid> (raw)
From: Archie Pusaka <apusaka@chromium.org>
This is to leverage the filtering by RSSI feature on those controllers
which supports advertisement packet filtering. To avoid changing the
existing API and breaking it, a new opcode is required.
Reviewed-by: Manish Mandlik <mmandlik@chromium.org>
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
Reviewed-by: Yun-Hao Chung <howardchung@google.com>
---
Changes in v3:
* Flip the order of rssi data and pattern count
doc/mgmt-api.txt | 52 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/doc/mgmt-api.txt b/doc/mgmt-api.txt
index 1aa43d6c3c..1736ef009e 100644
--- a/doc/mgmt-api.txt
+++ b/doc/mgmt-api.txt
@@ -3800,6 +3800,58 @@ Add Extended Advertising Data Command
Busy
+Add Advertisement Patterns Monitor With RSSI Threshold Command
+==============================================================
+
+ Command Code: 0x0056
+ Controller Index: <controller id>
+ Command Parameters: RSSI_Data {
+ High_Threshold (1 Octet)
+ High_Threshold_Timer (2 Octets)
+ Low_Threshold (1 Octet)
+ Low_Threshold_Timer (2 Octets)
+ Sampling_Period (1 Octet)
+ }
+ Pattern_Count (1 Octet)
+ Pattern1 {
+ AD_Type (1 Octet)
+ Offset (1 Octet)
+ Length (1 Octet)
+ Value (31 Octets)
+ }
+ Pattern2 { }
+ ...
+ Return Parameters: Monitor_Handle (2 Octets)
+
+ This command is essentially the same as Add Advertisement Patterns
+ Monitor Command (0x0052), but with an additional RSSI parameters.
+ As such, if the kernel supports advertisement filtering, then the
+ advertisement data will be filtered in accordance with the set
+ RSSI parameters. Otherwise, it would behave exactly the same as the
+ Add Advertisement Patterns Monitor Command.
+
+ Devices would be considered "in-range" if the RSSI of the received adv
+ packets are greater than High_Threshold dBm for High_Threshold_Timer
+ seconds. Similarly, devices would be considered lost if no received
+ adv have RSSI greater than Low_Threshold dBm for Low_Threshold_Timer
+ seconds. Only adv packets of "in-range" device would be propagated.
+
+ The meaning of Sampling_Period is as follows:
+ 0x00 All adv packets from "in-range" devices would be
+ propagated.
+ 0xFF Only the first adv data of "in-range" devices would be
+ propagated. If the device becomes lost, then the first
+ data when it is found again will also be propagated.
+ other Advertisement data would be grouped into 100ms * N
+ time period. Data in the same group will only be
+ reported once, with the RSSI value being averaged out.
+
+ Possible errors: Failed
+ Busy
+ No Resources
+ Invalid Parameters
+
+
Command Complete Event
======================
--
2.29.2.684.gfbc64c5ab5-goog
next reply other threads:[~2020-12-16 3:44 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-16 3:42 Archie Pusaka [this message]
2020-12-16 3:42 ` [Bluez PATCH v3 2/2] lib/mgmt: Adding Add Adv Patterns Monitor RSSI opcode Archie Pusaka
2021-01-06 10:43 ` Archie Pusaka
2020-12-16 3:58 ` [Bluez,v3,1/2] doc/mgmt-api: Add opcode for adding advertisement monitor with RSSI bluez.test.bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201216114231.Bluez.v3.1.Iab784797733f28413e9de4f0d7fc0d4e1a00d9ef@changeid \
--to=apusaka@google.com \
--cc=apusaka@chromium.org \
--cc=chromeos-bluetooth-upstreaming@chromium.org \
--cc=howardchung@google.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=luiz.dentz@gmail.com \
--cc=mcchou@chromium.org \
--cc=mmandlik@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).