/* * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Unlicense OR CC0-1.0 */ #include "esp_log.h" #include "esp_console.h" #include "esp_event.h" #include "nvs_flash.h" #include "esp_netif.h" #include "esp_wifi.h" extern void register_tsens_cmd(void); extern void register_wifi_cmd(void); static int restart(int argc, char **argv) { ESP_LOGI("main", "Restarting"); esp_restart(); } static void register_restart(void) { const esp_console_cmd_t cmd = { .command = "restart", .help = "Restart the program", .hint = NULL, .func = &restart, }; ESP_ERROR_CHECK( esp_console_cmd_register(&cmd) ); } static void initialize_nvs(void) { esp_err_t err = nvs_flash_init(); if (err == ESP_ERR_NVS_NO_FREE_PAGES || err == ESP_ERR_NVS_NEW_VERSION_FOUND) { ESP_ERROR_CHECK( nvs_flash_erase() ); err = nvs_flash_init(); } ESP_ERROR_CHECK(err); } void app_main(void) { esp_console_repl_t *repl = NULL; esp_console_repl_config_t repl_config = ESP_CONSOLE_REPL_CONFIG_DEFAULT(); repl_config.prompt = "esp>"; repl_config.max_cmdline_length = 256; initialize_nvs(); ESP_ERROR_CHECK(esp_netif_init()); ESP_ERROR_CHECK(esp_event_loop_create_default()); esp_netif_create_default_wifi_sta(); esp_netif_create_default_wifi_ap(); /* Register commands */ esp_console_register_help_command(); register_restart(); register_tsens_cmd(); register_wifi_cmd(); esp_console_dev_uart_config_t hw_config = ESP_CONSOLE_DEV_UART_CONFIG_DEFAULT(); ESP_ERROR_CHECK(esp_console_new_repl_uart(&hw_config, &repl_config, &repl)); ESP_ERROR_CHECK(esp_console_start_repl(repl)); }