36 lines
1016 B
C
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
|