Revert "Cleanup SD stuff"

This reverts commit f86b5a4df0.
This commit is contained in:
Just Call Me Koko
2020-08-27 20:03:33 -04:00
parent d914ebd7c0
commit 2572b83701
6 changed files with 43 additions and 112 deletions

View File

@@ -76,7 +76,7 @@ class Display
TFT_eSPI tft = TFT_eSPI();
TFT_eSprite img = TFT_eSprite(&tft);
TFT_eSPI_Button key[BUTTON_ARRAY_LEN];
String version_number = "v0.7.1";
String version_number = "v0.7.0";
bool printing = false;
bool loading = false;

View File

@@ -638,7 +638,7 @@ void MenuFunctions::RunSetup()
WiFi.softAPdisconnect(true);
web_obj.shutdownServer();
});
addNodes(&updateMenu, "Back", TFT_LIGHTGREY, NULL, 0, [this](){wifi_scan_obj.currentScanMode = WIFI_SCAN_OFF; changeMenu(updateMenu.parentMenu);});
//addNodes(&updateMenu, "Back", TFT_LIGHTGREY, NULL, 0, [this](){wifi_scan_obj.currentScanMode = WIFI_SCAN_OFF; changeMenu(updateMenu.parentMenu);});
// Failed update menu
failedUpdateMenu.parentMenu = &whichUpdateMenu;

View File

@@ -1,41 +1,13 @@
#include "SDInterface.h"
bool SDInterface::startSD() {
Serial.println("Starting SD card...");
if (SD.begin(SD_CS)) {
buffer_obj = Buffer();
this->sd_running = true;
return true;
}
else {
//delete &buffer_obj;
//buffer_obj = NULL;
this->sd_running = false;
return false;
}
}
bool SDInterface::stopSD() {
Serial.println("Stopping SD card");
//delete &buffer_obj;
//buffer_obj = NULL;
this->sd_running = false;
SD.end();
}
bool SDInterface::initSD() {
String display_string = "";
if (!this->startSD()) {
if (!SD.begin(SD_CS)) {
Serial.println("Failed to mount SD Card");
this->supported = false;
this->stopSD();
return false;
}
// else {
// SD.end(); // Release memory used for SD
// return false;
// }
else {
this->supported = true;
this->cardType = SD.cardType();
@@ -75,13 +47,10 @@ bool SDInterface::initSD() {
this->card_sz = sz;
}
//buffer_obj = Buffer();
buffer_obj = Buffer();
//if (this->supported)
// buffer_obj.open(&SD);
// Clean up the SD
this->stopSD();
return true;
}
@@ -100,7 +69,6 @@ void SDInterface::openCapture(String file_name) {
}
void SDInterface::runUpdate() {
this->startSD();
//display_obj.clearScreen();
display_obj.tft.setTextWrap(false);
display_obj.tft.setFreeFont(NULL);
@@ -136,8 +104,6 @@ void SDInterface::runUpdate() {
}
updateBin.close();
this->stopSD();
// whe finished remove the binary from sd card to indicate end of the process
display_obj.tft.println("rebooting...");
@@ -194,7 +160,7 @@ void SDInterface::performUpdate(Stream &updateSource, size_t updateSize) {
}
void SDInterface::main() {
if ((this->supported) && (this->do_save) && (this->sd_running)) {
if ((this->supported) && (this->do_save)) {
//Serial.println("Saving packet...");
buffer_obj.forceSave(&SD);
}

View File

@@ -14,7 +14,6 @@ extern Display display_obj;
class SDInterface {
private:
bool sd_running = false;
public:
uint8_t cardType;
@@ -29,8 +28,6 @@ class SDInterface {
bool initSD();
bool stopSD();
bool startSD();
void addPacket(uint8_t* buf, uint32_t len);
void openCapture(String file_name = "");
void runUpdate();

View File

@@ -162,18 +162,6 @@ void WiFiScan::StartScan(uint8_t scan_mode, uint16_t color)
WiFiScan::currentScanMode = scan_mode;
}
void WiFiScan::shutdownWiFi() {
Serial.println("Ahhh yes...promiscuity will end");
esp_wifi_set_promiscuous(false);
WiFi.persistent(false);
WiFi.disconnect(true);
WiFi.mode(WIFI_OFF);
esp_wifi_set_mode(WIFI_MODE_NULL);
esp_wifi_stop();
esp_wifi_deinit();
}
// Function to stop all wifi scans
void WiFiScan::StopScan(uint8_t scan_mode)
{
@@ -188,8 +176,13 @@ void WiFiScan::StopScan(uint8_t scan_mode)
(currentScanMode == WIFI_ATTACK_RICK_ROLL) ||
(currentScanMode == WIFI_PACKET_MONITOR))
{
sd_obj.stopSD();
this->shutdownWiFi();
Serial.println("Ahhh yes...promiscuity will end");
esp_wifi_set_promiscuous(false);
WiFi.mode(WIFI_OFF);
esp_wifi_set_mode(WIFI_MODE_NULL);
esp_wifi_stop();
esp_wifi_deinit();
}
@@ -227,11 +220,11 @@ String WiFiScan::getStaMAC()
char *buf;
uint8_t mac[6];
char macAddrChr[18] = {0};
//wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
esp_wifi_init(&cfg);
//esp_wifi_set_storage(WIFI_STORAGE_RAM);
//esp_wifi_set_mode(WIFI_MODE_NULL);
//esp_wifi_start();
esp_wifi_set_storage(WIFI_STORAGE_RAM);
esp_wifi_set_mode(WIFI_MODE_NULL);
esp_wifi_start();
esp_err_t mac_status = esp_wifi_get_mac(ESP_IF_WIFI_STA, mac);
sprintf(macAddrChr,
"%02X:%02X:%02X:%02X:%02X:%02X",
@@ -241,7 +234,6 @@ String WiFiScan::getStaMAC()
mac[3],
mac[4],
mac[5]);
this->shutdownWiFi();
return String(macAddrChr);
}
@@ -250,7 +242,7 @@ String WiFiScan::getApMAC()
char *buf;
uint8_t mac[6];
char macAddrChr[18] = {0};
//wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
esp_wifi_init(&cfg);
esp_wifi_set_storage(WIFI_STORAGE_RAM);
esp_wifi_set_mode(WIFI_MODE_NULL);
@@ -264,7 +256,6 @@ String WiFiScan::getApMAC()
mac[3],
mac[4],
mac[5]);
this->shutdownWiFi();
return String(macAddrChr);
}
@@ -302,8 +293,8 @@ void WiFiScan::RunLvJoinWiFi(uint8_t scan_mode, uint16_t color) {
void WiFiScan::RunInfo()
{
String sta_mac = this->getStaMAC();
String ap_mac = this->getApMAC();
//String sta_mac = this->getStaMAC();
//String ap_mac = this->getApMAC();
String free_ram = this->freeRAM();
//Serial.print("STA MAC: ");
@@ -318,41 +309,35 @@ void WiFiScan::RunInfo()
display_obj.tft.setTextSize(1);
display_obj.tft.setTextColor(TFT_CYAN);
display_obj.tft.println(F(" Firmware: Marauder"));
display_obj.tft.print(F(" Version: "));
display_obj.tft.print(display_obj.version_number);
display_obj.tft.println(F("\n"));
display_obj.tft.print(F(" Station MAC: "));
display_obj.tft.println(sta_mac);
display_obj.tft.print(F(" AP MAC: "));
display_obj.tft.println(ap_mac);
display_obj.tft.print(F(" "));
display_obj.tft.println(free_ram);
//display_obj.tft.println(" Station MAC: " + sta_mac);
//display_obj.tft.println(" AP MAC: " + ap_mac);
display_obj.tft.println(" Firmware: Marauder");
display_obj.tft.println(" Version: " + display_obj.version_number + "\n");
display_obj.tft.println(" " + free_ram);
if (sd_obj.supported) {
display_obj.tft.println(F(" SD Card: Connected"));
display_obj.tft.print(F(" SD Card Size: "));
display_obj.tft.println(" SD Card: Connected");
display_obj.tft.print(" SD Card Size: ");
display_obj.tft.print(sd_obj.card_sz);
display_obj.tft.println(F("MB"));
display_obj.tft.println("MB");
}
else {
display_obj.tft.println(F(" SD Card: Not Connected"));
display_obj.tft.println(F(" SD Card Size: 0"));
display_obj.tft.println(" SD Card: Not Connected");
display_obj.tft.println(" SD Card Size: 0");
}
battery_obj.battery_level = battery_obj.getBatteryLevel();
if (battery_obj.i2c_supported) {
display_obj.tft.println(F(" IP5306 I2C: supported"));
display_obj.tft.println(" IP5306 I2C: supported");
display_obj.tft.println(" Battery Lvl: " + (String)battery_obj.battery_level + "%");
}
else
display_obj.tft.println(F(" IP5306 I2C: not supported"));
display_obj.tft.println(" IP5306 I2C: not supported");
display_obj.tft.println("Internal temp: " + (String)temp_obj.current_temp + " C");
}
void WiFiScan::RunEspressifScan(uint8_t scan_mode, uint16_t color) {
sd_obj.startSD();
sd_obj.openCapture("espressif");
display_obj.TOP_FIXED_AREA_2 = 48;
@@ -368,7 +353,7 @@ void WiFiScan::RunEspressifScan(uint8_t scan_mode, uint16_t color) {
display_obj.touchToExit();
display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK);
display_obj.setupScrollArea(display_obj.TOP_FIXED_AREA_2, BOT_FIXED_AREA);
//wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
esp_wifi_init(&cfg);
esp_wifi_set_storage(WIFI_STORAGE_RAM);
esp_wifi_set_mode(WIFI_MODE_NULL);
@@ -385,7 +370,7 @@ void WiFiScan::RunPacketMonitor(uint8_t scan_mode, uint16_t color)
display_obj.tft.init();
display_obj.tft.setRotation(1);
display_obj.tft.fillScreen(TFT_BLACK);
sd_obj.startSD();
sd_obj.openCapture("packet_monitor");
#ifdef TFT_SHIELD
@@ -413,7 +398,7 @@ void WiFiScan::RunPacketMonitor(uint8_t scan_mode, uint16_t color)
display_obj.tftDrawExitScaleButtons();
Serial.println("Running packet scan...");
//wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
esp_wifi_init(&cfg);
esp_wifi_set_storage(WIFI_STORAGE_RAM);
esp_wifi_set_mode(WIFI_MODE_NULL);
@@ -431,7 +416,7 @@ void WiFiScan::RunEapolScan(uint8_t scan_mode, uint16_t color)
display_obj.tft.init();
display_obj.tft.setRotation(1);
display_obj.tft.fillScreen(TFT_BLACK);
sd_obj.startSD();
sd_obj.openCapture("eapol");
#ifdef TFT_SHIELD
@@ -459,7 +444,7 @@ void WiFiScan::RunEapolScan(uint8_t scan_mode, uint16_t color)
display_obj.tftDrawExitScaleButtons();
//wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
esp_wifi_init(&cfg);
esp_wifi_set_storage(WIFI_STORAGE_RAM);
esp_wifi_set_mode(WIFI_MODE_NULL);
@@ -488,11 +473,7 @@ void WiFiScan::RunRickRoll(uint8_t scan_mode, uint16_t color)
display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK);
packets_sent = 0;
//esp_wifi_set_mode(WIFI_MODE_STA);
//wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
esp_wifi_init(&cfg);
esp_wifi_set_storage(WIFI_STORAGE_RAM);
esp_wifi_set_mode(WIFI_AP_STA);
//WiFi.mode(WIFI_AP_STA);
WiFi.mode(WIFI_AP_STA);
esp_wifi_start();
esp_wifi_set_promiscuous_filter(NULL);
esp_wifi_set_promiscuous(true);
@@ -520,11 +501,7 @@ void WiFiScan::RunBeaconSpam(uint8_t scan_mode, uint16_t color)
display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK);
packets_sent = 0;
//esp_wifi_set_mode(WIFI_MODE_STA);
//wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
esp_wifi_init(&cfg);
esp_wifi_set_storage(WIFI_STORAGE_RAM);
//WiFi.mode(WIFI_AP_STA);
esp_wifi_set_mode(WIFI_AP_STA);
WiFi.mode(WIFI_AP_STA);
esp_wifi_start();
esp_wifi_set_promiscuous_filter(NULL);
esp_wifi_set_promiscuous(true);
@@ -536,7 +513,6 @@ void WiFiScan::RunBeaconSpam(uint8_t scan_mode, uint16_t color)
void WiFiScan::RunPwnScan(uint8_t scan_mode, uint16_t color)
{
sd_obj.startSD();
sd_obj.openCapture("pwnagotchi");
display_obj.TOP_FIXED_AREA_2 = 48;
@@ -552,7 +528,7 @@ void WiFiScan::RunPwnScan(uint8_t scan_mode, uint16_t color)
display_obj.touchToExit();
display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK);
display_obj.setupScrollArea(display_obj.TOP_FIXED_AREA_2, BOT_FIXED_AREA);
//wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
esp_wifi_init(&cfg);
esp_wifi_set_storage(WIFI_STORAGE_RAM);
esp_wifi_set_mode(WIFI_MODE_NULL);
@@ -567,7 +543,6 @@ void WiFiScan::RunPwnScan(uint8_t scan_mode, uint16_t color)
// Function to start running a beacon scan
void WiFiScan::RunBeaconScan(uint8_t scan_mode, uint16_t color)
{
sd_obj.startSD();
sd_obj.openCapture("beacon");
display_obj.TOP_FIXED_AREA_2 = 48;
@@ -583,7 +558,7 @@ void WiFiScan::RunBeaconScan(uint8_t scan_mode, uint16_t color)
display_obj.touchToExit();
display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK);
display_obj.setupScrollArea(display_obj.TOP_FIXED_AREA_2, BOT_FIXED_AREA);
//wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
esp_wifi_init(&cfg);
esp_wifi_set_storage(WIFI_STORAGE_RAM);
esp_wifi_set_mode(WIFI_MODE_NULL);
@@ -597,7 +572,6 @@ void WiFiScan::RunBeaconScan(uint8_t scan_mode, uint16_t color)
void WiFiScan::RunDeauthScan(uint8_t scan_mode, uint16_t color)
{
sd_obj.startSD();
sd_obj.openCapture("deauth");
display_obj.TOP_FIXED_AREA_2 = 48;
@@ -613,7 +587,7 @@ void WiFiScan::RunDeauthScan(uint8_t scan_mode, uint16_t color)
display_obj.touchToExit();
display_obj.tft.setTextColor(TFT_RED, TFT_BLACK);
display_obj.setupScrollArea(display_obj.TOP_FIXED_AREA_2, BOT_FIXED_AREA);
//wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
esp_wifi_init(&cfg);
esp_wifi_set_storage(WIFI_STORAGE_RAM);
esp_wifi_set_mode(WIFI_MODE_NULL);
@@ -629,7 +603,6 @@ void WiFiScan::RunDeauthScan(uint8_t scan_mode, uint16_t color)
// Function for running probe request scan
void WiFiScan::RunProbeScan(uint8_t scan_mode, uint16_t color)
{
sd_obj.startSD();
sd_obj.openCapture("probe");
display_obj.TOP_FIXED_AREA_2 = 48;
@@ -645,7 +618,7 @@ void WiFiScan::RunProbeScan(uint8_t scan_mode, uint16_t color)
display_obj.touchToExit();
display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK);
display_obj.setupScrollArea(display_obj.TOP_FIXED_AREA_2, BOT_FIXED_AREA);
//wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
esp_wifi_init(&cfg);
esp_wifi_set_storage(WIFI_STORAGE_RAM);
esp_wifi_set_mode(WIFI_MODE_NULL);
@@ -858,10 +831,7 @@ void WiFiScan::pwnSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type)
{
Serial.print((char)snifferPacket->payload[i + 38]);
//display_string.concat((char)snifferPacket->payload[i + 38]);
if (isAscii(snifferPacket->payload[i + 38]))
essid.concat((char)snifferPacket->payload[i + 38]);
else
Serial.println("Got non-ascii character: " + (String)(char)snifferPacket->payload[i + 38]);
essid.concat((char)snifferPacket->payload[i + 38]);
}
//essid.concat("\": \"\"}}");
//Serial.println("\n" + (String)(snifferPacket->payload[37]) + " -> " + essid);
@@ -871,7 +841,6 @@ void WiFiScan::pwnSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type)
JsonObject& json = jsonBuffer.parseObject(essid);
if (!json.success()) {
Serial.println("\nCould not parse Pwnagotchi json");
display_string.concat(essid);
}
else {
Serial.println("\nSuccessfully parsed json");

View File

@@ -173,7 +173,6 @@ class WiFiScan
uint8_t currentScanMode = 0;
void main(uint32_t currentTime);
void StartScan(uint8_t scan_mode, uint16_t color = 0);
void shutdownWiFi();
void StopScan(uint8_t scan_mode);
static void getMAC(char *addr, uint8_t* data, uint16_t offset);