Add gps command

This commit is contained in:
Just Call Me Koko
2023-09-08 14:42:19 -04:00
parent 10fce15bb9
commit 7eb7ae4a0d
4 changed files with 46 additions and 5 deletions

View File

@@ -216,6 +216,7 @@ void CommandLine::runCommand(String input) {
Serial.println(HELP_LS_CMD); Serial.println(HELP_LS_CMD);
Serial.println(HELP_LED_CMD); Serial.println(HELP_LED_CMD);
Serial.println(HELP_GPS_DATA_CMD); Serial.println(HELP_GPS_DATA_CMD);
Serial.println(HELP_GPS_CMD);
// WiFi sniff/scan // WiFi sniff/scan
Serial.println(HELP_EVIL_PORTAL_CMD); Serial.println(HELP_EVIL_PORTAL_CMD);
@@ -284,6 +285,32 @@ void CommandLine::runCommand(String input) {
} }
#endif #endif
} }
else if (cmd_args.get(0) == GPS_CMD) {
#ifdef HAS_GPS
if (gps_obj.getGpsModuleStatus()) {
int get_arg = this->argSearch(&cmd_args, "-g");
if (get_arg != -1) {
String gps_info = cmd_args.get(get_arg + 1);
if (gps_info == "fix")
Serial.println("Fix: " + gps_obj.getFixStatusAsString());
else if (gps_info == "sat")
Serial.println("Sats: " + gps_obj.getNumSatsString());
else if (gps_info == "lat")
Serial.println("Lat: " + gps_obj.getLat());
else if (gps_info == "lon")
Serial.println("Lon: " + gps_obj.getLon());
else if (gps_info == "alt")
Serial.println("Alt: " + (String)gps_obj.getAlt());
else if (gps_info == "date")
Serial.println("Date/Time: " + gps_obj.getDatetime());
else
Serial.println("You did not provide a valid argument");
}
}
#endif
}
// LED command // LED command
else if (cmd_args.get(0) == LED_CMD) { else if (cmd_args.get(0) == LED_CMD) {
int hex_arg = this->argSearch(&cmd_args, "-s"); int hex_arg = this->argSearch(&cmd_args, "-s");
@@ -418,6 +445,8 @@ void CommandLine::runCommand(String input) {
} }
// Wardrive // Wardrive
else if (cmd_args.get(0) == WARDRIVE_CMD) { else if (cmd_args.get(0) == WARDRIVE_CMD) {
#ifdef HAS_GPS
if (gps_obj.getGpsModuleStatus()) {
Serial.println("Starting Wardrive. Stop with " + (String)STOPSCAN_CMD); Serial.println("Starting Wardrive. Stop with " + (String)STOPSCAN_CMD);
#ifdef HAS_SCREEN #ifdef HAS_SCREEN
display_obj.clearScreen(); display_obj.clearScreen();
@@ -425,6 +454,8 @@ void CommandLine::runCommand(String input) {
#endif #endif
wifi_scan_obj.StartScan(WIFI_SCAN_WAR_DRIVE, TFT_GREEN); wifi_scan_obj.StartScan(WIFI_SCAN_WAR_DRIVE, TFT_GREEN);
} }
#endif
}
// AP Scan // AP Scan
else if (cmd_args.get(0) == EVIL_PORTAL_CMD) { else if (cmd_args.get(0) == EVIL_PORTAL_CMD) {
int cmd_sw = this->argSearch(&cmd_args, "-c"); int cmd_sw = this->argSearch(&cmd_args, "-c");

View File

@@ -46,6 +46,7 @@ const char PROGMEM SETTINGS_CMD[] = "settings";
const char PROGMEM LS_CMD[] = "ls"; const char PROGMEM LS_CMD[] = "ls";
const char PROGMEM LED_CMD[] = "led"; const char PROGMEM LED_CMD[] = "led";
const char PROGMEM GPS_DATA_CMD[] = "gpsdata"; const char PROGMEM GPS_DATA_CMD[] = "gpsdata";
const char PROGMEM GPS_CMD[] = "gps";
// WiFi sniff/scan // WiFi sniff/scan
const char PROGMEM EVIL_PORTAL_CMD[] = "evilportal"; const char PROGMEM EVIL_PORTAL_CMD[] = "evilportal";
@@ -90,6 +91,7 @@ const char PROGMEM HELP_SETTINGS_CMD[] = "settings [-s <setting> enable/disable>
const char PROGMEM HELP_LS_CMD[] = "ls <directory>"; const char PROGMEM HELP_LS_CMD[] = "ls <directory>";
const char PROGMEM HELP_LED_CMD[] = "led -s <hex color>/-p <rainbow>"; const char PROGMEM HELP_LED_CMD[] = "led -s <hex color>/-p <rainbow>";
const char PROGMEM HELP_GPS_DATA_CMD[] = "gpsdata"; const char PROGMEM HELP_GPS_DATA_CMD[] = "gpsdata";
const char PROGMEM HELP_GPS_CMD[] = "gps [-g] <fix/sat/lon/lat/alt/date>";
// WiFi sniff/scan // WiFi sniff/scan
const char PROGMEM HELP_EVIL_PORTAL_CMD[] = "evilportal [-c start]"; const char PROGMEM HELP_EVIL_PORTAL_CMD[] = "evilportal [-c start]";

View File

@@ -94,6 +94,13 @@ bool GpsInterface::getFixStatus() {
return this->good_fix; return this->good_fix;
} }
String GpsInterface::getFixStatusAsString() {
if (this->getFixStatus())
return "Yes";
else
return "No";
}
bool GpsInterface::getGpsModuleStatus() { bool GpsInterface::getGpsModuleStatus() {
return this->gps_enabled; return this->gps_enabled;
} }

View File

@@ -12,6 +12,7 @@ class GpsInterface {
String getNumSatsString(); String getNumSatsString();
bool getFixStatus(); bool getFixStatus();
String getFixStatusAsString();
bool getGpsModuleStatus(); bool getGpsModuleStatus();
String getLat(); String getLat();
String getLon(); String getLon();