mirror of
https://github.com/richonguzman/LoRa_APRS_iGate.git
synced 2026-07-15 06:11:37 +02:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 92572245cd | |||
| 152217e71c |
@@ -110,6 +110,7 @@
|
|||||||
"rememberStationTime": 30,
|
"rememberStationTime": 30,
|
||||||
"backupDigiMode": false,
|
"backupDigiMode": false,
|
||||||
"rebootMode": false,
|
"rebootMode": false,
|
||||||
"rebootModeTime": 6
|
"rebootModeTime": 6,
|
||||||
|
"startupDelay": 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+42
-13
@@ -344,6 +344,28 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-6">
|
||||||
|
<label
|
||||||
|
for="startupDelay"
|
||||||
|
class="form-label"
|
||||||
|
>Startup Delay<small>(To Allow Router/Modem to start WiFiAP before connection)</small></label
|
||||||
|
>
|
||||||
|
<div class="input-group">
|
||||||
|
<input
|
||||||
|
type="number"
|
||||||
|
name="startupDelay"
|
||||||
|
id="startupDelay"
|
||||||
|
placeholder="0"
|
||||||
|
class="form-control"
|
||||||
|
step="1"
|
||||||
|
min="0"
|
||||||
|
max="5"
|
||||||
|
/>
|
||||||
|
<span class="input-group-text"
|
||||||
|
>minutes</span
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
@@ -717,19 +739,26 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 mt-3">
|
<div class="col-12 mt-3">
|
||||||
<div class="form-check form-switch">
|
<label
|
||||||
<input
|
for="digi.beaconOnRxFreq"
|
||||||
type="checkbox"
|
class="form-label"
|
||||||
name="digi.beaconOnRxFreq"
|
>Digipeater Beacon Frequency
|
||||||
id="digi.beaconOnRxFreq"
|
<small
|
||||||
class="form-check-input"
|
>(If Rx Freq different from Tx Freq).</small
|
||||||
/>
|
></label
|
||||||
<label
|
>
|
||||||
for="digi.beaconOnRxFreq"
|
<select
|
||||||
class="form-label"
|
class="form-select form-select"
|
||||||
>Which Frequency to send Beacon: <small>(Disable: Tx Freq / Enable: Rx Freq)</small>
|
name="digi.beaconOnRxFreq"
|
||||||
</label>
|
id="digi.beaconOnRxFreq"
|
||||||
</div>
|
>
|
||||||
|
<option value="false">
|
||||||
|
Beacon on Tx Freq
|
||||||
|
</option>
|
||||||
|
<option value="true">
|
||||||
|
Beacon on Rx Freq
|
||||||
|
</option>
|
||||||
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ function loadSettings(settings) {
|
|||||||
networksContainer.appendChild(networkElement);
|
networksContainer.appendChild(networkElement);
|
||||||
networkCount++;
|
networkCount++;
|
||||||
});
|
});
|
||||||
|
document.getElementById("startupDelay").value = settings.startupDelay;
|
||||||
|
|
||||||
// APRS-IS
|
// APRS-IS
|
||||||
document.getElementById("aprs_is.active").checked = settings.aprs_is.active;
|
document.getElementById("aprs_is.active").checked = settings.aprs_is.active;
|
||||||
|
|||||||
@@ -169,6 +169,7 @@ public:
|
|||||||
bool backupDigiMode;
|
bool backupDigiMode;
|
||||||
bool rebootMode;
|
bool rebootMode;
|
||||||
int rebootModeTime;
|
int rebootModeTime;
|
||||||
|
int startupDelay;
|
||||||
String personalNote;
|
String personalNote;
|
||||||
String blacklist;
|
String blacklist;
|
||||||
std::vector<WiFi_AP> wifiAPs;
|
std::vector<WiFi_AP> wifiAPs;
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ namespace Utils {
|
|||||||
void checkRebootTime();
|
void checkRebootTime();
|
||||||
void checkSleepByLowBatteryVoltage(uint8_t mode);
|
void checkSleepByLowBatteryVoltage(uint8_t mode);
|
||||||
bool checkValidCallsign(const String& callsign);
|
bool checkValidCallsign(const String& callsign);
|
||||||
|
void startupDelay();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ ___________________________________________________________________*/
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
String versionDate = "2025-10-11";
|
String versionDate = "2025-10-12";
|
||||||
String versionNumber = "3.1.3";
|
String versionNumber = "3.1.3";
|
||||||
Configuration Config;
|
Configuration Config;
|
||||||
WiFiClient aprsIsClient;
|
WiFiClient aprsIsClient;
|
||||||
@@ -97,7 +97,6 @@ bool modemLoggedToAPRSIS = false;
|
|||||||
std::vector<ReceivedPacket> receivedPackets;
|
std::vector<ReceivedPacket> receivedPackets;
|
||||||
|
|
||||||
String firstLine, secondLine, thirdLine, fourthLine, fifthLine, sixthLine, seventhLine;
|
String firstLine, secondLine, thirdLine, fourthLine, fifthLine, sixthLine, seventhLine;
|
||||||
//#define STARTUP_DELAY 5 //min
|
|
||||||
|
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
@@ -108,12 +107,7 @@ void setup() {
|
|||||||
Utils::validateFreqs();
|
Utils::validateFreqs();
|
||||||
GPS_Utils::setup();
|
GPS_Utils::setup();
|
||||||
STATION_Utils::loadBlacklistAndManagers();
|
STATION_Utils::loadBlacklistAndManagers();
|
||||||
|
Utils::startupDelay();
|
||||||
#ifdef STARTUP_DELAY // (TEST) just to wait for WiFi init of Routers
|
|
||||||
displayShow("", " STARTUP DELAY ...", "", "", 0);
|
|
||||||
delay(STARTUP_DELAY * 60 * 1000);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
SLEEP_Utils::setup();
|
SLEEP_Utils::setup();
|
||||||
WIFI_Utils::setup();
|
WIFI_Utils::setup();
|
||||||
NTP_Utils::setup();
|
NTP_Utils::setup();
|
||||||
|
|||||||
@@ -45,6 +45,8 @@ bool Configuration::writeFile() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
data["other"]["startupDelay"] = startupDelay;
|
||||||
|
|
||||||
data["wifi"]["autoAP"]["password"] = wifiAutoAP.password;
|
data["wifi"]["autoAP"]["password"] = wifiAutoAP.password;
|
||||||
data["wifi"]["autoAP"]["timeout"] = wifiAutoAP.timeout;
|
data["wifi"]["autoAP"]["timeout"] = wifiAutoAP.timeout;
|
||||||
|
|
||||||
@@ -186,6 +188,9 @@ bool Configuration::readFile() {
|
|||||||
wifiAPs.push_back(wifiap);
|
wifiAPs.push_back(wifiap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!data["other"].containsKey("startupDelay")) needsRewrite = true;
|
||||||
|
startupDelay = data["other"]["startupDelay"] | 0;
|
||||||
|
|
||||||
if (!data["wifi"]["autoAP"].containsKey("password") ||
|
if (!data["wifi"]["autoAP"].containsKey("password") ||
|
||||||
!data["wifi"]["autoAP"].containsKey("timeout")) needsRewrite = true;
|
!data["wifi"]["autoAP"].containsKey("timeout")) needsRewrite = true;
|
||||||
wifiAutoAP.password = data["wifi"]["autoAP"]["password"] | "1234567890";
|
wifiAutoAP.password = data["wifi"]["autoAP"]["password"] | "1234567890";
|
||||||
@@ -401,6 +406,8 @@ void Configuration::setDefaultValues() {
|
|||||||
|
|
||||||
wifiAPs.push_back(wifiap);
|
wifiAPs.push_back(wifiap);
|
||||||
|
|
||||||
|
startupDelay = 0;
|
||||||
|
|
||||||
wifiAutoAP.password = "1234567890";
|
wifiAutoAP.password = "1234567890";
|
||||||
wifiAutoAP.timeout = 10;
|
wifiAutoAP.timeout = 10;
|
||||||
|
|
||||||
|
|||||||
@@ -436,4 +436,11 @@ namespace Utils {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void startupDelay() {
|
||||||
|
if (Config.startupDelay > 0) {
|
||||||
|
displayShow("", " STARTUP DELAY ...", "", "", 0);
|
||||||
|
delay(Config.startupDelay * 60 * 1000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -157,6 +157,8 @@ namespace WEB_Utils {
|
|||||||
Config.wifiAPs.push_back(wifiap);
|
Config.wifiAPs.push_back(wifiap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Config.startupDelay = getParamIntSafe("startupDelay", Config.startupDelay);
|
||||||
|
|
||||||
Config.callsign = getParamStringSafe("callsign", Config.callsign);
|
Config.callsign = getParamStringSafe("callsign", Config.callsign);
|
||||||
|
|
||||||
Config.wifiAutoAP.password = getParamStringSafe("wifi.autoAP.password", Config.wifiAutoAP.password);
|
Config.wifiAutoAP.password = getParamStringSafe("wifi.autoAP.password", Config.wifiAutoAP.password);
|
||||||
|
|||||||
Reference in New Issue
Block a user