int8_t nd_tasklet_disconnect(bool send_cb) { int8_t status = -1; if (tasklet_data_ptr != NULL) { if (tasklet_data_ptr->network_interface_id != INVALID_INTERFACE_ID) { status = arm_nwk_interface_down(tasklet_data_ptr->network_interface_id); tasklet_data_ptr->network_interface_id = INVALID_INTERFACE_ID; if (send_cb == true) { nd_tasklet_network_state_changed(MESH_DISCONNECTED); } } tasklet_data_ptr->mesh_api_cb = NULL; } return status; }
int8_t thread_tasklet_disconnect(bool send_cb) { int8_t status = -1; // check that module is initialized if (thread_tasklet_data_ptr != NULL) { if (thread_tasklet_data_ptr->nwk_if_id != INVALID_INTERFACE_ID) { status = arm_nwk_interface_down(thread_tasklet_data_ptr->nwk_if_id); thread_tasklet_data_ptr->nwk_if_id = INVALID_INTERFACE_ID; if (send_cb == true) { thread_tasklet_network_state_changed(MESH_DISCONNECTED); } } // Clear callback, it will be set again in next connect thread_tasklet_data_ptr->mesh_api_cb = NULL; } return status; }