Select one of the symbols to view example projects that use it.
 
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
cand_bss
roaming_app
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)...
SourceVuESP-IDF Framework and ExamplesESP-IDFcomponents/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_MONITORING11 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:
This file uses the notable symbols shown below. Click anywhere in the file to view more details.