Added client folder for the client side of the project

Made the network component shared between two firmawre
This commit is contained in:
2026-03-17 21:09:17 -04:00
parent 2c79be36ef
commit e4b8ab4586
15 changed files with 323 additions and 83 deletions
+54
View File
@@ -0,0 +1,54 @@
#include <stdio.h>
#include "esp_log.h"
#include "esp_system.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "nvs_flash.h"
#include "network.hpp"
static const char *TAG = "ClientMain";
extern "C" void app_main()
{
ESP_LOGI(TAG, "Hello, Calendink Client!");
// Initialize NVS (required for some Wi-Fi configurations and network features)
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);
ESP_ERROR_CHECK(esp_event_loop_create_default());
// Connect to WiFi
ESP_LOGI(TAG, "Initializing WiFi connection");
// Attempting to connect, we don't necessarily need to block forever here
// as network.cpp already handles some of the retries
esp_err_t err = connect_wifi(CONFIG_CALENDINK_WIFI_SSID, CONFIG_CALENDINK_WIFI_PASSWORD, false);
if (err == ESP_OK) {
uint8_t retries = 1;
do {
err = check_wifi_connection(retries);
if (err != ESP_OK) {
ESP_LOGW(TAG, "WiFi connection check timeout, retrying... (%d)", retries);
vTaskDelay(pdMS_TO_TICKS(1000));
}
retries++;
} while (err == ESP_ERR_TIMEOUT && retries <= CONFIG_CALENDINK_WIFI_RETRIES);
}
if (err == ESP_OK) {
ESP_LOGI(TAG, "Successfully connected to WiFi!");
} else {
ESP_LOGE(TAG, "Failed to connect to WiFi.");
}
while (true)
{
vTaskDelay(pdMS_TO_TICKS(1000));
}
}