diff mbox series

[Bluez,v2,3/6] doc: Add documentation for LE Set Advertising Interval

Message ID 20200330160343.Bluez.v2.3.Ia74c1ab0a71d90f46f10b4e32743cab722a97bbb@changeid (mailing list archive)
State New, archived
Headers show
Series Add support of setting advertiing intervals. | expand

Commit Message

Howard Chung March 30, 2020, 8:03 a.m. UTC
Signed-off-by: Howard Chung <howardchung@google.com>
---

Changes in v2: None

 doc/advertising-api.txt | 13 +++++++++++++
 doc/mgmt-api.txt        | 25 +++++++++++++++++++++++++
 2 files changed, 38 insertions(+)

Comments

Szymon Janc March 30, 2020, 9:25 a.m. UTC | #1
Hi,

On Monday, 30 March 2020 10:03:54 CEST Howard Chung wrote:
> Signed-off-by: Howard Chung <howardchung@google.com>
> ---
> 
> Changes in v2: None
> 
>  doc/advertising-api.txt | 13 +++++++++++++
>  doc/mgmt-api.txt        | 25 +++++++++++++++++++++++++
>  2 files changed, 38 insertions(+)
> 
> diff --git a/doc/advertising-api.txt b/doc/advertising-api.txt
> index b0565eab2..9264cdb27 100644
> --- a/doc/advertising-api.txt
> +++ b/doc/advertising-api.txt
> @@ -209,3 +209,16 @@ Properties	byte ActiveInstances
>  			Possible values: "1M"
>  					 "2M"
>  					 "Coded"
> +
> +		void SetAdvertisingIntervals(uint16 min_interval_ms,
> +					     uint16 max_interval_ms)
> +
> +			This method sets the advertising intervals.
> +
> +			The parameters min_interval_ms and 
max_interval_ms
> +			are specified in milli-seconds. Valid values of
> +			the intervals must fall between 20 ms and 10,240 
ms.
> +
> +			Possible errors: org.bluez.Error.Failed
> +					 org.bluez.Error.InProgress
> +					 
org.bluez.Error.InvalidArguments
> diff --git a/doc/mgmt-api.txt b/doc/mgmt-api.txt
> index 27a41f334..5eff87e24 100644
> --- a/doc/mgmt-api.txt
> +++ b/doc/mgmt-api.txt
> @@ -2925,6 +2925,31 @@ Read Extended Controller Information Command
>  				Invalid Index
> 
> 
> +Set Advertising Intervals Command
> +=================================
> +
> +	Command Code:		0x0101
> +	Controller Index:	<controller id>
> +	Command Parameters:	Min_Interval     (2 Octets)
> +				Max_Interval     (2 Octets)
> +	Return Parameters:	Current_Settings (4 Octets)
> +
> +	This command is used to set advertising intervals. The intervals
> +	are expressed in multiples of 0.625 ms. The default values of
> +	both intervals are 0x0800. Valid Min_Interval and Max_Interval
> +	values must fall between 0x0020 and 0x4000.
> +
> +	The advertising intervals are first kept in hdev struct. The values
> +	would be sent to the controller and take effect when advertising is
> +	actually enabled. If the advertising intervals are set when
> +	advertising is already on, the advertising would be disabled and
> +	re-enabled to make the intervals take effect.
> +
> +	Possible errors:	Busy
> +				Rejected
> +				Invalid Parameters
> +
> +
>  Set Appearance Command
>  ======================


I feel this should be per instance settings, and if we want this level of 
finetuning we would probably need to have new command for adding advertising 
sets (where we could fix more, eg not limit data to 255 bytes).

Other option would be to maybe have new flags in current Add Advertising that 
would allow to choose from low,med,hi (eg based on GAP recommended values) 
intervals, and then allow to finetune those via extra command or sysfs?

Just my two cents.
Luiz Augusto von Dentz April 7, 2020, 11:17 p.m. UTC | #2
Hi Szymon, Howard,

On Mon, Mar 30, 2020 at 2:27 AM Szymon Janc <szymon.janc@codecoup.pl> wrote:
>
> Hi,
>
> On Monday, 30 March 2020 10:03:54 CEST Howard Chung wrote:
> > Signed-off-by: Howard Chung <howardchung@google.com>
> > ---
> >
> > Changes in v2: None
> >
> >  doc/advertising-api.txt | 13 +++++++++++++
> >  doc/mgmt-api.txt        | 25 +++++++++++++++++++++++++
> >  2 files changed, 38 insertions(+)
> >
> > diff --git a/doc/advertising-api.txt b/doc/advertising-api.txt
> > index b0565eab2..9264cdb27 100644
> > --- a/doc/advertising-api.txt
> > +++ b/doc/advertising-api.txt
> > @@ -209,3 +209,16 @@ Properties       byte ActiveInstances
> >                       Possible values: "1M"
> >                                        "2M"
> >                                        "Coded"
> > +
> > +             void SetAdvertisingIntervals(uint16 min_interval_ms,
> > +                                          uint16 max_interval_ms)
> > +
> > +                     This method sets the advertising intervals.
> > +
> > +                     The parameters min_interval_ms and
> max_interval_ms
> > +                     are specified in milli-seconds. Valid values of
> > +                     the intervals must fall between 20 ms and 10,240
> ms.
> > +
> > +                     Possible errors: org.bluez.Error.Failed
> > +                                      org.bluez.Error.InProgress
> > +
> org.bluez.Error.InvalidArguments
> > diff --git a/doc/mgmt-api.txt b/doc/mgmt-api.txt
> > index 27a41f334..5eff87e24 100644
> > --- a/doc/mgmt-api.txt
> > +++ b/doc/mgmt-api.txt
> > @@ -2925,6 +2925,31 @@ Read Extended Controller Information Command
> >                               Invalid Index
> >
> >
> > +Set Advertising Intervals Command
> > +=================================
> > +
> > +     Command Code:           0x0101
> > +     Controller Index:       <controller id>
> > +     Command Parameters:     Min_Interval     (2 Octets)
> > +                             Max_Interval     (2 Octets)
> > +     Return Parameters:      Current_Settings (4 Octets)
> > +
> > +     This command is used to set advertising intervals. The intervals
> > +     are expressed in multiples of 0.625 ms. The default values of
> > +     both intervals are 0x0800. Valid Min_Interval and Max_Interval
> > +     values must fall between 0x0020 and 0x4000.
> > +
> > +     The advertising intervals are first kept in hdev struct. The values
> > +     would be sent to the controller and take effect when advertising is
> > +     actually enabled. If the advertising intervals are set when
> > +     advertising is already on, the advertising would be disabled and
> > +     re-enabled to make the intervals take effect.
> > +
> > +     Possible errors:        Busy
> > +                             Rejected
> > +                             Invalid Parameters
> > +
> > +
> >  Set Appearance Command
> >  ======================
>
>
> I feel this should be per instance settings, and if we want this level of
> finetuning we would probably need to have new command for adding advertising
> sets (where we could fix more, eg not limit data to 255 bytes).
>
> Other option would be to maybe have new flags in current Add Advertising that
> would allow to choose from low,med,hi (eg based on GAP recommended values)
> intervals, and then allow to finetune those via extra command or sysfs?
>
> Just my two cents.

+1, since we need to accomodate for the case of having multiple
application having their own instances having some presets might be
easier to manage.
diff mbox series

Patch

diff --git a/doc/advertising-api.txt b/doc/advertising-api.txt
index b0565eab2..9264cdb27 100644
--- a/doc/advertising-api.txt
+++ b/doc/advertising-api.txt
@@ -209,3 +209,16 @@  Properties	byte ActiveInstances
 			Possible values: "1M"
 					 "2M"
 					 "Coded"
+
+		void SetAdvertisingIntervals(uint16 min_interval_ms,
+					     uint16 max_interval_ms)
+
+			This method sets the advertising intervals.
+
+			The parameters min_interval_ms and max_interval_ms
+			are specified in milli-seconds. Valid values of
+			the intervals must fall between 20 ms and 10,240 ms.
+
+			Possible errors: org.bluez.Error.Failed
+					 org.bluez.Error.InProgress
+					 org.bluez.Error.InvalidArguments
diff --git a/doc/mgmt-api.txt b/doc/mgmt-api.txt
index 27a41f334..5eff87e24 100644
--- a/doc/mgmt-api.txt
+++ b/doc/mgmt-api.txt
@@ -2925,6 +2925,31 @@  Read Extended Controller Information Command
 				Invalid Index
 
 
+Set Advertising Intervals Command
+=================================
+
+	Command Code:		0x0101
+	Controller Index:	<controller id>
+	Command Parameters:	Min_Interval     (2 Octets)
+				Max_Interval     (2 Octets)
+	Return Parameters:	Current_Settings (4 Octets)
+
+	This command is used to set advertising intervals. The intervals
+	are expressed in multiples of 0.625 ms. The default values of
+	both intervals are 0x0800. Valid Min_Interval and Max_Interval
+	values must fall between 0x0020 and 0x4000.
+
+	The advertising intervals are first kept in hdev struct. The values
+	would be sent to the controller and take effect when advertising is
+	actually enabled. If the advertising intervals are set when
+	advertising is already on, the advertising would be disabled and
+	re-enabled to make the intervals take effect.
+
+	Possible errors:	Busy
+				Rejected
+				Invalid Parameters
+
+
 Set Appearance Command
 ======================