* [PATCH RFC] Add Generic Device Battery API
@ 2012-08-30 11:26 chen.ganir
2012-08-30 11:26 ` [PATCH RFC] battery: Add generic device battery interface chen.ganir
0 siblings, 1 reply; 5+ messages in thread
From: chen.ganir @ 2012-08-30 11:26 UTC (permalink / raw)
To: linux-bluetooth; +Cc: chen.ganir
From: Chen Ganir <chen.ganir@ti.com>
This API proposal allows exposing peer device battery information to the D-Bus
clients. Profiles supporting peer device battery information (such as AVRCP,
LE Battery client) may use the internal API (next patch set) to register or
unregister batteries to be listed under the device object path. These batteries
have multiple read-only prpoerties that can be read by the D-Bus clients. In
addition, the new org.bluez.Battery interface allows sending PropertyChanged for
battery properties (such as Battery level).
Battery properties currently include the battery level, namespace and
description (currently used by the LE battery client). More properties can be
added or removed as we see fit in the future.
Comments on this patch will be appreciated.
Chen Ganir (1):
battery: Add generic device battery interface
doc/battery-api.txt | 34 ++++++++++++++++++++++++++++++++++
doc/device-api.txt | 5 +++++
2 files changed, 39 insertions(+)
create mode 100644 doc/battery-api.txt
--
1.7.9.5
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH RFC] battery: Add generic device battery interface
2012-08-30 11:26 [PATCH RFC] Add Generic Device Battery API chen.ganir
@ 2012-08-30 11:26 ` chen.ganir
2012-09-06 19:34 ` Claudio Takahasi
0 siblings, 1 reply; 5+ messages in thread
From: chen.ganir @ 2012-08-30 11:26 UTC (permalink / raw)
To: linux-bluetooth; +Cc: chen.ganir
From: Chen Ganir <chen.ganir@ti.com>
Add the D-Bus API documentation for the new generic device battery
interface. This API provides generic access to peer devcice
batteries.
---
doc/battery-api.txt | 34 ++++++++++++++++++++++++++++++++++
doc/device-api.txt | 5 +++++
2 files changed, 39 insertions(+)
create mode 100644 doc/battery-api.txt
diff --git a/doc/battery-api.txt b/doc/battery-api.txt
new file mode 100644
index 0000000..da82024
--- /dev/null
+++ b/doc/battery-api.txt
@@ -0,0 +1,34 @@
+BlueZ D-Bus Battery API description
+****************************************
+
+ Texas Instruments, Inc. <chen.ganir@ti.com>
+
+Device Battery hierarchy
+=====================================
+
+Service org.bluez
+Interface org.bluez.Battery
+Object path [variable prefix]/{hci0,..}/dev_XX_XX_XX_XX_XX_XX/BATTYYYY
+YYYY is numeric value between 0 and 9999.
+
+Methods dict GetProperties()
+
+ Returns all properties for the interface. See the
+ Properties section for the available properties.
+
+Signals PropertyChanged(string name, variant value)
+
+ This signal indicates a changed value of the given
+ property.
+
+Properties uint16 Level [readonly]
+
+ Battery level (0-100).
+
+ uint16 Description [readonly]
+
+ Battery description.
+
+ uint16 Namespace [readonly]
+
+ Battery Namespace.
diff --git a/doc/device-api.txt b/doc/device-api.txt
index 1f0dc96..c98d539 100644
--- a/doc/device-api.txt
+++ b/doc/device-api.txt
@@ -179,3 +179,8 @@ Properties string Address [readonly]
Note that this property can exhibit false-positives
in the case of Bluetooth 2.1 (or newer) devices that
have disabled Extended Inquiry Response support.
+
+ array{object} Batteries [readonly]
+
+ List of device battery object paths that represents the available
+ batteries on the remote device.
--
1.7.9.5
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH RFC] battery: Add generic device battery interface
2012-08-30 11:26 ` [PATCH RFC] battery: Add generic device battery interface chen.ganir
@ 2012-09-06 19:34 ` Claudio Takahasi
2012-09-09 5:59 ` Chen Ganir
0 siblings, 1 reply; 5+ messages in thread
From: Claudio Takahasi @ 2012-09-06 19:34 UTC (permalink / raw)
To: chen.ganir; +Cc: linux-bluetooth
Hi Chen Ganir:
On Thu, Aug 30, 2012 at 8:26 AM, <chen.ganir@ti.com> wrote:
> From: Chen Ganir <chen.ganir@ti.com>
>
> Add the D-Bus API documentation for the new generic device battery
> interface. This API provides generic access to peer devcice
> batteries.
> ---
> doc/battery-api.txt | 34 ++++++++++++++++++++++++++++++++++
> doc/device-api.txt | 5 +++++
> 2 files changed, 39 insertions(+)
> create mode 100644 doc/battery-api.txt
>
> diff --git a/doc/battery-api.txt b/doc/battery-api.txt
> new file mode 100644
> index 0000000..da82024
> --- /dev/null
> +++ b/doc/battery-api.txt
> @@ -0,0 +1,34 @@
> +BlueZ D-Bus Battery API description
> +****************************************
> +
> + Texas Instruments, Inc. <chen.ganir@ti.com>
> +
> +Device Battery hierarchy
> +=====================================
> +
> +Service org.bluez
> +Interface org.bluez.Battery
> +Object path [variable prefix]/{hci0,..}/dev_XX_XX_XX_XX_XX_XX/BATTYYYY
> +YYYY is numeric value between 0 and 9999.
> +
> +Methods dict GetProperties()
> +
> + Returns all properties for the interface. See the
> + Properties section for the available properties.
> +
> +Signals PropertyChanged(string name, variant value)
> +
> + This signal indicates a changed value of the given
> + property.
> +
> +Properties uint16 Level [readonly]
> +
> + Battery level (0-100).
> +
> + uint16 Description [readonly]
> +
> + Battery description.
> +
> + uint16 Namespace [readonly]
> +
> + Battery Namespace.
IMO "Description" and "Namespace" should be string:
http://developer.bluetooth.org/gatt/Pages/GattNamespaceDescriptors.aspx
For BLE Presentation Format is mandatory(Namespace and Description).
For AVRCP, probably it doesn't make sense. I recommend to include
additional description for these fields.
> diff --git a/doc/device-api.txt b/doc/device-api.txt
> index 1f0dc96..c98d539 100644
> --- a/doc/device-api.txt
> +++ b/doc/device-api.txt
> @@ -179,3 +179,8 @@ Properties string Address [readonly]
> Note that this property can exhibit false-positives
> in the case of Bluetooth 2.1 (or newer) devices that
> have disabled Extended Inquiry Response support.
> +
> + array{object} Batteries [readonly]
> +
> + List of device battery object paths that represents the available
> + batteries on the remote device.
> --
> 1.7.9.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
Are you planning to implement the Battery Service on BlueZ? (using UPower)
It seems to be straightforward.
Regards,
Claudio
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH RFC] battery: Add generic device battery interface
2012-09-06 19:34 ` Claudio Takahasi
@ 2012-09-09 5:59 ` Chen Ganir
2012-09-10 13:24 ` Claudio Takahasi
0 siblings, 1 reply; 5+ messages in thread
From: Chen Ganir @ 2012-09-09 5:59 UTC (permalink / raw)
To: Claudio Takahasi; +Cc: linux-bluetooth
Claudio,
On 09/06/2012 10:34 PM, Claudio Takahasi wrote:
> Hi Chen Ganir:
>
> On Thu, Aug 30, 2012 at 8:26 AM, <chen.ganir@ti.com> wrote:
>> From: Chen Ganir <chen.ganir@ti.com>
>>
>> Add the D-Bus API documentation for the new generic device battery
>> interface. This API provides generic access to peer devcice
>> batteries.
>> ---
>> doc/battery-api.txt | 34 ++++++++++++++++++++++++++++++++++
>> doc/device-api.txt | 5 +++++
>> 2 files changed, 39 insertions(+)
>> create mode 100644 doc/battery-api.txt
>>
>> diff --git a/doc/battery-api.txt b/doc/battery-api.txt
>> new file mode 100644
>> index 0000000..da82024
>> --- /dev/null
>> +++ b/doc/battery-api.txt
>> @@ -0,0 +1,34 @@
>> +BlueZ D-Bus Battery API description
>> +****************************************
>> +
>> + Texas Instruments, Inc. <chen.ganir@ti.com>
>> +
>> +Device Battery hierarchy
>> +=====================================
>> +
>> +Service org.bluez
>> +Interface org.bluez.Battery
>> +Object path [variable prefix]/{hci0,..}/dev_XX_XX_XX_XX_XX_XX/BATTYYYY
>> +YYYY is numeric value between 0 and 9999.
>> +
>> +Methods dict GetProperties()
>> +
>> + Returns all properties for the interface. See the
>> + Properties section for the available properties.
>> +
>> +Signals PropertyChanged(string name, variant value)
>> +
>> + This signal indicates a changed value of the given
>> + property.
>> +
>> +Properties uint16 Level [readonly]
>> +
>> + Battery level (0-100).
>> +
>> + uint16 Description [readonly]
>> +
>> + Battery description.
>> +
>> + uint16 Namespace [readonly]
>> +
>> + Battery Namespace.
>
> IMO "Description" and "Namespace" should be string:
> http://developer.bluetooth.org/gatt/Pages/GattNamespaceDescriptors.aspx
>
> For BLE Presentation Format is mandatory(Namespace and Description).
> For AVRCP, probably it doesn't make sense. I recommend to include
> additional description for these fields.
>
After discussing this issue with Johan, we decided to remove the
Namespace and Description properties from the generic battery. Do you
think we should have those properties or can we exclude them ? Do you
see any use case for those properties?
>> diff --git a/doc/device-api.txt b/doc/device-api.txt
>> index 1f0dc96..c98d539 100644
>> --- a/doc/device-api.txt
>> +++ b/doc/device-api.txt
>> @@ -179,3 +179,8 @@ Properties string Address [readonly]
>> Note that this property can exhibit false-positives
>> in the case of Bluetooth 2.1 (or newer) devices that
>> have disabled Extended Inquiry Response support.
>> +
>> + array{object} Batteries [readonly]
>> +
>> + List of device battery object paths that represents the available
>> + batteries on the remote device.
>> --
>> 1.7.9.5
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
> Are you planning to implement the Battery Service on BlueZ? (using UPower)
> It seems to be straightforward.
>
The plan is to add a generic Battery implemented into the BlueZ stack,
but no UPower integration is planned at the moment - maybe later.
> Regards,
> Claudio
>
BR,
Chen Ganir
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH RFC] battery: Add generic device battery interface
2012-09-09 5:59 ` Chen Ganir
@ 2012-09-10 13:24 ` Claudio Takahasi
0 siblings, 0 replies; 5+ messages in thread
From: Claudio Takahasi @ 2012-09-10 13:24 UTC (permalink / raw)
To: Chen Ganir; +Cc: linux-bluetooth
Hi Chen Ganir:
On Sun, Sep 9, 2012 at 2:59 AM, Chen Ganir <chen.ganir@ti.com> wrote:
> Claudio,
>
>
> On 09/06/2012 10:34 PM, Claudio Takahasi wrote:
>>
>> Hi Chen Ganir:
>>
>> On Thu, Aug 30, 2012 at 8:26 AM, <chen.ganir@ti.com> wrote:
>>>
>>> From: Chen Ganir <chen.ganir@ti.com>
>>>
>>> Add the D-Bus API documentation for the new generic device battery
>>> interface. This API provides generic access to peer devcice
>>> batteries.
>>> ---
>>> doc/battery-api.txt | 34 ++++++++++++++++++++++++++++++++++
>>> doc/device-api.txt | 5 +++++
>>> 2 files changed, 39 insertions(+)
>>> create mode 100644 doc/battery-api.txt
>>>
>>> diff --git a/doc/battery-api.txt b/doc/battery-api.txt
>>> new file mode 100644
>>> index 0000000..da82024
>>> --- /dev/null
>>> +++ b/doc/battery-api.txt
>>> @@ -0,0 +1,34 @@
>>> +BlueZ D-Bus Battery API description
>>> +****************************************
>>> +
>>> + Texas Instruments, Inc. <chen.ganir@ti.com>
>>> +
>>> +Device Battery hierarchy
>>> +=====================================
>>> +
>>> +Service org.bluez
>>> +Interface org.bluez.Battery
>>> +Object path [variable
>>> prefix]/{hci0,..}/dev_XX_XX_XX_XX_XX_XX/BATTYYYY
>>> +YYYY is numeric value between 0 and 9999.
>>> +
>>> +Methods dict GetProperties()
>>> +
>>> + Returns all properties for the interface. See the
>>> + Properties section for the available properties.
>>> +
>>> +Signals PropertyChanged(string name, variant value)
>>> +
>>> + This signal indicates a changed value of the given
>>> + property.
>>> +
>>> +Properties uint16 Level [readonly]
>>> +
>>> + Battery level (0-100).
>>> +
>>> + uint16 Description [readonly]
>>> +
>>> + Battery description.
>>> +
>>> + uint16 Namespace [readonly]
>>> +
>>> + Battery Namespace.
>>
>>
>> IMO "Description" and "Namespace" should be string:
>> http://developer.bluetooth.org/gatt/Pages/GattNamespaceDescriptors.aspx
>>
>> For BLE Presentation Format is mandatory(Namespace and Description).
>> For AVRCP, probably it doesn't make sense. I recommend to include
>> additional description for these fields.
>>
> After discussing this issue with Johan, we decided to remove the Namespace
> and Description properties from the generic battery. Do you think we should
> have those properties or can we exclude them ? Do you see any use case for
> those properties?
>
IMO, we can remove them. It is easier to extend the API later than
remove properties from the API.
Those properties could be useful for PTS testing or qualification, but
we can use gatttool to discover and read descriptors.
Regards,
Claudio
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-09-10 13:24 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-30 11:26 [PATCH RFC] Add Generic Device Battery API chen.ganir
2012-08-30 11:26 ` [PATCH RFC] battery: Add generic device battery interface chen.ganir
2012-09-06 19:34 ` Claudio Takahasi
2012-09-09 5:59 ` Chen Ganir
2012-09-10 13:24 ` Claudio Takahasi
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.