Example #1
0
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;
}
Example #2
0
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;
}