Hello,
I would like to append data to a coap response like this:
p_response = otCoapNewMessage(p_instance, NULL); if (p_response == NULL) { NRF_LOG_ERROR("Could not create new message in ot_paring_response."); return; } error = otCoapMessageInitResponse(p_response, p_message, OT_COAP_TYPE_ACKNOWLEDGMENT, OT_COAP_CODE_VALID); if (error != OT_ERROR_NONE) { NRF_LOG_ERROR("Could not init new message in ot_paring_response."); } else { error = otMessageAppend(p_response, data, sizeof(data)); ASSERT(error == OT_ERROR_NONE); error = otCoapSendResponse(p_instance, p_response, p_message_info); ASSERT(error == OT_ERROR_NONE); } if ((error != OT_ERROR_NONE) && (p_response != NULL)) { otMessageFree(p_response); }
I have a response handler that is triggered as the device receive the response. I am able to get the data appended to the message only if it is 0x00 otherwise the handler is not fired. Any possible fix ?
Second question. I want to use openthread to receive a response from all devices around. Is there a way to configure the request such that the response handler is listening to all devices ? Currently he is only listening to the first responding.
Thanks