mirror of
https://github.com/justcallmekoko/ESP32Marauder.git
synced 2025-12-05 20:40:25 -08:00
Add GPS menu
This commit is contained in:
@@ -7,55 +7,6 @@
|
||||
|
||||
PROGMEM static String espressif_macs[] = {
|
||||
"fc:f5:c4"};
|
||||
/* "f4:cf:a2",
|
||||
"f0:08:d1",
|
||||
"ec:fa:bc",
|
||||
"e0:98:06",
|
||||
"dc:4f:22",
|
||||
"d8:f1:5b",
|
||||
"d8:bf:c0",
|
||||
"d8:a0:1d",
|
||||
"cc:50:e3",
|
||||
"c8:2b:96",
|
||||
"c4:4f:33",
|
||||
"bc:dd:c2",
|
||||
"b8:f0:09",
|
||||
"b4:e6:2d",
|
||||
"ac:d0:74",
|
||||
"ac:67:b2",
|
||||
"a4:cf:12",
|
||||
"a4:7b:9d",
|
||||
"a0:20:a6",
|
||||
"98:f4:ab",
|
||||
"90:97:d5",
|
||||
"8c:aa:b5",
|
||||
"84:f3:eb",
|
||||
"84:cc:a8",
|
||||
"84:0d:8e",
|
||||
"80:7d:3a",
|
||||
"7c:df:a1",
|
||||
"7c:9e:bd",
|
||||
"70:03:9f",
|
||||
"68:c6:3a",
|
||||
"60:01:94",
|
||||
"5c:cf:7f",
|
||||
"54:5a:a6",
|
||||
"50:02:91",
|
||||
"4c:11:ae",
|
||||
"48:3f:da",
|
||||
"40:f5:20",
|
||||
"3c:71:bf",
|
||||
"30:ae:a4",
|
||||
"2c:f4:32",
|
||||
"2c:3a:e8",
|
||||
"24:b2:de",
|
||||
"24:6f:28",
|
||||
"24:62:ab",
|
||||
"24:0a:c4",
|
||||
"18:fe:34",
|
||||
"10:52:1c"
|
||||
};*/
|
||||
|
||||
|
||||
PROGMEM static const unsigned char menu_icons[][66] = {
|
||||
{0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x37, 0xFF, 0xFF, 0x3A, // Attack: 0
|
||||
@@ -202,75 +153,57 @@ PROGMEM static const unsigned char menu_icons[][66] = {
|
||||
0xFE, 0xFF, 0x1F, 0x8E, 0x7F, 0x1C, 0x36, 0xBF, 0x19, 0x16, 0xBF, 0x18,
|
||||
0x06, 0x3F, 0x18, 0x8E, 0x7F, 0x1C, 0xFD, 0xFF, 0x2F, 0xDB, 0xF3, 0x36,
|
||||
0x3F, 0x0C, 0x3F, 0xFF, 0xFF, 0x3F},
|
||||
{0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F, 0xFF, 0xC7, 0x3F, 0x7F, 0x0E, 0x3F, // ESPRESSIF: 25
|
||||
0x2F, 0x30, 0x3E, 0x37, 0x40, 0x3C, 0xF3, 0x83, 0x38, 0x0B, 0x04, 0x39,
|
||||
0x03, 0x18, 0x32, 0x01, 0x20, 0x32, 0xF1, 0x21, 0x34, 0x01, 0x46, 0x34,
|
||||
0x03, 0x84, 0x38, 0x7B, 0x88, 0x38, 0x93, 0x88, 0x38, 0x17, 0x89, 0x3C,
|
||||
0x07, 0x89, 0x3F, 0xCF, 0x89, 0x3D, 0x9F, 0x49, 0x3C, 0x7F, 0x00, 0x3F,
|
||||
0xFF, 0xE3, 0x3F, 0xFF, 0xFF, 0x3F},
|
||||
{0xFF, 0xF3, 0x3F, 0xFF, 0xE1, 0x3F, 0xCF, 0xE1, 0x3C, 0x87, 0x61, 0x38, // SHUTDOWN: 26
|
||||
{0xFF, 0xF3, 0x3F, 0xFF, 0xE1, 0x3F, 0xCF, 0xE1, 0x3C, 0x87, 0x61, 0x38, // SHUTDOWN: 25
|
||||
0xC3, 0xE1, 0x30, 0xE1, 0xE1, 0x21, 0xF1, 0xE1, 0x23, 0xF1, 0xE1, 0x23,
|
||||
0xF8, 0xE1, 0x07, 0xF8, 0xE1, 0x07, 0xF8, 0xE1, 0x07, 0xF8, 0xF3, 0x07,
|
||||
0xF8, 0xFF, 0x07, 0xF9, 0xFF, 0x27, 0xF1, 0xFF, 0x23, 0xF1, 0xFF, 0x23,
|
||||
0xE1, 0xFF, 0x21, 0xC3, 0xFF, 0x30, 0x07, 0x3F, 0x38, 0x0F, 0x00, 0x3C,
|
||||
0x1F, 0x00, 0x3E, 0xFF, 0xC1, 0x3F},
|
||||
{0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F, 0xFF, 0xF3, 0x3F, 0xFF, 0xE1, 0x3F, // BEACON_LIST: 27
|
||||
{0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F, 0xFF, 0xF3, 0x3F, 0xFF, 0xE1, 0x3F, // BEACON_LIST: 26
|
||||
0xFF, 0xDE, 0x3F, 0x1F, 0x12, 0x3E, 0xEF, 0xF3, 0x3D, 0xE7, 0xF3, 0x39,
|
||||
0x37, 0x1E, 0x3B, 0x37, 0x1E, 0x3B, 0xEF, 0xF3, 0x3D, 0xEF, 0xF3, 0x3D,
|
||||
0x37, 0x1E, 0x3B, 0x37, 0x1E, 0x3B, 0xE7, 0xF3, 0x39, 0xEF, 0xF3, 0x3D,
|
||||
0x1F, 0x12, 0x3E, 0xFF, 0xDE, 0x3F, 0xFF, 0xE1, 0x3F, 0xFF, 0xF3, 0x3F,
|
||||
0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F},
|
||||
{0xFF, 0xFF, 0x3F, 0x77, 0x77, 0x37, 0x2B, 0xAB, 0x32, 0x6B, 0xAB, 0x36, // GENERATE: 28
|
||||
{0xFF, 0xFF, 0x3F, 0x77, 0x77, 0x37, 0x2B, 0xAB, 0x32, 0x6B, 0xAB, 0x36, // GENERATE: 27
|
||||
0x6B, 0xAB, 0x36, 0x6B, 0xAB, 0x36, 0x77, 0x77, 0x37, 0xFF, 0xFF, 0x3F,
|
||||
0x77, 0x77, 0x37, 0xB3, 0x2A, 0x2B, 0xB7, 0x6A, 0x2B, 0xB7, 0x6A, 0x2B,
|
||||
0xB7, 0x6A, 0x2B, 0x77, 0x77, 0x37, 0xFF, 0xFF, 0x3F, 0x77, 0x77, 0x37,
|
||||
0x33, 0x2B, 0x33, 0x77, 0x6B, 0x37, 0x77, 0x6B, 0x37, 0x77, 0x6B, 0x37,
|
||||
0x77, 0x77, 0x37, 0xFF, 0xFF, 0x3F},
|
||||
{0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F, 0x1F, 0x00, 0x3E, // CLEAR_ICO: 29
|
||||
{0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F, 0x1F, 0x00, 0x3E, // CLEAR_ICO: 28
|
||||
0xEF, 0xFF, 0x3D, 0xEF, 0xFF, 0x3D, 0x1F, 0x1E, 0x3E, 0xFF, 0xE1, 0x3F,
|
||||
0x7F, 0x9E, 0x3F, 0xFF, 0xED, 0x3F, 0x07, 0x00, 0x38, 0x0B, 0x00, 0x34,
|
||||
0xE3, 0xDE, 0x31, 0xEB, 0xDE, 0x35, 0xA5, 0x52, 0x29, 0x0D, 0x00, 0x2C,
|
||||
0xFD, 0xFF, 0x2F, 0xF3, 0xFF, 0x33, 0x0F, 0x1E, 0x3C, 0xF3, 0xE1, 0x33,
|
||||
0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F},
|
||||
{0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3C, 0xFF, 0xFF, 0x3E, 0xFF, 0x7F, 0x3E, // KEYBOARD_ICO: 30
|
||||
{0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3C, 0xFF, 0xFF, 0x3E, 0xFF, 0x7F, 0x3E, // KEYBOARD_ICO: 29
|
||||
0xFF, 0x0F, 0x3F, 0xFF, 0xE7, 0x3F, 0xFF, 0xF3, 0x3F, 0x00, 0x00, 0x00,
|
||||
0xFE, 0xFF, 0x1F, 0x92, 0x92, 0x12, 0x92, 0x92, 0x12, 0xFE, 0xFF, 0x1F,
|
||||
0x22, 0x29, 0x11, 0x22, 0x29, 0x11, 0xFE, 0xFF, 0x1F, 0x92, 0x40, 0x12,
|
||||
0x92, 0x40, 0x12, 0xFE, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x3F,
|
||||
0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F},
|
||||
{0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F, 0xFF, 0xC0, 0x3F, // JOIN_WIFI: 31
|
||||
{0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F, 0xFF, 0xC0, 0x3F, // JOIN_WIFI: 30
|
||||
0x3F, 0x00, 0x3F, 0x1F, 0x00, 0x3E, 0x03, 0x00, 0x30, 0x01, 0xF0, 0x2F,
|
||||
0x54, 0x12, 0x1A, 0x54, 0xD0, 0x1F, 0x7C, 0xD2, 0x1B, 0x7C, 0x12, 0x1B,
|
||||
0x38, 0xD2, 0x1B, 0x28, 0xD0, 0x1B, 0x01, 0xF8, 0x2F, 0x03, 0x00, 0x30,
|
||||
0x1F, 0x00, 0x3E, 0x3F, 0x00, 0x3F, 0xFF, 0xC0, 0x3F, 0xFF, 0xFF, 0x3F,
|
||||
0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F},
|
||||
{0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F, 0x1F, 0x00, 0x3C, 0xDF, 0xFF, 0x3D, // ESP_UPDATE_ICO: 32
|
||||
0x5F, 0x10, 0x3D, 0x5F, 0x55, 0x3D, 0x5F, 0x45, 0x3D, 0xDF, 0xFF, 0x3D,
|
||||
0x7F, 0x00, 0x3F, 0x5F, 0x7F, 0x3D, 0x7F, 0x71, 0x3F, 0x5F, 0x77, 0x3D,
|
||||
0x7F, 0x7F, 0x3F, 0x5F, 0x71, 0x3D, 0x7F, 0x75, 0x3F, 0x5F, 0x7F, 0x3D,
|
||||
0x7F, 0x7F, 0x3F, 0x5F, 0x00, 0x3D, 0xFF, 0xFF, 0x3F, 0x5F, 0x55, 0x3D,
|
||||
0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F},
|
||||
{0xFF, 0xFF, 0x3F, 0xFF, 0xF3, 0x3F, 0xFF, 0xF3, 0x3F, 0xFF, 0xF3, 0x3F, // BAD_USB_ICO: 33
|
||||
0xFF, 0xF3, 0x3F, 0xFF, 0x13, 0x3F, 0x7F, 0x13, 0x3F, 0x3F, 0x92, 0x3F,
|
||||
0x3F, 0xB2, 0x3F, 0x7F, 0x93, 0x3F, 0x7F, 0xD3, 0x3F, 0x7F, 0xE3, 0x3F,
|
||||
0x7F, 0xF2, 0x3F, 0xFF, 0xF0, 0x3F, 0xFF, 0xF1, 0x3F, 0xFF, 0xF3, 0x3F,
|
||||
0xFF, 0xF3, 0x3F, 0xFF, 0xF3, 0x3F, 0xFF, 0xE1, 0x3F, 0xFF, 0xE1, 0x3F,
|
||||
0xFF, 0xE1, 0x3F, 0xFF, 0xF3, 0x3F},
|
||||
{0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F, // TEST_BAD_USB_ICO: 34
|
||||
0xFF, 0xFF, 0x3F, 0xFF, 0xC1, 0x33, 0xFF, 0xBE, 0x3B, 0x7F, 0xFF, 0x3D,
|
||||
0xBF, 0xFF, 0x3C, 0xDF, 0x7F, 0x3C, 0xDF, 0x3F, 0x3D, 0xEF, 0x9F, 0x3D,
|
||||
0x1F, 0xCE, 0x3D, 0xDF, 0xE4, 0x3D, 0xBF, 0xF1, 0x3E, 0x7F, 0x7F, 0x3F,
|
||||
0xFF, 0xBE, 0x3F, 0xFF, 0xC1, 0x3F, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F,
|
||||
0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F},
|
||||
{0x7F, 0xFE,0xFF, 0x7F, 0xFC, 0xFF, 0xFF, 0xF8, 0xFF, 0x00, 0x00, 0xF8, // LANGUAGE: 35
|
||||
0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F},
|
||||
{0x7F, 0xFE,0xFF, 0x7F, 0xFC, 0xFF, 0xFF, 0xF8, 0xFF, 0x00, 0x00, 0xF8, // LANGUAGE: 31
|
||||
0x00, 0x00, 0xF8, 0xCF, 0x3F, 0xFF, 0xCF, 0x3F ,0xFF, 0x9F, 0x9F, 0xFF,
|
||||
0x9F, 0x8F, 0xFF, 0x3F, 0xC7, 0xFF, 0x3F, 0xE2, 0xFF, 0xFF, 0xF0, 0xFF,
|
||||
0x7F, 0xF8, 0xFF, 0x1F, 0xF2, 0xFE, 0x87, 0x67, 0xFD, 0xE0, 0x4F, 0xFD,
|
||||
0xF9, 0xBF, 0xFB, 0xFF, 0xBF, 0xFB, 0xFF, 0x3F, 0xF8, 0xFF, 0xDF, 0xF7,
|
||||
0xFF, 0xDF, 0xF7, 0xFF, 0xDF, 0xF7},
|
||||
{0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xF5, 0xEF, 0xEE, 0x57, 0xF7, 0x2F, 0xFA, // GPS: 36
|
||||
{0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xF5, 0xEF, 0xEE, 0x57, 0xF7, 0x2F, 0xFA, // GPS: 32
|
||||
0x1F, 0xFC, 0x0F, 0xDE, 0x17, 0xD5, 0xBB, 0xD6, 0xDD, 0xDB, 0xEB, 0xEC,
|
||||
0xF7, 0xF7, 0x7F, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF}
|
||||
0xF7, 0xF7, 0x7F, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF},
|
||||
{0xFF, 0xFF, 0x3F, 0xFF, 0xBF, 0x3F, 0xFF, 0x5F, 0x3F, 0xFF, 0xEF, 0x3E, // GPS MENU: 33
|
||||
0xFF, 0xF7, 0x3D, 0xBF, 0xFA, 0x3E, 0x5F, 0x7C, 0x3F, 0x3F, 0xB8, 0x3F,
|
||||
0x1F, 0xD0, 0x3F, 0x3F, 0xE0, 0x3F, 0x5F, 0xF0, 0x3F, 0xEF, 0xE8, 0x3F,
|
||||
0xF7, 0xE5, 0x3B, 0xFB, 0xDE, 0x3A, 0x7D, 0xFF, 0x3A, 0xBB, 0x7F, 0x3B,
|
||||
0xD7, 0x9F, 0x3D, 0xEF, 0xFF, 0x3E, 0xFF, 0x0F, 0x3F, 0xFF, 0xFF, 0x3F,
|
||||
0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F}
|
||||
};
|
||||
|
||||
#ifndef MARAUDER_MINI
|
||||
|
||||
@@ -27,6 +27,51 @@ void GpsInterface::begin() {
|
||||
}
|
||||
}
|
||||
|
||||
// Thanks JosephHewitt
|
||||
String GpsInterface::dt_string_from_gps(){
|
||||
//Return a datetime String using GPS data only.
|
||||
String datetime = "";
|
||||
if (nmea.isValid() && nmea.getYear() > 0){
|
||||
datetime += nmea.getYear();
|
||||
datetime += "-";
|
||||
datetime += nmea.getMonth();
|
||||
datetime += "-";
|
||||
datetime += nmea.getDay();
|
||||
datetime += " ";
|
||||
datetime += nmea.getHour();
|
||||
datetime += ":";
|
||||
datetime += nmea.getMinute();
|
||||
datetime += ":";
|
||||
datetime += nmea.getSecond();
|
||||
}
|
||||
return datetime;
|
||||
}
|
||||
|
||||
void GpsInterface::setGPSInfo() {
|
||||
this->good_fix = nmea.isValid();
|
||||
this->num_sats = nmea.getNumSatellites();
|
||||
|
||||
this->gps_year = nmea.getYear();
|
||||
this->gps_month = nmea.getMonth();
|
||||
this->gps_day = nmea.getDay();
|
||||
this->gps_hour = nmea.getHour();
|
||||
this->gps_minute = nmea.getMinute();
|
||||
this->gps_second = nmea.getSecond();
|
||||
this->gps_hundredths = nmea.getHundredths();
|
||||
|
||||
this->datetime = this->dt_string_from_gps();
|
||||
|
||||
this->lat = String((float)nmea.getLatitude()/1000000, 7);
|
||||
this->lon = String((float)nmea.getLongitude()/1000000, 7);
|
||||
long alt = 0;
|
||||
if (!nmea.getAltitude(alt)){
|
||||
alt = 0;
|
||||
}
|
||||
this->altf = (float)alt / 1000;
|
||||
|
||||
//nmea.clear();
|
||||
}
|
||||
|
||||
void GpsInterface::showGPSInfo() {
|
||||
Serial.print("Valid fix: ");
|
||||
Serial.println(nmea.isValid() ? "yes" : "no");
|
||||
@@ -104,15 +149,17 @@ void GpsInterface::main() {
|
||||
uint8_t num_sat = nmea.getNumSatellites();
|
||||
|
||||
if ((nmea.isValid()) && (num_sat > 0)) {
|
||||
this->good_fix = true;
|
||||
this->num_sats = nmea.getNumSatellites();
|
||||
//this->good_fix = true;
|
||||
//this->num_sats = nmea.getNumSatellites();
|
||||
this->setGPSInfo();
|
||||
//Serial.print("Got fix: ");
|
||||
//Serial.println(num_sats);
|
||||
//this->showGPSInfo();
|
||||
}
|
||||
else if ((!nmea.isValid()) && (num_sat <= 0)) {
|
||||
this->good_fix = false;
|
||||
this->num_sats = nmea.getNumSatellites();
|
||||
//this->good_fix = false;
|
||||
//this->num_sats = nmea.getNumSatellites();
|
||||
this->setGPSInfo();
|
||||
//Serial.println("No fix");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,12 +15,27 @@ class GpsInterface {
|
||||
bool getGpsModuleStatus();
|
||||
|
||||
private:
|
||||
// GPS Info
|
||||
String lat = "";
|
||||
String lon = "";
|
||||
float altf = 0.0;
|
||||
uint8_t gps_year = 0;
|
||||
uint8_t gps_month = 0;
|
||||
uint8_t gps_day = 0;
|
||||
uint8_t gps_hour = 0;
|
||||
uint8_t gps_minute = 0;
|
||||
uint8_t gps_second = 0;
|
||||
uint8_t gps_hundredths = 0;
|
||||
String datetime = "";
|
||||
|
||||
bool gps_enabled = false;
|
||||
bool good_fix = false;
|
||||
uint8_t num_sats = 0;
|
||||
//MicroNMEA nmea(nmeaBuffer, sizeof(nmeaBuffer));
|
||||
|
||||
String dt_string_from_gps();
|
||||
void showGPSInfo();
|
||||
void setGPSInfo();
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -1516,6 +1516,12 @@ void MenuFunctions::RunSetup()
|
||||
bluetoothMenu.list = new LinkedList<MenuNode>(); // Get list in third menu ready
|
||||
generalMenu.list = new LinkedList<MenuNode>();
|
||||
deviceMenu.list = new LinkedList<MenuNode>();
|
||||
#ifdef HAS_GPS
|
||||
if (gps_obj.getGpsModuleStatus()) {
|
||||
gpsMenu.list = new LinkedList<MenuNode>();
|
||||
gpsInfoMenu.list = new LinkedList<MenuNode>();
|
||||
}
|
||||
#endif
|
||||
|
||||
// Device menu stuff
|
||||
failedUpdateMenu.list = new LinkedList<MenuNode>();
|
||||
@@ -1568,7 +1574,10 @@ void MenuFunctions::RunSetup()
|
||||
clearSSIDsMenu.name = text_table1[28];
|
||||
clearAPsMenu.name = text_table1[29];
|
||||
wifiAPMenu.name = "Access Points";
|
||||
|
||||
#ifdef HAS_GPS
|
||||
gpsMenu.name = "GPS";
|
||||
gpsInfoMenu.name = "GPS Data";
|
||||
#endif
|
||||
|
||||
// Build Main Menu
|
||||
mainMenu.parentMenu = NULL;
|
||||
@@ -1578,6 +1587,13 @@ void MenuFunctions::RunSetup()
|
||||
addNodes(&mainMenu, text_table1[19], TFT_CYAN, NULL, BLUETOOTH, [this]() {
|
||||
changeMenu(&bluetoothMenu);
|
||||
});
|
||||
#ifdef HAS_GPS
|
||||
if (gps_obj.getGpsModuleStatus()) {
|
||||
addNodes(&mainMenu, "GPS", TFT_RED, NULL, GPS_MENU, [this]() {
|
||||
changeMenu(&gpsMenu);
|
||||
});
|
||||
}
|
||||
#endif
|
||||
//if (a32u4_obj.supported) addNodes(&mainMenu, text_table1[8], TFT_RED, NULL, BAD_USB_ICO, [this]() {
|
||||
// changeMenu(&badusbMenu);
|
||||
//});
|
||||
@@ -1591,6 +1607,25 @@ void MenuFunctions::RunSetup()
|
||||
ESP.restart();
|
||||
});
|
||||
|
||||
// GPS Menu
|
||||
#ifdef HAS_GPS
|
||||
if (gps_obj.getGpsModuleStatus()) {
|
||||
gpsMenu.parentMenu = &mainMenu;
|
||||
addNodes(&gpsMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() {
|
||||
changeMenu(gpsMenu.parentMenu);
|
||||
});
|
||||
addNodes(&gpsMenu, "GPS Data", TFT_CYAN, NULL, GPS_MENU, [this]() {
|
||||
changeMenu(&gpsInfoMenu);
|
||||
});
|
||||
|
||||
// GPS Info Menu
|
||||
gpsInfoMenu.parentMenu = &gpsMenu;
|
||||
addNodes(&gpsInfoMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() {
|
||||
changeMenu(gpsInfoMenu.parentMenu);
|
||||
});
|
||||
}
|
||||
#endif
|
||||
|
||||
// Build WiFi Menu
|
||||
wifiMenu.parentMenu = &mainMenu; // Main Menu is second menu parent
|
||||
addNodes(&wifiMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() {
|
||||
|
||||
@@ -77,18 +77,15 @@ extern Settings settings_obj;
|
||||
#define STATUS_BAT 22
|
||||
#define STATUS_SD 23
|
||||
#define PWNAGOTCHI 24
|
||||
#define ESPRESSIF 25
|
||||
#define SHUTDOWN 26
|
||||
#define BEACON_LIST 27
|
||||
#define GENERATE 28
|
||||
#define CLEAR_ICO 29
|
||||
#define KEYBOARD_ICO 30
|
||||
#define JOIN_WIFI 31
|
||||
#define ESP_UPDATE_ICO 32
|
||||
#define BAD_USB_ICO 33
|
||||
#define TEST_BAD_USB_ICO 34
|
||||
#define LANGUAGE 35
|
||||
#define STATUS_GPS 36
|
||||
#define SHUTDOWN 25
|
||||
#define BEACON_LIST 26
|
||||
#define GENERATE 27
|
||||
#define CLEAR_ICO 28
|
||||
#define KEYBOARD_ICO 29
|
||||
#define JOIN_WIFI 30
|
||||
#define LANGUAGE 31
|
||||
#define STATUS_GPS 32
|
||||
#define GPS_MENU 33
|
||||
|
||||
PROGMEM void my_disp_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p);
|
||||
PROGMEM bool my_touchpad_read(lv_indev_drv_t * indev_driver, lv_indev_data_t * data);
|
||||
@@ -179,6 +176,13 @@ class MenuFunctions
|
||||
Menu shutdownBLEMenu;
|
||||
Menu generateSSIDsMenu;
|
||||
|
||||
#ifdef HAS_GPS
|
||||
Menu gpsMenu;
|
||||
|
||||
// GPS Menu
|
||||
Menu gpsInfoMenu;
|
||||
#endif
|
||||
|
||||
static void lv_tick_handler();
|
||||
|
||||
// Menu icons
|
||||
|
||||
BIN
pictures/icons/gps_22.bmp
Normal file
BIN
pictures/icons/gps_22.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.6 KiB |
9
pictures/xbm/gps_22.xbm
Normal file
9
pictures/xbm/gps_22.xbm
Normal file
@@ -0,0 +1,9 @@
|
||||
#define 824c3668a0844210c964e12f83c144e4dy8xmxKsVnnbTEOb_width 22
|
||||
#define 824c3668a0844210c964e12f83c144e4dy8xmxKsVnnbTEOb_height 22
|
||||
static char 824c3668a0844210c964e12f83c144e4dy8xmxKsVnnbTEOb_bits[] = {
|
||||
0xFF, 0xFF, 0x3F, 0xFF, 0xBF, 0x3F, 0xFF, 0x5F, 0x3F, 0xFF, 0xEF, 0x3E,
|
||||
0xFF, 0xF7, 0x3D, 0xBF, 0xFA, 0x3E, 0x5F, 0x7C, 0x3F, 0x3F, 0xB8, 0x3F,
|
||||
0x1F, 0xD0, 0x3F, 0x3F, 0xE0, 0x3F, 0x5F, 0xF0, 0x3F, 0xEF, 0xE8, 0x3F,
|
||||
0xF7, 0xE5, 0x3B, 0xFB, 0xDE, 0x3A, 0x7D, 0xFF, 0x3A, 0xBB, 0x7F, 0x3B,
|
||||
0xD7, 0x9F, 0x3D, 0xEF, 0xFF, 0x3E, 0xFF, 0x0F, 0x3F, 0xFF, 0xFF, 0x3F,
|
||||
0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F, };
|
||||
Reference in New Issue
Block a user