Prevent exceptions in WiFi if not yet started
This commit is contained in:
parent
95b87545e7
commit
bad53905e8
@ -184,6 +184,11 @@ bool WiFiAPClass::softAPdisconnect(bool wifioff)
|
|||||||
{
|
{
|
||||||
bool ret;
|
bool ret;
|
||||||
wifi_config_t conf;
|
wifi_config_t conf;
|
||||||
|
|
||||||
|
if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
|
||||||
|
return ESP_ERR_INVALID_STATE;
|
||||||
|
}
|
||||||
|
|
||||||
*conf.ap.ssid = 0;
|
*conf.ap.ssid = 0;
|
||||||
*conf.ap.password = 0;
|
*conf.ap.password = 0;
|
||||||
conf.ap.authmode = WIFI_AUTH_OPEN; // auth must be open if pass=0
|
conf.ap.authmode = WIFI_AUTH_OPEN; // auth must be open if pass=0
|
||||||
@ -204,6 +209,9 @@ bool WiFiAPClass::softAPdisconnect(bool wifioff)
|
|||||||
uint8_t WiFiAPClass::softAPgetStationNum()
|
uint8_t WiFiAPClass::softAPgetStationNum()
|
||||||
{
|
{
|
||||||
wifi_sta_list_t clients;
|
wifi_sta_list_t clients;
|
||||||
|
if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
if(esp_wifi_ap_get_sta_list(&clients) == ESP_OK) {
|
if(esp_wifi_ap_get_sta_list(&clients) == ESP_OK) {
|
||||||
return clients.num;
|
return clients.num;
|
||||||
}
|
}
|
||||||
@ -217,6 +225,9 @@ uint8_t WiFiAPClass::softAPgetStationNum()
|
|||||||
IPAddress WiFiAPClass::softAPIP()
|
IPAddress WiFiAPClass::softAPIP()
|
||||||
{
|
{
|
||||||
tcpip_adapter_ip_info_t ip;
|
tcpip_adapter_ip_info_t ip;
|
||||||
|
if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
|
||||||
|
return IPAddress();
|
||||||
|
}
|
||||||
tcpip_adapter_get_ip_info(TCPIP_ADAPTER_IF_AP, &ip);
|
tcpip_adapter_get_ip_info(TCPIP_ADAPTER_IF_AP, &ip);
|
||||||
return IPAddress(ip.ip.addr);
|
return IPAddress(ip.ip.addr);
|
||||||
}
|
}
|
||||||
@ -229,7 +240,9 @@ IPAddress WiFiAPClass::softAPIP()
|
|||||||
*/
|
*/
|
||||||
uint8_t* WiFiAPClass::softAPmacAddress(uint8_t* mac)
|
uint8_t* WiFiAPClass::softAPmacAddress(uint8_t* mac)
|
||||||
{
|
{
|
||||||
|
if(WiFiGenericClass::getMode() != WIFI_MODE_NULL){
|
||||||
esp_wifi_get_mac(WIFI_IF_AP, mac);
|
esp_wifi_get_mac(WIFI_IF_AP, mac);
|
||||||
|
}
|
||||||
return mac;
|
return mac;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -241,6 +254,9 @@ String WiFiAPClass::softAPmacAddress(void)
|
|||||||
{
|
{
|
||||||
uint8_t mac[6];
|
uint8_t mac[6];
|
||||||
char macStr[18] = { 0 };
|
char macStr[18] = { 0 };
|
||||||
|
if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
|
||||||
|
return String();
|
||||||
|
}
|
||||||
esp_wifi_get_mac(WIFI_IF_AP, mac);
|
esp_wifi_get_mac(WIFI_IF_AP, mac);
|
||||||
|
|
||||||
sprintf(macStr, "%02X:%02X:%02X:%02X:%02X:%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
|
sprintf(macStr, "%02X:%02X:%02X:%02X:%02X:%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
|
||||||
@ -253,9 +269,12 @@ String WiFiAPClass::softAPmacAddress(void)
|
|||||||
*/
|
*/
|
||||||
const char * WiFiAPClass::softAPgetHostname()
|
const char * WiFiAPClass::softAPgetHostname()
|
||||||
{
|
{
|
||||||
const char * hostname;
|
const char * hostname = NULL;
|
||||||
|
if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
|
||||||
|
return hostname;
|
||||||
|
}
|
||||||
if(tcpip_adapter_get_hostname(TCPIP_ADAPTER_IF_AP, &hostname)) {
|
if(tcpip_adapter_get_hostname(TCPIP_ADAPTER_IF_AP, &hostname)) {
|
||||||
return NULL;
|
return hostname;
|
||||||
}
|
}
|
||||||
return hostname;
|
return hostname;
|
||||||
}
|
}
|
||||||
@ -267,6 +286,9 @@ const char * WiFiAPClass::softAPgetHostname()
|
|||||||
*/
|
*/
|
||||||
bool WiFiAPClass::softAPsetHostname(const char * hostname)
|
bool WiFiAPClass::softAPsetHostname(const char * hostname)
|
||||||
{
|
{
|
||||||
|
if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
return tcpip_adapter_set_hostname(TCPIP_ADAPTER_IF_AP, hostname) == ESP_OK;
|
return tcpip_adapter_set_hostname(TCPIP_ADAPTER_IF_AP, hostname) == ESP_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -276,6 +298,9 @@ bool WiFiAPClass::softAPsetHostname(const char * hostname)
|
|||||||
*/
|
*/
|
||||||
bool WiFiAPClass::softAPenableIpV6()
|
bool WiFiAPClass::softAPenableIpV6()
|
||||||
{
|
{
|
||||||
|
if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
return tcpip_adapter_create_ip6_linklocal(TCPIP_ADAPTER_IF_AP) == ESP_OK;
|
return tcpip_adapter_create_ip6_linklocal(TCPIP_ADAPTER_IF_AP) == ESP_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -286,6 +311,9 @@ bool WiFiAPClass::softAPenableIpV6()
|
|||||||
IPv6Address WiFiAPClass::softAPIPv6()
|
IPv6Address WiFiAPClass::softAPIPv6()
|
||||||
{
|
{
|
||||||
static ip6_addr_t addr;
|
static ip6_addr_t addr;
|
||||||
|
if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
|
||||||
|
return IPv6Address();
|
||||||
|
}
|
||||||
if(tcpip_adapter_get_ip6_linklocal(TCPIP_ADAPTER_IF_AP, &addr)) {
|
if(tcpip_adapter_get_ip6_linklocal(TCPIP_ADAPTER_IF_AP, &addr)) {
|
||||||
return IPv6Address();
|
return IPv6Address();
|
||||||
}
|
}
|
||||||
|
@ -399,6 +399,9 @@ uint8_t WiFiSTAClass::waitForConnectResult()
|
|||||||
*/
|
*/
|
||||||
IPAddress WiFiSTAClass::localIP()
|
IPAddress WiFiSTAClass::localIP()
|
||||||
{
|
{
|
||||||
|
if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
|
||||||
|
return IPAddress();
|
||||||
|
}
|
||||||
tcpip_adapter_ip_info_t ip;
|
tcpip_adapter_ip_info_t ip;
|
||||||
tcpip_adapter_get_ip_info(TCPIP_ADAPTER_IF_STA, &ip);
|
tcpip_adapter_get_ip_info(TCPIP_ADAPTER_IF_STA, &ip);
|
||||||
return IPAddress(ip.ip.addr);
|
return IPAddress(ip.ip.addr);
|
||||||
@ -412,7 +415,9 @@ IPAddress WiFiSTAClass::localIP()
|
|||||||
*/
|
*/
|
||||||
uint8_t* WiFiSTAClass::macAddress(uint8_t* mac)
|
uint8_t* WiFiSTAClass::macAddress(uint8_t* mac)
|
||||||
{
|
{
|
||||||
|
if(WiFiGenericClass::getMode() != WIFI_MODE_NULL){
|
||||||
esp_wifi_get_mac(WIFI_IF_STA, mac);
|
esp_wifi_get_mac(WIFI_IF_STA, mac);
|
||||||
|
}
|
||||||
return mac;
|
return mac;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -424,6 +429,9 @@ String WiFiSTAClass::macAddress(void)
|
|||||||
{
|
{
|
||||||
uint8_t mac[6];
|
uint8_t mac[6];
|
||||||
char macStr[18] = { 0 };
|
char macStr[18] = { 0 };
|
||||||
|
if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
|
||||||
|
return String();
|
||||||
|
}
|
||||||
esp_wifi_get_mac(WIFI_IF_STA, mac);
|
esp_wifi_get_mac(WIFI_IF_STA, mac);
|
||||||
|
|
||||||
sprintf(macStr, "%02X:%02X:%02X:%02X:%02X:%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
|
sprintf(macStr, "%02X:%02X:%02X:%02X:%02X:%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
|
||||||
@ -436,6 +444,9 @@ String WiFiSTAClass::macAddress(void)
|
|||||||
*/
|
*/
|
||||||
IPAddress WiFiSTAClass::subnetMask()
|
IPAddress WiFiSTAClass::subnetMask()
|
||||||
{
|
{
|
||||||
|
if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
|
||||||
|
return IPAddress();
|
||||||
|
}
|
||||||
tcpip_adapter_ip_info_t ip;
|
tcpip_adapter_ip_info_t ip;
|
||||||
tcpip_adapter_get_ip_info(TCPIP_ADAPTER_IF_STA, &ip);
|
tcpip_adapter_get_ip_info(TCPIP_ADAPTER_IF_STA, &ip);
|
||||||
return IPAddress(ip.netmask.addr);
|
return IPAddress(ip.netmask.addr);
|
||||||
@ -447,6 +458,9 @@ IPAddress WiFiSTAClass::subnetMask()
|
|||||||
*/
|
*/
|
||||||
IPAddress WiFiSTAClass::gatewayIP()
|
IPAddress WiFiSTAClass::gatewayIP()
|
||||||
{
|
{
|
||||||
|
if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
|
||||||
|
return IPAddress();
|
||||||
|
}
|
||||||
tcpip_adapter_ip_info_t ip;
|
tcpip_adapter_ip_info_t ip;
|
||||||
tcpip_adapter_get_ip_info(TCPIP_ADAPTER_IF_STA, &ip);
|
tcpip_adapter_get_ip_info(TCPIP_ADAPTER_IF_STA, &ip);
|
||||||
return IPAddress(ip.gw.addr);
|
return IPAddress(ip.gw.addr);
|
||||||
@ -459,6 +473,9 @@ IPAddress WiFiSTAClass::gatewayIP()
|
|||||||
*/
|
*/
|
||||||
IPAddress WiFiSTAClass::dnsIP(uint8_t dns_no)
|
IPAddress WiFiSTAClass::dnsIP(uint8_t dns_no)
|
||||||
{
|
{
|
||||||
|
if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
|
||||||
|
return IPAddress();
|
||||||
|
}
|
||||||
ip_addr_t dns_ip = dns_getserver(dns_no);
|
ip_addr_t dns_ip = dns_getserver(dns_no);
|
||||||
return IPAddress(dns_ip.u_addr.ip4.addr);
|
return IPAddress(dns_ip.u_addr.ip4.addr);
|
||||||
}
|
}
|
||||||
@ -469,6 +486,9 @@ IPAddress WiFiSTAClass::dnsIP(uint8_t dns_no)
|
|||||||
*/
|
*/
|
||||||
String WiFiSTAClass::SSID() const
|
String WiFiSTAClass::SSID() const
|
||||||
{
|
{
|
||||||
|
if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
|
||||||
|
return String();
|
||||||
|
}
|
||||||
wifi_ap_record_t info;
|
wifi_ap_record_t info;
|
||||||
if(!esp_wifi_sta_get_ap_info(&info)) {
|
if(!esp_wifi_sta_get_ap_info(&info)) {
|
||||||
return String(reinterpret_cast<char*>(info.ssid));
|
return String(reinterpret_cast<char*>(info.ssid));
|
||||||
@ -482,6 +502,9 @@ String WiFiSTAClass::SSID() const
|
|||||||
*/
|
*/
|
||||||
String WiFiSTAClass::psk() const
|
String WiFiSTAClass::psk() const
|
||||||
{
|
{
|
||||||
|
if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
|
||||||
|
return String();
|
||||||
|
}
|
||||||
wifi_config_t conf;
|
wifi_config_t conf;
|
||||||
esp_wifi_get_config(WIFI_IF_STA, &conf);
|
esp_wifi_get_config(WIFI_IF_STA, &conf);
|
||||||
return String(reinterpret_cast<char*>(conf.sta.password));
|
return String(reinterpret_cast<char*>(conf.sta.password));
|
||||||
@ -495,6 +518,9 @@ uint8_t* WiFiSTAClass::BSSID(void)
|
|||||||
{
|
{
|
||||||
static uint8_t bssid[6];
|
static uint8_t bssid[6];
|
||||||
wifi_ap_record_t info;
|
wifi_ap_record_t info;
|
||||||
|
if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
if(!esp_wifi_sta_get_ap_info(&info)) {
|
if(!esp_wifi_sta_get_ap_info(&info)) {
|
||||||
memcpy(bssid, info.bssid, 6);
|
memcpy(bssid, info.bssid, 6);
|
||||||
return reinterpret_cast<uint8_t*>(bssid);
|
return reinterpret_cast<uint8_t*>(bssid);
|
||||||
@ -523,6 +549,9 @@ String WiFiSTAClass::BSSIDstr(void)
|
|||||||
*/
|
*/
|
||||||
int8_t WiFiSTAClass::RSSI(void)
|
int8_t WiFiSTAClass::RSSI(void)
|
||||||
{
|
{
|
||||||
|
if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
wifi_ap_record_t info;
|
wifi_ap_record_t info;
|
||||||
if(!esp_wifi_sta_get_ap_info(&info)) {
|
if(!esp_wifi_sta_get_ap_info(&info)) {
|
||||||
return info.rssi;
|
return info.rssi;
|
||||||
@ -536,7 +565,10 @@ int8_t WiFiSTAClass::RSSI(void)
|
|||||||
*/
|
*/
|
||||||
const char * WiFiSTAClass::getHostname()
|
const char * WiFiSTAClass::getHostname()
|
||||||
{
|
{
|
||||||
const char * hostname;
|
const char * hostname = NULL;
|
||||||
|
if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
|
||||||
|
return hostname;
|
||||||
|
}
|
||||||
if(tcpip_adapter_get_hostname(TCPIP_ADAPTER_IF_STA, &hostname)){
|
if(tcpip_adapter_get_hostname(TCPIP_ADAPTER_IF_STA, &hostname)){
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -550,6 +582,9 @@ const char * WiFiSTAClass::getHostname()
|
|||||||
*/
|
*/
|
||||||
bool WiFiSTAClass::setHostname(const char * hostname)
|
bool WiFiSTAClass::setHostname(const char * hostname)
|
||||||
{
|
{
|
||||||
|
if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
return tcpip_adapter_set_hostname(TCPIP_ADAPTER_IF_STA, hostname) == 0;
|
return tcpip_adapter_set_hostname(TCPIP_ADAPTER_IF_STA, hostname) == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -559,6 +594,9 @@ bool WiFiSTAClass::setHostname(const char * hostname)
|
|||||||
*/
|
*/
|
||||||
bool WiFiSTAClass::enableIpV6()
|
bool WiFiSTAClass::enableIpV6()
|
||||||
{
|
{
|
||||||
|
if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
return tcpip_adapter_create_ip6_linklocal(TCPIP_ADAPTER_IF_STA) == 0;
|
return tcpip_adapter_create_ip6_linklocal(TCPIP_ADAPTER_IF_STA) == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -569,6 +607,9 @@ bool WiFiSTAClass::enableIpV6()
|
|||||||
IPv6Address WiFiSTAClass::localIPv6()
|
IPv6Address WiFiSTAClass::localIPv6()
|
||||||
{
|
{
|
||||||
static ip6_addr_t addr;
|
static ip6_addr_t addr;
|
||||||
|
if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
|
||||||
|
return IPv6Address();
|
||||||
|
}
|
||||||
if(tcpip_adapter_get_ip6_linklocal(TCPIP_ADAPTER_IF_STA, &addr)){
|
if(tcpip_adapter_get_ip6_linklocal(TCPIP_ADAPTER_IF_STA, &addr)){
|
||||||
return IPv6Address();
|
return IPv6Address();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user