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

add reboot on Softdevice assert

Hi,
Is any problem could be if we add reboot on softdevice assert?
For example, if we have PCB covered with compound, etc. without any assess

__WEAK void app_error_fault_handler(uint32_t id, uint32_t pc, uint32_t info)
{
#endif
    switch (id)
    {
        case NRF_FAULT_ID_SD_ASSERT:
            __LOG(LOG_SRC_APP, LOG_LEVEL_ERROR, "Softdevice assert: %u:%u\n", pc, info);
            break;
        case NRF_FAULT_ID_APP_MEMACC:
            __LOG(LOG_SRC_APP, LOG_LEVEL_ERROR, "Application memory access: %u:%u\n", pc, info);
            break;
        case NRF_FAULT_ID_SDK_ASSERT:
        {
            assert_info_t * p_info = (assert_info_t *)info;
            UNUSED_VARIABLE(p_info);
            __LOG(LOG_SRC_APP, LOG_LEVEL_ERROR, "Mesh assert at 0x%08x (%s:%u)\n",
                                                pc,
                                                p_info->p_file_name,
                                                p_info->line_num);
            break;
        }
        case NRF_FAULT_ID_SDK_ERROR:
        {
            error_info_t * p_info = (error_info_t *)info;
            UNUSED_VARIABLE(p_info);
            __LOG(LOG_SRC_APP, LOG_LEVEL_ERROR, "Mesh error %u at 0x%08x (%s:%u)\n",
                                                p_info->err_code,
                                                pc,
                                                p_info->p_file_name,
                                                p_info->line_num);
            break;
        }
        default:
            __LOG(LOG_SRC_APP, LOG_LEVEL_ERROR, "UNKNOWN FAULT at 0x%08X\n", pc);
            break;
    }
    NRF_POWER->SYSTEMOFF = 1;
   
    //sleep_forever();
}

Related