testing LowPowerDigi
This commit is contained in:
parent
16215f9e56
commit
f387e03b53
|
|
@ -2,7 +2,6 @@
|
|||
"callsign": "NOCALL-10",
|
||||
"wifi": {
|
||||
"autoAP": {
|
||||
"active": true,
|
||||
"password": "1234567890",
|
||||
"timeout": 10
|
||||
},
|
||||
|
|
@ -29,7 +28,8 @@
|
|||
"objectsToRF": false
|
||||
},
|
||||
"digi": {
|
||||
"mode": 0
|
||||
"mode": 0,
|
||||
"ecoMode": false
|
||||
},
|
||||
"lora": {
|
||||
"txFreq": 433775000,
|
||||
|
|
|
|||
|
|
@ -585,6 +585,21 @@
|
|||
</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<div class="form-check form-switch">
|
||||
<input
|
||||
type="checkbox"
|
||||
name="digi.ecoMode"
|
||||
id="digi.ecoMode"
|
||||
class="form-check-input"
|
||||
/>
|
||||
<label
|
||||
for="digi.ecoMode"
|
||||
class="form-label"
|
||||
>Digi - Eco Mode<small> This will Kill WiFi, Display, Leds and Low Processor Speed for Low Current Digirepeater. (<strong>Caution:</strong> Not Active means No WebUI Configuration, so <strong>ONLY</strong> activate for Remote Digirepeater)</small></label
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1465,21 +1480,6 @@
|
|||
</div>
|
||||
<div class="col-lg-9 col-sm-12">
|
||||
<div class="col-12">
|
||||
<div class="form-check form-switch">
|
||||
<input
|
||||
type="checkbox"
|
||||
name="wifi.autoAP.active"
|
||||
id="wifi.autoAP.active"
|
||||
class="form-check-input"
|
||||
/>
|
||||
<label
|
||||
for="wifi.autoAP.active"
|
||||
class="form-label"
|
||||
>WiFi Active<small> (Leave it Active for WiFi and WiFiAP normal use. <strong>Caution:</strong> Not Active means No WebUI Configuration, so <strong>ONLY</strong> deactivate it on Remote Digirepeater Mode)</small></label
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 mt-3">
|
||||
<label
|
||||
for="wifi.autoAP.password"
|
||||
class="form-label"
|
||||
|
|
|
|||
|
|
@ -136,6 +136,7 @@ function loadSettings(settings) {
|
|||
|
||||
// Digi
|
||||
document.getElementById("digi.mode").value = settings.digi.mode;
|
||||
document.getElementById("digi.ecoMode").checked = settings.digi.ecoMode;
|
||||
|
||||
// LoRa
|
||||
document.getElementById("lora.txFreq").value = settings.lora.txFreq;
|
||||
|
|
@ -195,7 +196,6 @@ function loadSettings(settings) {
|
|||
document.getElementById("other.rebootModeTime").value = settings.other.rebootModeTime;
|
||||
|
||||
// WiFi Auto AP
|
||||
document.getElementById("wifi.autoAP.active").checked = settings.wifi.autoAP.active;
|
||||
document.getElementById("wifi.autoAP.password").value = settings.wifi.autoAP.password;
|
||||
document.getElementById("wifi.autoAP.timeout").value = settings.wifi.autoAP.timeout;
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ ________________________________________________________________________________
|
|||
#include "A7670_utils.h"
|
||||
#endif
|
||||
|
||||
String versionDate = "2024.10.07";
|
||||
String versionDate = "2024.10.08";
|
||||
Configuration Config;
|
||||
WiFiClient espClient;
|
||||
|
||||
|
|
@ -111,6 +111,7 @@ void setup() {
|
|||
Config.loramodule.rxActive = false;
|
||||
}
|
||||
#endif
|
||||
DIGI_Utils::checkEcoMode();
|
||||
WIFI_Utils::setup();
|
||||
SYSLOG_Utils::setup();
|
||||
WX_Utils::setup();
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ namespace APRS_IS_Utils {
|
|||
if (WiFi.status() == WL_CONNECTED) {
|
||||
wifiState = "OK";
|
||||
} else {
|
||||
if (backUpDigiMode || !Config.wifiAutoAP.active) {
|
||||
if (backUpDigiMode || Config.digi.ecoMode) {
|
||||
wifiState = "--";
|
||||
} else {
|
||||
wifiState = "AP";
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ void Configuration::writeFile() {
|
|||
}
|
||||
}
|
||||
|
||||
data["wifi"]["autoAP"]["active"] = wifiAutoAP.active;
|
||||
data["wifi"]["autoAP"]["password"] = wifiAutoAP.password;
|
||||
data["wifi"]["autoAP"]["timeout"] = wifiAutoAP.timeout;
|
||||
|
||||
|
|
@ -42,6 +41,7 @@ void Configuration::writeFile() {
|
|||
data["beacon"]["path"] = beacon.path;
|
||||
|
||||
data["digi"]["mode"] = digi.mode;
|
||||
data["digi"]["ecoMode"] = digi.ecoMode;
|
||||
|
||||
data["lora"]["rxFreq"] = loramodule.rxFreq;
|
||||
data["lora"]["txFreq"] = loramodule.txFreq;
|
||||
|
|
@ -129,7 +129,6 @@ bool Configuration::readFile() {
|
|||
wifiAPs.push_back(wifiap);
|
||||
}
|
||||
|
||||
wifiAutoAP.active = data["wifi"]["autoAP"]["active"] | true;
|
||||
wifiAutoAP.password = data["wifi"]["autoAP"]["password"] | "1234567890";
|
||||
wifiAutoAP.timeout = data["wifi"]["autoAP"]["timeout"] | 10;
|
||||
|
||||
|
|
@ -155,6 +154,7 @@ bool Configuration::readFile() {
|
|||
aprs_is.objectsToRF = data["aprs_is"]["objectsToRF"] | false;
|
||||
|
||||
digi.mode = data["digi"]["mode"] | 0;
|
||||
digi.ecoMode = data["digi"]["ecoMode"] | false;
|
||||
|
||||
loramodule.txFreq = data["lora"]["txFreq"] | 433775000;
|
||||
loramodule.rxFreq = data["lora"]["rxFreq"] | 433775000;
|
||||
|
|
@ -235,7 +235,6 @@ void Configuration::init() {
|
|||
|
||||
wifiAPs.push_back(wifiap);
|
||||
|
||||
wifiAutoAP.active = true;
|
||||
wifiAutoAP.password = "1234567890";
|
||||
wifiAutoAP.timeout = 10;
|
||||
|
||||
|
|
@ -251,7 +250,8 @@ void Configuration::init() {
|
|||
beacon.sendViaRF = false;
|
||||
beacon.path = "WIDE1-1";
|
||||
|
||||
digi.mode = 0;
|
||||
digi.mode = 0;
|
||||
digi.ecoMode = false;
|
||||
|
||||
tnc.enableServer = false;
|
||||
tnc.enableSerial = false;
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ public:
|
|||
|
||||
class WiFi_Auto_AP {
|
||||
public:
|
||||
bool active;
|
||||
String password;
|
||||
int timeout;
|
||||
};
|
||||
|
|
@ -45,6 +44,7 @@ public:
|
|||
class DIGI {
|
||||
public:
|
||||
int mode;
|
||||
bool ecoMode;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -164,4 +164,12 @@ namespace DIGI_Utils {
|
|||
}
|
||||
}
|
||||
|
||||
void checkEcoMode() {
|
||||
if (Config.digi.ecoMode) {
|
||||
Config.display.alwaysOn = false;
|
||||
Config.display.timeout = 0;
|
||||
setCpuFrequencyMhz(10);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -9,6 +9,7 @@ namespace DIGI_Utils {
|
|||
String buildPacket(const String& path, const String& packet, bool thirdParty, bool crossFreq);
|
||||
String generateDigiRepeatedPacket(const String& packet, bool thirdParty);
|
||||
void processLoRaPacket(const String& packet);
|
||||
void checkEcoMode();
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -116,9 +116,9 @@ namespace LoRa_Utils {
|
|||
if (Config.loramodule.txFreq != Config.loramodule.rxFreq) {
|
||||
changeFreqTx();
|
||||
}
|
||||
|
||||
|
||||
#ifdef INTERNAL_LED_PIN
|
||||
digitalWrite(INTERNAL_LED_PIN, HIGH);
|
||||
if (!Config.digi.ecoMode) digitalWrite(INTERNAL_LED_PIN, HIGH);
|
||||
#endif
|
||||
int state = radio.transmit("\x3c\xff\x01" + newPacket);
|
||||
transmitFlag = true;
|
||||
|
|
@ -133,7 +133,7 @@ namespace LoRa_Utils {
|
|||
Utils::println(String(state));
|
||||
}
|
||||
#ifdef INTERNAL_LED_PIN
|
||||
digitalWrite(INTERNAL_LED_PIN, LOW);
|
||||
if (!Config.digi.ecoMode) digitalWrite(INTERNAL_LED_PIN, LOW);
|
||||
#endif
|
||||
if (Config.loramodule.txFreq != Config.loramodule.rxFreq) {
|
||||
changeFreqRx();
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ String inputSerialBuffer = "";
|
|||
namespace TNC_Utils {
|
||||
|
||||
void setup() {
|
||||
if (Config.tnc.enableServer && Config.wifiAutoAP.active) {
|
||||
if (Config.tnc.enableServer && !Config.digi.ecoMode) {
|
||||
tncServer.stop();
|
||||
tncServer.begin();
|
||||
}
|
||||
|
|
@ -133,7 +133,7 @@ namespace TNC_Utils {
|
|||
}
|
||||
|
||||
void loop() {
|
||||
if (Config.wifiAutoAP.active) {
|
||||
if (!Config.digi.ecoMode) {
|
||||
if (Config.tnc.enableServer) {
|
||||
checkNewClients();
|
||||
readFromClients();
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ namespace Utils {
|
|||
}
|
||||
|
||||
String getLocalIP() {
|
||||
if (!Config.wifiAutoAP.active) {
|
||||
if (Config.digi.ecoMode) {
|
||||
return "** WiFi AP Killed **";
|
||||
} else if (!WiFiConnected) {
|
||||
return "IP : 192.168.4.1";
|
||||
|
|
|
|||
|
|
@ -111,7 +111,6 @@ namespace WEB_Utils {
|
|||
|
||||
Config.callsign = request->getParam("callsign", true)->value();
|
||||
|
||||
Config.wifiAutoAP.active = request->hasParam("wifi.autoAP.active", true);
|
||||
Config.wifiAutoAP.password = request->getParam("wifi.autoAP.password", true)->value();
|
||||
Config.wifiAutoAP.timeout = request->getParam("wifi.autoAP.timeout", true)->value().toInt();
|
||||
|
||||
|
|
@ -136,7 +135,8 @@ namespace WEB_Utils {
|
|||
Config.beacon.path = request->getParam("beacon.path", true)->value();
|
||||
|
||||
|
||||
Config.digi.mode = request->getParam("digi.mode", true)->value().toInt();
|
||||
Config.digi.mode = request->getParam("digi.mode", true)->value().toInt();
|
||||
Config.digi.ecoMode = request->hasParam("digi.ecoMode", true);
|
||||
|
||||
|
||||
Config.loramodule.txFreq = request->getParam("lora.txFreq", true)->value().toInt();
|
||||
|
|
@ -259,7 +259,7 @@ namespace WEB_Utils {
|
|||
}
|
||||
|
||||
void setup() {
|
||||
if (Config.wifiAutoAP.active) {
|
||||
if (!Config.digi.ecoMode) {
|
||||
server.on("/", HTTP_GET, handleHome);
|
||||
server.on("/status", HTTP_GET, handleStatus);
|
||||
server.on("/received-packets.json", HTTP_GET, handleReceivedPackets);
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ uint32_t lastBackupDigiTime = millis();
|
|||
namespace WIFI_Utils {
|
||||
|
||||
void checkWiFi() {
|
||||
if (Config.wifiAutoAP.active) {
|
||||
if (!Config.digi.ecoMode) {
|
||||
if (backUpDigiMode) {
|
||||
uint32_t WiFiCheck = millis() - lastBackupDigiTime;
|
||||
if (WiFi.status() != WL_CONNECTED && WiFiCheck >= 15 * 60 * 1000) {
|
||||
|
|
@ -153,9 +153,7 @@ namespace WIFI_Utils {
|
|||
}
|
||||
|
||||
void setup() {
|
||||
if (Config.wifiAutoAP.active) {
|
||||
startWiFi();
|
||||
}
|
||||
if (!Config.digi.ecoMode) startWiFi();
|
||||
btStop();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue