Generating Indications for Service Changed Characteristic (0x2A05) for Gatt Attribute Service (0x1801)

dconyers
Posts: 1
Joined: Mon Feb 20, 2017 10:11 pm

Generating Indications for Service Changed Characteristic (0x2A05) for Gatt Attribute Service (0x1801)

Postby dconyers » Thu Jan 25, 2018 4:40 am

Hello All -

I'm trying to understand the current capabilities within the current ESP32 BLE stack as it relates to the service_changed characteristic. I can see that the service and characteristic are created via the function gatt_profile_db_init() within gatt_attr.c. This is fine, but if I want to update the characteristic or generate a notification based on some sort of internal event, is there support for that included in the current firmware? The BLE/GATT stack is fairly large and I'm definitely not an expert, so any guidance would be much appreciated!

As background, we've built some hardware that is now fielded and we have updated the firmware with OTA releases. Some of our customer's users have phones running Android 4 and we're learning that those phones don't ever clear the GATTS Handle Cache. Therefore, the firmware update changes the handles table (as it adds new values) and the user's phones are querying for values based on the [incorrect] cached values (This is all documented pretty well https://punchthrough.com/blog/posts/att ... d-pitfalls). This [obviously] isn't good and our customer is asking to understand how we can fix via firmware (he's also looking at mobile app fixes in parallel)

I'm curious if anyone might be able to please shed some light on how I might solve the issue for the customer and/or how to change the value (and generate a notification/indication) of the internally created Service Changed handle.

Thank You - doug.

Who is online

Users browsing this forum: netfox and 174 guests