Re: [PATCH 3/8] gatt-service: Provide service uuid in attrib_db_find_avail function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Santiago,

On Tue, Jan 24, 2012 at 7:06 AM, Santiago Carot-Nemesio
<sancane@xxxxxxxxx> wrote:
> We need to provide the service uuid because of GATT server should group
> 16-bit uuid services together and 128-bit uuid services together,
> (Bluetooth 4.0, Vol 3, Part G, 3.1).
> ---
>  attrib/gatt-service.c  |    2 +-
>  plugins/gatt-example.c |   16 ++++++++++------
>  proximity/reporter.c   |    9 ++++++---
>  src/attrib-server.c    |    3 ++-
>  src/attrib-server.h    |    3 ++-
>  5 files changed, 21 insertions(+), 12 deletions(-)
>
> diff --git a/attrib/gatt-service.c b/attrib/gatt-service.c
> index d00adb0..b27e525 100644
> --- a/attrib/gatt-service.c
> +++ b/attrib/gatt-service.c
> @@ -436,8 +440,8 @@ static void register_weight_service(struct gatt_example_adapter *adapter,
>        int len;
>
>        btoh128(&char_weight_uuid_btorder, &char_weight_uuid);
> -
> -       start_handle = attrib_db_find_avail(adapter->adapter, svc_size);
> +       bt_uuid128_create(&uuid, char_weight_uuid_btorder);
> +       start_handle = attrib_db_find_avail(adapter->adapter, &uuid, svc_size);
>        if (start_handle == 0) {
>                error("Not enough free handles to register service");
>                return;

This is wrong. You are using a *characteristic* UUID as a service
UUID. This example weight service is 16-bit, but it is has one 128-bit
characteristic.

BTW, 16-bit vs. 128-bit characteristic grouping is optional as per
page 1897 (section 3.3.1 "Characteristic Declaration").

Regards,
-- 
Anderson Lizardo
Instituto Nokia de Tecnologia - INdT
Manaus - Brazil
--
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


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux