Modbus Vault v1.0
Loading...
Searching...
No Matches
wifi_manager.h File Reference

Wi-Fi connection manager with exponential backoff. More...

#include "esp_err.h"
#include "esp_wifi.h"
Include dependency graph for wifi_manager.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Enumerations

enum  wifi_state_t { WIFI_STATE_IDLE , WIFI_STATE_CONNECTING , WIFI_STATE_CONNECTED , WIFI_STATE_DISCONNECTED }
 WiFi state enum. More...
 

Functions

esp_err_t wifi_manager_init (wifi_config_t *wifi_config_ptr)
 Initialize Wi-Fi manager.
 
wifi_state_t wifi_manager_get_state (void)
 Get Wi-Fi current connection state.
 
void wifi_manager_trigger_reconnect (void)
 Trigger Wi-Fi re-connect.
 
void wifi_manager_deinit (void)
 De-Initialize Wi-Fi manager.
 

Detailed Description

Wi-Fi connection manager with exponential backoff.

Author
Abanoub Salah
  • Features
    • Automatic reconnect with exponential backoff
    • Event-driven state transitions
    • Integration with system metrics
    • Thread-safe and non-blocking

Enumeration Type Documentation

◆ wifi_state_t

WiFi state enum.

Enumerator
WIFI_STATE_IDLE 

Idle

WIFI_STATE_CONNECTING 

Connecting

WIFI_STATE_CONNECTED 

Connected and have an IP

WIFI_STATE_DISCONNECTED 

Disconnected

Function Documentation

◆ wifi_manager_deinit()

void wifi_manager_deinit ( void  )

De-Initialize Wi-Fi manager.

Stops and deletes timer and stops Wi-Fi then deinitialize Wi-Fi unregister events

Here is the caller graph for this function:

◆ wifi_manager_get_state()

wifi_state_t wifi_manager_get_state ( void  )

Get Wi-Fi current connection state.

Returns
wifi_state_t Current connection state
Here is the caller graph for this function:

◆ wifi_manager_init()

esp_err_t wifi_manager_init ( wifi_config_t *  wifi_config_ptr)

Initialize Wi-Fi manager.

Initialize different components needed by Wi-Fi and register events to manage Wi-Fi connection state and setup a one-shot timer to trigger on disconnect event

Parameters
wifi_config_ptrPointer to Wi-Fi configuration structure
Returns
esp_err_t
Return values
ESP_OKInitialize success
BLACKBOX_FAILInitialize fail
ESP_ERR_INVALID_ARGProvided invalid argument(s)
ESP_ERR_NO_MEMNo available memory for resource allocation
anyAny error from down layers propagates upward
Here is the call graph for this function:
Here is the caller graph for this function:

◆ wifi_manager_trigger_reconnect()

void wifi_manager_trigger_reconnect ( void  )

Trigger Wi-Fi re-connect.

Trigger Wi-Fi re-connect using one-shot timer with an exponential back-off increment to avoid network congestion

< Maximum reconnect timeout in micro seconds

< Maximum reconnect timeout in micro seconds

Here is the caller graph for this function: