Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions libraries/WiFi/src/STA.cpp
Original file line numberDiff line numberDiff line change
Expand Up@@ -433,7 +433,7 @@ bool STAClass::connect(const char *ssid, const char *passphrase, int32_t channel
*/
bool STAClass::connect(
const char *wpa2_ssid, wpa2_auth_method_t method, const char *wpa2_identity, const char *wpa2_username, const char *wpa2_password, const char *ca_pem,
const char *client_crt, const char *client_key, int32_t channel, const uint8_t *bssid, bool tryConnect
const char *client_crt, const char *client_key, int ttls_phase2_type, int32_t channel, const uint8_t *bssid, bool tryConnect
){
if (_esp_netif == NULL){
log_e("STA not started! You must call begin() first.");
Expand DownExpand Up@@ -467,6 +467,14 @@ bool STAClass::connect(
return false;
}

if (ttls_phase2_type >= 0){
#if __has_include("esp_eap_client.h")
esp_eap_client_set_ttls_phase2_method((esp_eap_ttls_phase2_types)ttls_phase2_type);
#else
esp_wifi_sta_wpa2_ent_set_ttls_phase2_method((esp_eap_ttls_phase2_types)ttls_phase2_type);
#endif
}

if (ca_pem){
#if __has_include("esp_eap_client.h")
esp_eap_client_set_ca_cert((uint8_t *)ca_pem, strlen(ca_pem));
Expand DownExpand Up@@ -503,7 +511,7 @@ bool STAClass::connect(
esp_wifi_sta_wpa2_ent_enable(); //set config settings to enable function
#endif

return connect(wpa2_ssid, NULL, 0, NULL, tryConnect); //connect to wifi
return connect(wpa2_ssid, NULL, channel, bssid, tryConnect); //connect to wifi
}

bool STAClass::disconnect(bool eraseap, unsigned long timeout){
Expand Down
4 changes: 2 additions & 2 deletions libraries/WiFi/src/WiFiSTA.cpp
Original file line numberDiff line numberDiff line change
Expand Up@@ -65,13 +65,13 @@ wl_status_t WiFiSTAClass::status(){

wl_status_tWiFiSTAClass::begin(
constchar *wpa2_ssid, wpa2_auth_method_t method, constchar *wpa2_identity, constchar *wpa2_username, constchar *wpa2_password, constchar *ca_pem,
constchar *client_crt, constchar *client_key, int32_t channel, constuint8_t *bssid, bool connect
constchar *client_crt, constchar *client_key, int ttls_phase2_type, int32_t channel, constuint8_t *bssid, bool connect
){
if (!STA.begin()){
return WL_CONNECT_FAILED;
}

if (!STA.connect(wpa2_ssid, method, wpa2_identity, wpa2_username, wpa2_password, ca_pem, client_crt, client_key, channel, bssid, connect)){
if (!STA.connect(wpa2_ssid, method, wpa2_identity, wpa2_username, wpa2_password, ca_pem, client_crt, client_key, ttls_phase2_type, channel, bssid, connect)){
return WL_CONNECT_FAILED;
}

Expand Down
10 changes: 6 additions & 4 deletions libraries/WiFi/src/WiFiSTA.h
Original file line numberDiff line numberDiff line change
Expand Up@@ -55,7 +55,8 @@ class STAClass : public NetworkInterface{
boolconnect(constchar *ssid, constchar *passphrase = NULL, int32_t channel = 0, constuint8_t *bssid = NULL, bool connect = true);
boolconnect(
constchar *wpa2_ssid, wpa2_auth_method_t method, constchar *wpa2_identity = NULL, constchar *wpa2_username = NULL, constchar *wpa2_password = NULL,
constchar *ca_pem = NULL, constchar *client_crt = NULL, constchar *client_key = NULL, int32_t channel = 0, constuint8_t *bssid = 0, bool connect = true
constchar *ca_pem = NULL, constchar *client_crt = NULL, constchar *client_key = NULL, int ttls_phase2_type = -1, int32_t channel = 0,
constuint8_t *bssid = 0, bool connect = true
);
booldisconnect(bool eraseap = false, unsignedlong timeout = 0);
boolreconnect();
Expand DownExpand Up@@ -109,16 +110,17 @@ class WiFiSTAClass{

wl_status_tbegin(
constchar *wpa2_ssid, wpa2_auth_method_t method, constchar *wpa2_identity = NULL, constchar *wpa2_username = NULL, constchar *wpa2_password = NULL,
constchar *ca_pem = NULL, constchar *client_crt = NULL, constchar *client_key = NULL, int32_t channel = 0, constuint8_t *bssid = 0, bool connect = true
constchar *ca_pem = NULL, constchar *client_crt = NULL, constchar *client_key = NULL, int ttls_phase2_type = -1, int32_t channel = 0,
constuint8_t *bssid = 0, bool connect = true
);
wl_status_tbegin(
const String &wpa2_ssid, wpa2_auth_method_t method, const String &wpa2_identity = (constchar *)NULL, const String &wpa2_username = (constchar *)NULL,
const String &wpa2_password = (constchar *)NULL, const String &ca_pem = (constchar *)NULL, const String &client_crt = (constchar *)NULL,
const String &client_key = (constchar *)NULL, int32_t channel = 0, const uint8_t *bssid = 0, bool connect = true
const String &client_key = (constchar *)NULL, int ttls_phase2_type = -1, int32_t channel = 0, const uint8_t *bssid = 0, bool connect = true
){
returnbegin(
wpa2_ssid.c_str(), method, wpa2_identity.c_str(), wpa2_username.c_str(), wpa2_password.c_str(), ca_pem.c_str(), client_crt.c_str(), client_key.c_str(),
channel, bssid, connect
ttls_phase2_type, channel, bssid, connect
);
}
wl_status_tbegin(constchar *ssid, constchar *passphrase = NULL, int32_t channel = 0, constuint8_t *bssid = NULL, bool connect = true);
Expand Down