Hello Sir,
I hope you are doing well. I am working with two DA14531 Bluetooth modules (Central and Multi-Com Peripheral) to send data via the GATT write function using UART. The communication works fine when the Mobile Bluetooth LightBlue app is used as the central device, but when using the DA14531 as the central device, the write operation fails after approximately 40-50 seconds. It returns the following error codes:
I am working on resolving these issues and have attached the code file for further reference.
2275.central.zip
Hi Amar,Apologies for the delay.We have provided the solution on your private ticket(#396471)In order to solve this problem, please add the following case under user_catch_rest_hndlr on the Central side:
case GATTC_EVENT_REQ_IND: { dbg_printf("GATTC_EVENT_REQ_IND!\r\n",NULL); // Confirm unhandled indication to avoid GATT timeout struct gattc_event_cfm * cfm = KE_MSG_ALLOC(GATTC_EVENT_CFM, src_id, dest_id, gattc_event_cfm); cfm->handle = ((struct gattc_event_ind const *)param)->handle; ke_msg_send(cfm); } break;
Hello sir,
Thank you so much for your help in solving the issue. I now understand that the problem was caused by the Central subscribing to all characteristics with Notify and Indicate permissions. The lack of an ACK from the Central side was causing the error.
I really appreciate your support!