From e7f5fcbd3cfbe46ce7f0caabe03b9b2b729398cb Mon Sep 17 00:00:00 2001 From: Matthias Ringwald Date: Thu, 7 Mar 2019 16:15:11 +0100 Subject: [PATCH] att_db_util: fix flags for client characteristic configuration --- src/ble/att_db_util.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ble/att_db_util.c b/src/ble/att_db_util.c index b6d3f0293..69be4f7b3 100644 --- a/src/ble/att_db_util.c +++ b/src/ble/att_db_util.c @@ -163,15 +163,15 @@ uint16_t att_db_util_add_service_uuid128(const uint8_t * uuid128){ static void att_db_util_add_client_characteristic_configuration(uint16_t flags){ uint8_t buffer[2]; - // drop permission for read (0xc00), keep write permissions (0x0011) - flags = (flags & 0x1f311) | ATT_PROPERTY_READ | ATT_PROPERTY_WRITE | ATT_PROPERTY_DYNAMIC; + // drop permission for read (0xc00), keep write permissions (0x0091) + flags = (flags & 0x1f391) | ATT_PROPERTY_READ | ATT_PROPERTY_WRITE | ATT_PROPERTY_DYNAMIC; little_endian_store_16(buffer, 0, 0); att_db_util_add_attribute_uuid16(GATT_CLIENT_CHARACTERISTICS_CONFIGURATION, flags, buffer, 2); } static uint16_t att_db_util_encode_permissions(uint16_t properties, uint8_t read_permission, uint8_t write_permission){ - // drop Broadcast (0x01), Notify (0x10), Indicate (0x20) - not used for flags - uint16_t flags = properties & 0xfffce; + // drop Broadcast (0x01), Notify (0x10), Indicate (0x20), Extended Attributes (0x80) - not used for flags + uint16_t flags = properties & 0xfff4e; // if encryption requested, set encryption key size to 16 if ((read_permission > ATT_SECURITY_NONE) || (write_permission > ATT_SECURITY_NONE)){ flags |= 0xf000;