#include "Server.h" #include "WiFiManager.h" #include "esp_system.h" extern "C" esp_err_t esp_base_mac_addr_set(const uint8_t mac[6]); int64_t next_connection_unix = 0; bool go_to_sleep = false; PendingConfigRequest_s pending_config; extern "C" void server_loop(void*) { while (true) { if (pending_config.active) get_PendingConfigFromServer(); if (g_buffer_count > 0) WiFi_PostDataToServer(); if (g_received_ok_from_server) send_ConfigToEsp(); if (go_to_sleep) sleep_UntilNextReceive(); vTaskDelay(10 / portTICK_PERIOD_MS); } } extern "C" void app_main(void) { static const char *TAG = "app_main"; uint32_t setup_start = millis(); esp_base_mac_addr_set(PEER_SERVER); WiFi_connect(); vTaskDelay(10000 / portTICK_PERIOD_MS); esp_base_mac_addr_set(PEER_SERVER); WIFI_SyncTime(); //init_Server(); init_EspNow(); /* SensorConfigServer_s cfg; if (WIFI_GetSensorConfigServer("moisture_1", cfg)) print_SensorConfigServer(cfg); else DBG_PRINTLN("Failed to get cfg!"); */ go_to_sleep = false; next_connection_unix = 0; g_setup_duration = millis() - setup_start; ESP_LOGI(TAG, "Setup duration: %u ms\n", g_setup_duration); xTaskCreate(server_loop, "serverloop", 8192, nullptr, 5, nullptr); }