Hi,
I'm facing an issue after provisioning the Client and Servers from Light Switch example of Mesh SDK 2.0.1, using the Android App.
Provisioning is successful, however, when I try to send an on/off command from the Client board, I get the following message in the Debug Terminal: Ignored. Node is not configured.
I changed the code in client_publication_configured() to only check for the button that has been pressed, instead of checking all the buttons, as suggested here.
static bool client_publication_configured(int button_number)
{
dsm_handle_t pub_addr_handle;
if (access_model_publish_address_get(m_clients[button_number].model_handle, &pub_addr_handle) == NRF_SUCCESS)
{
if (pub_addr_handle == DSM_HANDLE_INVALID)
{
return false;
}
}
else
{
return false;
}
return true;
}
And also the button_event_handler(), accordingly:
static void button_event_handler(uint32_t button_number)
{
__LOG(LOG_SRC_APP, LOG_LEVEL_INFO, "Button %u pressed\n", button_number);
if (client_publication_configured(button_number))
(...)
But it didn't solve.
The problem is that the pub_addr_handle always get the value of 0xffff, meaning DSM_HANDLE_INVALID, and thus the client_publication_configured() always return false.
This is the watch for m_clients array (if it's of any help):
I'm using the light switch example from Mesh SDK 2.0.1 (Softdevice s132_6_0_0) on the nRF52 DK (PCA10040 1.2.1).
BR,
Paulo Zacarias