enum mgos_init_result mgos_init(void) { enum mgos_init_result r; mgos_uptime_init(); r = mgos_net_init(); if (r != MGOS_INIT_OK) return r; r = mgos_gpio_init(); if (r != MGOS_INIT_OK) return r; r = mgos_sys_config_init(); if (r != MGOS_INIT_OK) return r; #if MGOS_ENABLE_MDNS r = mgos_mdns_init(); /* Before dns_sd init, after mgos_sys_config_init_platform */ if (r != MGOS_INIT_OK) return r; #endif #if MGOS_ENABLE_SNTP r = mgos_sntp_init(); if (r != MGOS_INIT_OK) return r; #endif if (!mgos_deps_init()) { return MGOS_INIT_DEPS_FAILED; } if (mgos_app_init() != MGOS_APP_INIT_SUCCESS) { return MGOS_INIT_APP_INIT_FAILED; } LOG(LL_INFO, ("Init done, RAM: %d total, %d free, %d min free", (int) mgos_get_heap_size(), (int) mgos_get_free_heap_size(), (int) mgos_get_min_free_heap_size())); mgos_set_enable_min_heap_free_reporting(true); /* Invoke all registered init_done hooks */ mgos_hook_trigger(MGOS_HOOK_INIT_DONE, NULL); return MGOS_INIT_OK; }
enum mgos_init_result mgos_init(void) { if (!mgos_deps_init()) { return MGOS_INIT_DEPS_FAILED; } if (mgos_app_init() != MGOS_APP_INIT_SUCCESS) { return MGOS_INIT_APP_INIT_FAILED; } LOG(LL_INFO, ("Init done, RAM: %lu total, %lu free, %lu min free", (unsigned long) mgos_get_heap_size(), (unsigned long) mgos_get_free_heap_size(), (unsigned long) mgos_get_min_free_heap_size())); mgos_set_enable_min_heap_free_reporting(true); /* Invoke all registered init_done event handlers */ mgos_event_trigger(MGOS_EVENT_INIT_DONE, NULL); return MGOS_INIT_OK; }