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

Client 2/3 Cannot Send Error yet message is sent

Hi,

I have modified the light switch demo so that all messages from the client are sent to all servers. I have done this by subscribing all servers to GROUP_ADDRESS_ODD in node_setup.c. Now when I send using button 2/3 (unacked) I get the message Client 2(/3) cannot send, I have found that this is because status == NRF_ERROR_INVALID_STATE. However, it still sends, the servers receive the message and even tell the client. Is it safe to ignore this message?

Parents Reply
  • Hi, I know the error is originating from the following (in transport.c - segmented_packet_tx()):

    for (uint32_t i = 0; i < TRANSPORT_SAR_SESSIONS_MAX; ++i)
        {
            if (m_trs_sar_sessions[i].session.session_type == TRS_SAR_SESSION_TX &&
                m_trs_sar_sessions[i].metadata.net.src == p_metadata->net.src &&
                m_trs_sar_sessions[i].metadata.net.dst.value == p_metadata->net.dst.value)
            {
                return NRF_ERROR_INVALID_STATE;
            }
        }

    My prediction is that there is an overlap between the previous and current sending caused by the packets being larger.

Children
Related