So, my custom service UUID is 0xFFFD and characteristic UUID 0x2A28 - UUIDs are required by feature which I need to implement, so I cannot change them. The way I'm adding those is like that:
uint16_t m_service_revision_handle = 0; att_uuid_t uuid; uint16_t num_attr = ble_gatts_get_num_attr(0, 1, 0); static const uint16_t U2F_SERVICE_UUID = 0xFFFD; static const uint16_t SOME_UUID = 0x2A31; static const uint16_t WRONG_UUID = 0x2A28; ble_uuid_create16(U2F_SERVICE_UUID, &uuid); ble_gatts_add_service(&uuid, GATT_SERVICE_PRIMARY, num_attr); ble_uuid_create16(WRONG_UUID, &uuid); ble_gatts_add_characteristic( &uuid, GATT_PROP_READ, ATT_PERM_READ, 20, GATTS_FLAG_CHAR_READ_REQ, // Flags only have GATTS_FLAG_CHAR_READ_REQ 0, &m_service_revision_handle ); ble_gatts_register_service( &m_service_revision_handle, 0 );
Funny thing is that if I change characteristic UUID from 0x2A28 to for ex. 0x2A31 everything works just fine.
I prepared pxp_reporter_task.c file with this additional service which makes SUOTA non-operational. I'm attaching the file, so you can replace one which is in SDK's example project of pxp_reporter (project/dk_apps/demos/pxp_reporter). [since in attachment I can only add pdf files, you need to remove .pdf from its extension]
Can someone take a look at that and help me with this problem? Why this particular characteristic UUID is causing SUOTA to not work? Is it not working only with Dialog's Android application and it will work with anything else? Thank you in advance for your help