ESP-IDF
Select one of the symbols to view example projects that use it.
Symbol previews are coming soon...
Outline
#include "sdkconfig.h"
#include "esp_log.h"
#include "esp_err.h"
#include "esp_wifi_types.h"
#include "utils/common.h"
#include <sys/time.h>
#define SUPPLICANT_CANDIDATE_LIST_EXPIRY
#define ROAMING_BACKOFF_TIME
#define LOW_RSSI_ROAMING_ENABLED
#define ROAMING_LOW_RSSI_THRESHOLD
#define RSSI_THRESHOLD_REDUCTION_OFFSET
#define PERIODIC_SCAN_MONITORING
#define SCAN_MONITOR_INTERVAL
#define SCAN_MONITOR_RSSI_THRESHOLD
#define SCAN_ROAM_RSSI_DIFF
#define SCAN_TIME_MIN_DURATION
#define SCAN_TIME_MAX_DURATION
#define HOME_CHANNEL_DWELL_TIME
#define SCAN_PREFERRED_CHAN_LIST
#define DEFAULT_PREFERRED_SCAN_CHAN_LIST
#define SCAN_RESULTS_USABILITY_WINDOW
#define MAX_CANDIDATE_COUNT
#define LEGACY_ROAM_ENABLED
#define BSS_TM_RETRY_COUNT
#define NETWORK_ASSISTED_ROAMING_ENABLED
#define PERIODIC_RRM_MONITORING
#define RRM_MONITOR_TIME
#define RRM_MONITOR_RSSI_THRESHOLD
#define MAX_SCAN_CHAN_LIST_COUNT
#define MAX_NEIGHBOR_LEN
scanned_ap_info
current_count
time
ap_records
cand_bss
channel
bssid
roaming_app
scan_params
scan_ongoing
current_rssi_threshold
btm_neighbor_list
last_roamed_time
ap_info
scanned_aps
btm_support
rrm_support
current_low_rssi_threshold
btm_attempt
force_roam_ongoing
periodic_rrm_active
rrm_request_active
periodic_scan_active
allow_reconnect
init_roaming_app();
deinit_roaming_app();
roaming_app_periodic_rrm_internal_handler(void *, void *);
roaming_app_periodic_scan_internal_handler(void *, void *);
roaming_app_trigger_roam_internal_handler(void *, void *);
roaming_app_disable_reconnect();
roaming_app_enable_reconnect();
Files
loading (3/5)...
SourceVu
ESP-IDF Framework and Examples
ESP-IDF
components/esp_wifi/wifi_apps/roaming_app/include/esp_roaming.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
/*
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ... */
#pragma
once
#include
"
sdkconfig.h"
#include
"
esp_log.h"
#include
"
esp_err.h"
#include
"
esp_wifi_types.h"
#include
"
utils
/
common.h"
#include
<
sys
/
time.h>
6 includes
#ifdef
__cplusplus
extern
"C"
{
#endif
#define
SUPPLICANT_CANDIDATE_LIST_EXPIRY
10
/* Global Roaming Configuration */
#define
ROAMING_BACKOFF_TIME
CONFIG_ESP_WIFI_ROAMING_BACKOFF_TIME
/* Low RSSI based roaming configuration */
#define
LOW_RSSI_ROAMING_ENABLED
CONFIG_ESP_WIFI_ROAMING_LOW_RSSI_ROAMING
#if
LOW_RSSI_ROAMING_ENABLED
#define
ROAMING_LOW_RSSI_THRESHOLD
CONFIG_ESP_WIFI_ROAMING_LOW_RSSI_THRESHOLD
#define
RSSI_THRESHOLD_REDUCTION_OFFSET
CONFIG_ESP_WIFI_ROAMING_LOW_RSSI_OFFSET
/* ... */
#endif
/*LOW_RSSI_ROAMING_ENABLED*/
/* Periodic Scan based Roaming configuration */
#define
PERIODIC_SCAN_MONITORING
CONFIG_ESP_WIFI_ROAMING_PERIODIC_SCAN_MONITOR
#if
PERIODIC_SCAN_MONITORING
#define
SCAN_MONITOR_INTERVAL
CONFIG_ESP_WIFI_ROAMING_SCAN_MONITOR_INTERVAL
#define
SCAN_MONITOR_RSSI_THRESHOLD
CONFIG_ESP_WIFI_ROAMING_PERIODIC_SCAN_THRESHOLD
#define
SCAN_ROAM_RSSI_DIFF
CONFIG_ESP_WIFI_ROAMING_SCAN_ROAM_RSSI_DIFF
/* ... */
#endif
/* PERIODIC_SCAN_MONITORING */
/* Scan configuration */
#define
SCAN_TIME_MIN_DURATION
CONFIG_ESP_WIFI_ROAMING_SCAN_MIN_SCAN_TIME
#define
SCAN_TIME_MAX_DURATION
CONFIG_ESP_WIFI_ROAMING_SCAN_MAX_SCAN_TIME
#define
HOME_CHANNEL_DWELL_TIME
CONFIG_ESP_WIFI_ROAMING_HOME_CHANNEL_DWELL_TIME
#define
SCAN_PREFERRED_CHAN_LIST
CONFIG_ESP_WIFI_ROAMING_SCAN_CHAN_LIST
#define
DEFAULT_PREFERRED_SCAN_CHAN_LIST
"None"
#define
SCAN_RESULTS_USABILITY_WINDOW
CONFIG_ESP_WIFI_ROAMING_SCAN_EXPIRY_WINDOW
#define
MAX_CANDIDATE_COUNT
CONFIG_ESP_WIFI_ROAMING_MAX_CANDIDATES
/* Legacy roaming configuration */
#define
LEGACY_ROAM_ENABLED
CONFIG_ESP_WIFI_ROAMING_LEGACY_ROAMING
#define
BSS_TM_RETRY_COUNT
CONFIG_ESP_WIFI_NETWORK_ASSISTED_ROAMING_RETRY_COUNT
/* Network Assisted Roaming */
#define
NETWORK_ASSISTED_ROAMING_ENABLED
CONFIG_ESP_WIFI_ROAMING_NETWORK_ASSISTED_ROAM
/* Periodic RRM configuration */
#define
PERIODIC_RRM_MONITORING
CONFIG_ESP_WIFI_ROAMING_PERIODIC_RRM_MONITORING
11 defines
#if
PERIODIC_RRM_MONITORING
#define
RRM_MONITOR_TIME
CONFIG_ESP_WIFI_ROAMING_RRM_MONITOR_TIME
#define
RRM_MONITOR_RSSI_THRESHOLD
CONFIG_ESP_WIFI_ROAMING_RRM_MONITOR_THRESHOLD
/* ... */
#endif
/*PERIODIC_RRM_MONITORING*/
#define
MAX_SCAN_CHAN_LIST_COUNT
14
#define
MAX_NEIGHBOR_LEN
512
#define
IS_PSK
(
authmode
)
\
(
(
(
authmode
==
WIFI_AUTH_WPA_PSK
)
||
(
authmode
==
WIFI_AUTH_WPA2_PSK
)
||
\
(
authmode
==
WIFI_AUTH_WPA_WPA2_PSK
)
||
(
authmode
==
WIFI_AUTH_WPA3_PSK
)
||
\
(
authmode
==
WIFI_AUTH_WPA2_WPA3_PSK
)
||
(
authmode
==
WIFI_AUTH_WAPI_PSK
)
?
1
:
0
)
)
...
#define
OWE_COMPATIBLE
(
curr_auth
,
cand_auth
)
\
(
(
(
(
curr_auth
==
WIFI_AUTH_OPEN
)
||
(
curr_auth
==
WIFI_AUTH_OWE
)
)
&&
(
(
cand_auth
==
WIFI_AUTH_OPEN
)
||
(
cand_auth
==
WIFI_AUTH_OWE
)
)
)
?
1
:
0
)
...
#define
PSK_COMPATIBLE
(
curr_auth
,
cand_auth
)
\
(
(
IS_PSK
(
curr_auth
)
&&
IS_PSK
(
cand_auth
)
)
?
1
:
0
)
...
5 defines
struct
scanned_ap_info
{
uint16_t
current_count
;
struct
timeval
time
;
wifi_ap_record_t
ap_records
[
MAX_CANDIDATE_COUNT
]
;
}
{ ... }
;
struct
cand_bss
{
uint8_t
channel
;
uint8_t
bssid
[
ETH_ALEN
]
;
}
{ ... }
;
struct
roaming_app
{
wifi_scan_config_t
scan_params
;
bool
scan_ongoing
;
int8_t
current_rssi_threshold
;
char
*
btm_neighbor_list
;
struct
timeval
last_roamed_time
;
wifi_ap_record_t
ap_info
;
struct
scanned_ap_info
scanned_aps
;
bool
btm_support
;
bool
rrm_support
;
#if
LOW_RSSI_ROAMING_ENABLED
int8_t
current_low_rssi_threshold
;
#endif
#if
LEGACY_ROAM_ENABLED
&&
NETWORK_ASSISTED_ROAMING_ENABLED
uint8_t
btm_attempt
;
#endif
#if
LEGACY_ROAM_ENABLED
bool
force_roam_ongoing
;
#endif
#if
PERIODIC_RRM_MONITORING
bool
periodic_rrm_active
;
bool
rrm_request_active
;
/* ... */
#endif
#if
PERIODIC_SCAN_MONITORING
bool
periodic_scan_active
;
#endif
bool
allow_reconnect
;
}
{ ... }
;
void
init_roaming_app
(
void
)
;
void
deinit_roaming_app
(
void
)
;
#if
PERIODIC_RRM_MONITORING
void
roaming_app_periodic_rrm_internal_handler
(
void
*
data
,
void
*
ctx
)
;
#endif
/*PERIODIC_RRM_MONITORING*/
#if
PERIODIC_SCAN_MONITORING
void
roaming_app_periodic_scan_internal_handler
(
void
*
data
,
void
*
ctx
)
;
#endif
/*PERIODIC_SCAN_ROAM_MONITORING*/
void
roaming_app_trigger_roam_internal_handler
(
void
*
data
,
void
*
ctx
)
;
void
roaming_app_disable_reconnect
(
void
)
;
void
roaming_app_enable_reconnect
(
void
)
;
#ifdef
__cplusplus
}
{...}
#endif
Details
Show:
from
Types:
Columns:
All items filtered out
All items filtered out
This file uses the notable symbols shown below. Click anywhere in the file to view more details.
roaming_app_periodic_rrm_internal_handler()
roaming_app_periodic_scan_internal_handler()
init_roaming_app()
deinit_roaming_app()
roaming_app_trigger_roam_internal_handler()
roaming_app_disable_reconnect()
roaming_app_enable_reconnect()
ETH_ALEN
MAX_NEIGHBOR_LEN
cand_bss
wifi_auth_mode_t::WIFI_AUTH_OPEN
roaming_app::scanned_aps
PERIODIC_RRM_MONITORING
wifi_auth_mode_t::WIFI_AUTH_WPA2_PSK
scanned_ap_info::ap_records
LEGACY_ROAM_ENABLED
PERIODIC_SCAN_MONITORING
roaming_app::ap_info
LOW_RSSI_ROAMING_ENABLED
roaming_app::current_low_rssi_threshold
NETWORK_ASSISTED_ROAMING_ENABLED
wifi_auth_mode_t::WIFI_AUTH_WPA_WPA2_PSK
wifi_auth_mode_t::WIFI_AUTH_WPA3_PSK
roaming_app::scan_params
ROAMING_LOW_RSSI_THRESHOLD
wifi_auth_mode_t::WIFI_AUTH_WPA2_WPA3_PSK
SCAN_PREFERRED_CHAN_LIST
wifi_auth_mode_t::WIFI_AUTH_WPA_PSK
roaming_app::current_rssi_threshold
roaming_app::btm_neighbor_list
roaming_app::last_roamed_time
roaming_app::allow_reconnect
scanned_ap_info
scanned_ap_info::current_count
cand_bss::bssid
roaming_app::scan_ongoing
roaming_app::force_roam_ongoing
roaming_app::periodic_rrm_active
roaming_app::periodic_scan_active
scanned_ap_info::time
cand_bss::channel
roaming_app::btm_support
roaming_app::rrm_support
roaming_app::btm_attempt
roaming_app::rrm_request_active
roaming_app_trigger_roam_internal_handler()::data
RSSI_THRESHOLD_REDUCTION_OFFSET
SCAN_MONITOR_INTERVAL
MAX_CANDIDATE_COUNT
RRM_MONITOR_TIME
IS_PSK
wifi_auth_mode_t::WIFI_AUTH_OWE
ROAMING_BACKOFF_TIME
SCAN_MONITOR_RSSI_THRESHOLD
SCAN_ROAM_RSSI_DIFF
SCAN_TIME_MIN_DURATION
SCAN_TIME_MAX_DURATION
HOME_CHANNEL_DWELL_TIME
DEFAULT_PREFERRED_SCAN_CHAN_LIST
SCAN_RESULTS_USABILITY_WINDOW
BSS_TM_RETRY_COUNT
RRM_MONITOR_RSSI_THRESHOLD
wifi_auth_mode_t::WIFI_AUTH_WAPI_PSK
OWE_COMPATIBLE
PSK_COMPATIBLE
roaming_app
roaming_app_periodic_rrm_internal_handler()::data
roaming_app_periodic_rrm_internal_handler()::ctx
roaming_app_periodic_scan_internal_handler()::data
roaming_app_periodic_scan_internal_handler()::ctx
roaming_app_trigger_roam_internal_handler()::ctx
SUPPLICANT_CANDIDATE_LIST_EXPIRY
MAX_SCAN_CHAN_LIST_COUNT
wifi_ap_record_t
wifi_scan_config_t