Hi all,
I have a trouble about understanding.
As far as I understand, when Device 1 send service change indication to Device 2, Device 2 will rediscovery service of Device 1 for update GATT table of Device 1.
When I test with Gatts_c example and GATTs, I can send Service change indication from service to client. And client will rediscovery service of Service in NRF_BLE_GATTS_C_EVT_SRV_CHANGED event follow code :
case NRF_BLE_GATTS_C_EVT_SRV_CHANGED:
NRF_LOG_INFO("Service Changed indication received.");
NRF_LOG_INFO("Handle range start: %04x", p_evt->params.handle_range.start_handle);
NRF_LOG_INFO("Handle range end: %04x", p_evt->params.handle_range.end_handle);
// Discover peer's services.
err_code = nrf_ble_gatts_c_handles_assign(&m_gatts_c, p_evt->conn_handle, NULL);
APP_ERROR_CHECK(err_code);
memset(&m_ble_db_discovery, 0x00, sizeof(m_ble_db_discovery));
err_code = ble_db_discovery_start(&m_ble_db_discovery, p_evt->conn_handle);
APP_ERROR_CHECK(err_code);
break;
And I want send service change indication from client to server. In gatts_c I enable service change characteristic in sdk_config.h . And in my code :
case BSP_EVENT_KEY_0:
{
sd_ble_gatts_service_changed (m_conn_handle,0x000C,0xFFFF);
}
But I don't see anything at server side.
Then I using an Android connect with client GATT. My android find out service change characteristic. But when I push button 0, I don't see any changes on android.(I enabled service change characteristic on android. I think It will rediscovery service of client GATT.

Please show me a right view about service change characteristic
Thank!!!