WIDE fix when not present
This commit is contained in:
parent
6ee86f7557
commit
b3441ece02
|
|
@ -60,19 +60,19 @@ namespace GPS_Utils {
|
||||||
}
|
}
|
||||||
String beaconPacket = Config.callsign;
|
String beaconPacket = Config.callsign;
|
||||||
beaconPacket += ">APLRG1";
|
beaconPacket += ">APLRG1";
|
||||||
if (Config.beacon.path != "") {
|
if (Config.beacon.path.indexOf("WIDE") == 0) {
|
||||||
beaconPacket += ",";
|
beaconPacket += ",";
|
||||||
beaconPacket += Config.beacon.path;
|
beaconPacket += Config.beacon.path;
|
||||||
}
|
}
|
||||||
String encodedGPS = encodeGPS(Config.beacon.latitude, Config.beacon.longitude, Config.beacon.overlay, Config.beacon.symbol);
|
|
||||||
|
|
||||||
iGateBeaconPacket = beaconPacket;
|
|
||||||
iGateBeaconPacket += ",qAC:!";
|
|
||||||
iGateBeaconPacket += encodedGPS;
|
|
||||||
|
|
||||||
iGateLoRaBeaconPacket = beaconPacket;
|
iGateBeaconPacket = beaconPacket;
|
||||||
iGateLoRaBeaconPacket += ":!";
|
iGateBeaconPacket += ",qAC:!";
|
||||||
iGateLoRaBeaconPacket += encodedGPS;
|
iGateLoRaBeaconPacket = beaconPacket;
|
||||||
|
iGateLoRaBeaconPacket += ":!";
|
||||||
|
|
||||||
|
String encodedGPS = encodeGPS(Config.beacon.latitude, Config.beacon.longitude, Config.beacon.overlay, Config.beacon.symbol);
|
||||||
|
iGateBeaconPacket += encodedGPS;
|
||||||
|
iGateLoRaBeaconPacket += encodedGPS;
|
||||||
}
|
}
|
||||||
|
|
||||||
double calculateDistanceTo(double latitude, double longitude) {
|
double calculateDistanceTo(double latitude, double longitude) {
|
||||||
|
|
|
||||||
|
|
@ -46,9 +46,11 @@ namespace Utils {
|
||||||
|
|
||||||
void processStatus() {
|
void processStatus() {
|
||||||
String status = Config.callsign;
|
String status = Config.callsign;
|
||||||
status.concat(">APLRG1,");
|
status.concat(">APLRG1");
|
||||||
status.concat(Config.beacon.path);
|
if (Config.beacon.path.indexOf("WIDE") == 0) {
|
||||||
|
status.concat(",");
|
||||||
|
status.concat(Config.beacon.path);
|
||||||
|
}
|
||||||
if (WiFi.status() == WL_CONNECTED && Config.aprs_is.active && Config.beacon.sendViaAPRSIS) {
|
if (WiFi.status() == WL_CONNECTED && Config.aprs_is.active && Config.beacon.sendViaAPRSIS) {
|
||||||
delay(1000);
|
delay(1000);
|
||||||
status.concat(",qAC:>https://github.com/richonguzman/LoRa_APRS_iGate ");
|
status.concat(",qAC:>https://github.com/richonguzman/LoRa_APRS_iGate ");
|
||||||
|
|
@ -326,9 +328,7 @@ namespace Utils {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool checkValidCallsign(const String& callsign) {
|
bool checkValidCallsign(const String& callsign) {
|
||||||
if (callsign == "WLNK-1") {
|
if (callsign == "WLNK-1") return true;
|
||||||
return true;
|
|
||||||
}
|
|
||||||
String cleanCallsign;
|
String cleanCallsign;
|
||||||
if (callsign.indexOf("-")) {
|
if (callsign.indexOf("-")) {
|
||||||
cleanCallsign = callsign.substring(0, callsign.indexOf("-"));
|
cleanCallsign = callsign.substring(0, callsign.indexOf("-"));
|
||||||
|
|
@ -351,16 +351,10 @@ namespace Utils {
|
||||||
if (cleanCallsign.indexOf("S5") == 0 || cleanCallsign.indexOf("E7") == 0 || cleanCallsign.indexOf("Z3") == 0) {
|
if (cleanCallsign.indexOf("S5") == 0 || cleanCallsign.indexOf("E7") == 0 || cleanCallsign.indexOf("Z3") == 0) {
|
||||||
if (!isDigit(cleanCallsign[2]) && !isAlpha(cleanCallsign[3])) return false;
|
if (!isDigit(cleanCallsign[2]) && !isAlpha(cleanCallsign[3])) return false;
|
||||||
} else {
|
} else {
|
||||||
if (!isAlphaNumeric(cleanCallsign[1]) || !isDigit(cleanCallsign[2]) || !isAlpha(cleanCallsign[3])) {
|
if (!isAlphaNumeric(cleanCallsign[1]) || !isDigit(cleanCallsign[2]) || !isAlpha(cleanCallsign[3])) return false;
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (cleanCallsign.length() == 5 && !isAlpha(cleanCallsign[4])) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (cleanCallsign.length() == 6 && (!isAlpha(cleanCallsign[4]) || !isAlpha(cleanCallsign[5]))) {
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
if (cleanCallsign.length() == 5 && !isAlpha(cleanCallsign[4])) return false;
|
||||||
|
if (cleanCallsign.length() == 6 && (!isAlpha(cleanCallsign[4]) || !isAlpha(cleanCallsign[5]))) return false;
|
||||||
/* ABCDEFG - XX
|
/* ABCDEFG - XX
|
||||||
0 A = _ or alpha num
|
0 A = _ or alpha num
|
||||||
1 B = alpha (+num S5, E7, Z3)
|
1 B = alpha (+num S5, E7, Z3)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue