Hi,
I have working firmware for nRF52832 dev kit based on mesh coexistence examples (Mesh SDK 2.2.0 + nRF5_SDK_15.0.0). I'm trying to port the same firmware on nRF52840 dev kit but there are no SDK coexistence examples provided for nRF52840 so I modified ble peripheral example from nRF5_SDK_15.0.0. If I don't initialize mesh everything else works fine, but I'm getting "ASSERTION FAILED at :0" when mesh stack is being initialized, in function mesh_config_backend_init(), line "NRF_MESH_ASSERT(p_entries != NULL);".
void mesh_config_backend_init(const mesh_config_entry_params_t * p_entries, uint32_t entry_count, const mesh_config_file_params_t * p_files, uint32_t file_count, mesh_config_backend_evt_cb_t evt_cb) { NRF_MESH_ASSERT(p_entries != NULL); NRF_MESH_ASSERT(entry_count > 0ul); NRF_MESH_ASSERT(p_files != NULL); NRF_MESH_ASSERT(file_count > 0ul); m_power_down_time_us = 0; mp_files = p_files; m_file_count = file_count; mesh_config_backend_glue_init(evt_cb == NULL ? dummy_event : evt_cb); for (uint32_t itr = 0; itr < entry_count; itr++) { const mesh_config_file_params_t * p_file = file_get(p_entries[itr].p_id->file); NRF_MESH_ASSERT(p_file != NULL && p_file->p_backend_data != NULL); uint32_t size_guard = p_file->p_backend_data->size + mesh_config_record_size_calculate(p_entries[itr].entry_size) * p_entries[itr].max_count; NRF_MESH_ASSERT(size_guard <= UINT16_MAX); p_file->p_backend_data->size = size_guard; p_file->p_backend_data->entry_count += p_entries[itr].max_count; } /* Create files in increasing file ID order */ const mesh_config_file_params_t * p_file = NULL; while ((p_file = next_file_get(p_file)) != NULL) { if (MESH_CONFIG_STRATEGY_NON_PERSISTENT != p_file->strategy) { NRF_MESH_ERROR_CHECK(mesh_config_backend_file_create(p_file->p_backend_data)); } m_power_down_time_us += mesh_config_backend_file_power_down_time_get(p_file); } }
Any idea what could be causing this? Are there any SDK coexistence examples for nRF52840?