This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

[Nordic 8001] Conflict between requestData and lib_aci_close_remote_pipe

I'm calling the requestData function and lib_aci_close_remote_pipe at the same time.

The lib_aci_close_remote_pipe returns 0x8E command error which means: "Command rejected as a transaction is still pending".

Does the requestData has any impact on lib_aci_close_remote_pipe? If I don't call the requstData function, the pipe is successfully closed.

From the documentation, I understood that requestData is using data credits and lib_aci_close_remote_pipe is a system command and only one system command can be used until the next command_response_event is received. So I don't see any link between them.

Parents
  • You are right, this not clear from the nRF8001 PS. Unfortunately the read request is still pending (assumption, since you are sending the commands back to back). So the write request cannot be sent. This is because these are sequential request-response protocols, so the client is not allowed to send another request to the server until a respond has been received. I guess you could call this a design limitation on the nRF8001 as we could possibly have buffered the command, and sent it when the previous procedure is finished, but unfortunately we don't. I'm sorry for the inconvenience.

Reply
  • You are right, this not clear from the nRF8001 PS. Unfortunately the read request is still pending (assumption, since you are sending the commands back to back). So the write request cannot be sent. This is because these are sequential request-response protocols, so the client is not allowed to send another request to the server until a respond has been received. I guess you could call this a design limitation on the nRF8001 as we could possibly have buffered the command, and sent it when the previous procedure is finished, but unfortunately we don't. I'm sorry for the inconvenience.

Children
Related