#include #include #include "nvs_flash.h" #include "esp_wifi.h" #include "esp_event.h" #include "esp_task_wdt.h" #include "../lib/cli/CLI/CLI.h" #include "../lib/cli/CMDList/CMDList.h" #include "config.h" #include "utils.h" #include "commands.h" #include "wifi.h" bool running = true; CMDList_t* cmdList; bool rxBuffer_overflow = false; /* * CLI char out function. used to print back to a CLI, but the lib * is only used for reciving command and not having a full cli */ int charOut(const char* c) { printf(c); return 0; } void app_main() { // disable watchdog ESP_ERROR_CHECK(esp_task_wdt_deinit()); // wait so I have time to open the serial monitor for (unsigned long i=0; i < 10000; i++) { printf("."); } printf("\n"); /* Initialize NVS — it is used to store PHY calibration data */ esp_err_t ret = nvs_flash_init(); if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) { ESP_ERROR_CHECK(nvs_flash_erase()); ret = nvs_flash_init(); } ESP_ERROR_CHECK(ret); printChipInfo(); wifiInit(); // while (true) // { // wifi_scan(); // // wait so I have time to open the serial monitor // for (unsigned long i=1; i < 1000000; i++) // { // if (i % 100 == 0) // { // printf(","); // } // } // printf("\n"); // } wifi_connect(); /* Waiting until either the connection is established (WIFI_CONNECTED_BIT) or connection failed for the maximum * number of re-tries (WIFI_FAIL_BIT). The bits are set by event_handler() (see above) */ EventBits_t bits = xEventGroupWaitBits(s_wifi_event_group, WIFI_CONNECTED_BIT | WIFI_FAIL_BIT, pdFALSE, pdFALSE, portMAX_DELAY); /* xEventGroupWaitBits() returns the bits before the call returned, hence we can test which event actually * happened. */ if (bits & WIFI_CONNECTED_BIT) { printf("INFO: connected to ap SSID '%s'\n", WIFI_SSID); } else if (bits & WIFI_FAIL_BIT) { printf("ERROR: Failed to connect to SSID '%s',\n", WIFI_SSID); } else { printf("FAITAL: UNEXPECTED EVENT\n"); return; } // // setup UDP server // int sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); // if (sock < 0) // { // printf("FAITAL: failed to create UDP socket\n"); // return; // } // running = true; // cmdList = getCMDList(); // // init cli // CLI_init((CLI_charOutFn)&charOut, cmdList); // while (running) // { // int packetSize = UDP.parsePacket(); // while (packetSize) { // char c; // int len = UDP.read(&c, 1); // if (len == 1) // { // CLI_charIn(c); // packetSize--; // } // else // { // printf("UDP read error"); // break; // } // } // } // CLI_deinit(); // CMDList_deinit(cmdList); return; }