Files
PlantWater/main/wifi_manager.h
2025-07-17 17:47:13 -06:00

36 lines
1016 B
C

#ifndef WIFI_MANAGER_H
#define WIFI_MANAGER_H
#include <stdbool.h>
#include "esp_err.h"
// WiFi configuration
#define WIFI_MAXIMUM_RETRY 10
#define WIFI_CONNECTED_BIT BIT0
#define WIFI_FAIL_BIT BIT1
// WiFi manager states
typedef enum {
WIFI_STATE_DISCONNECTED,
WIFI_STATE_CONNECTING,
WIFI_STATE_CONNECTED,
WIFI_STATE_ERROR
} wifi_state_t;
// WiFi event callback
typedef void (*wifi_event_callback_t)(wifi_state_t state);
// WiFi manager functions
esp_err_t wifi_manager_init(void);
esp_err_t wifi_manager_start(void);
esp_err_t wifi_manager_stop(void);
bool wifi_manager_is_connected(void);
wifi_state_t wifi_manager_get_state(void);
void wifi_manager_register_callback(wifi_event_callback_t callback);
// Configuration functions
esp_err_t wifi_manager_set_credentials(const char* ssid, const char* password);
esp_err_t wifi_manager_get_credentials(char* ssid, size_t ssid_len, char* password, size_t pass_len);
esp_err_t wifi_manager_clear_credentials(void);
#endif // WIFI_MANAGER_H