Hi! I am taking reference to following issue :
How to send status data from server to client's UART in mesh
I have implemented same method as discussed in above link. I am getting message on client side successfully only when code for custom message transmission is in button event handler.
But when I use in separate function and call from main function then getting following error.
Error Message Log --> "app_error_weak.c, 105, Mesh assert at 0x000229AC"
Following is my code that I want to send custom message.
void publish_message(void)
{
access_message_tx_t msg;
msg.opcode.opcode = SENSOR_OPCODE_STATUS;
msg.opcode.company_id = 0xFFFF;
msg.force_segmented = m_sensor_server_0.server.settings.force_segmented;
msg.transmic_size = m_sensor_server_0.server.settings.transmic_size;
char *message = "Enable Reciever\n";
__LOG(LOG_SRC_APP, LOG_LEVEL_INFO, "Message from Initiator = %s\n", message);
msg.p_buffer = (const uint8_t *)message;
msg.length = strlen(message);
access_model_publish(m_sensor_server_0.server.model_handle, &msg);
}
And I have also added delay but error message still persist.
int main(void)
{
nrf_power_dcdcen_set(1);
initialize();
start();
nrf_delay_ms(20000);
//Publish message to address assigned by static provisioner
publish_message();
for (;;)
{
(void)sd_app_evt_wait();
}
}
Best Regards: Danish Riaz