Added shutdown wifi menu

This commit is contained in:
Just Call Me Koko
2020-08-28 17:19:13 -04:00
parent ece6b63de4
commit 7c137a84af
3 changed files with 54 additions and 9 deletions

View File

@@ -167,7 +167,7 @@ void join_wifi_keyboard_event_cb(lv_obj_t * keyboard, lv_event_t event){
printf("LV_EVENT_CANCEL\n");
//lv_textarea_set_text(lv_keyboard_get_textarea(kb), "");
menu_function_obj.deinitLVGL();
wifi_scan_obj.StartScan(WIFI_SCAN_OFF);
//wifi_scan_obj.StartScan(WIFI_SCAN_OFF);
display_obj.exit_draw = true; // set everything back to normal
}
}
@@ -757,6 +757,7 @@ void MenuFunctions::RunSetup()
});
addNodes(&wifiGeneralMenu, "Shutdown WiFi", TFT_ORANGE, NULL, SCANNERS, [this]() {
changeMenu(&shutdownWiFiMenu);
wifi_scan_obj.RunShutdownWiFi();
});
// Build shutdown wifi menu

View File

@@ -151,8 +151,15 @@ void WiFiScan::joinWiFi(String ssid, String password)
this->wifi_initialized = true;
return;
}
else if (WiFi.status() == WL_CONNECTED)
else if (WiFi.status() == WL_CONNECTED) {
Serial.println("Already connected. Disconnecting...");
WiFi.disconnect();
}
esp_wifi_init(&cfg);
esp_wifi_set_storage(WIFI_STORAGE_RAM);
esp_wifi_set_mode(WIFI_MODE_NULL);
esp_wifi_start();
WiFi.begin(ssid.c_str(), password.c_str());
@@ -224,12 +231,12 @@ void WiFiScan::StartScan(uint8_t scan_mode, uint16_t color)
WiFiScan::currentScanMode = scan_mode;
}
void WiFiScan::shutdownWiFi() {
bool WiFiScan::shutdownWiFi() {
if (this->wifi_initialized) {
Serial.println("Ahhh yes...promiscuity will end");
esp_wifi_set_promiscuous(false);
//WiFi.persistent(false);
WiFi.disconnect(true);
WiFi.disconnect();
WiFi.mode(WIFI_OFF);
esp_wifi_set_mode(WIFI_MODE_NULL);
@@ -237,12 +244,15 @@ void WiFiScan::shutdownWiFi() {
esp_wifi_deinit();
this->wifi_initialized = false;
return true;
}
else
else {
Serial.println(F("WiFi is not currently running"));
return false;
}
}
void WiFiScan::shutdownBLE() {
bool WiFiScan::shutdownBLE() {
if (this->ble_initialized) {
Serial.println("Stopping BLE scan...");
pBLEScan->stop();
@@ -261,9 +271,12 @@ void WiFiScan::shutdownBLE() {
//Serial.println("BT Controller Status: " + (String)esp_bt_controller_get_status());
this->ble_initialized = false;
return true;
}
else
else {
Serial.println(F("BLE is not currently running"));
return false;
}
}
// Function to stop all wifi scans
@@ -393,6 +406,35 @@ void WiFiScan::RunLvJoinWiFi(uint8_t scan_mode, uint16_t color) {
//display_obj.joinWiFiGFX();
}
void WiFiScan::RunShutdownWiFi() {
display_obj.tft.setTextWrap(false);
display_obj.tft.setFreeFont(NULL);
display_obj.tft.setCursor(0, 100);
display_obj.tft.setTextSize(1);
display_obj.tft.setTextColor(TFT_CYAN);
display_obj.tft.print(F("Shutting down WiFi..."));
if (this->wifi_initialized) {
this->shutdownWiFi();
display_obj.tft.setTextColor(TFT_GREEN);
display_obj.tft.println(F("OK"));
}
else {
display_obj.tft.setTextColor(TFT_RED);
display_obj.tft.println(F("FAIL"));
display_obj.tft.println(F("WiFi not currently initialized"));
}
}
void WiFiScan::RunShutdownBLE() {
display_obj.tft.setTextWrap(false);
display_obj.tft.setFreeFont(NULL);
display_obj.tft.setCursor(0, 100);
display_obj.tft.setTextSize(1);
display_obj.tft.setTextColor(TFT_CYAN);
}
void WiFiScan::RunInfo()
{
String sta_mac = this->getStaMAC();

View File

@@ -171,13 +171,15 @@ class WiFiScan
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
void RunSetup();
void shutdownWiFi();
void shutdownBLE();
bool shutdownWiFi();
bool shutdownBLE();
void joinWiFi(String ssid, String password);
String getStaMAC();
String getApMAC();
String freeRAM();
void RunInfo();
void RunShutdownWiFi();
void RunShutdownBLE();
void channelHop();
uint8_t currentScanMode = 0;
void main(uint32_t currentTime);